在線視頻監控mjpg-streamer

Mjpg-Streamer是一個開源項目,其基本功能是從一個uvc內核攝像頭讀取內容,然后將它推送到本地的8080端口上面。就是一個本地的視頻服務器。它的項目網站在這里。

OpenWRT的軟件源中也已經對它有了移植,所以我們只需要從OpenWRT的官方網站上找到對應15.05版本OpenWRT系統的Mjpg-Streamer,然后下載安裝即可。除此之外還需要一些其他的軟件包去支持它的運行:kmod-usb-core, kmod-usb2, kmod-video-core, kmod-video-uvc, libpthread,libjpeg。前4個是linux的系統內核文件,相當于usb接口和攝像頭的驅動;后2個是庫文件,用與提供多線程和jpeg圖片格式支持。

1.添加驅動支持

要支持攝像頭,就必須配置上攝像頭的驅動,因為是免驅的USB攝像頭,因此我們必須配置上 UVC 驅動,具體如圖所示。

首先,我們選中內核模塊進行配置:

選中 Video 支持配置
按”y”選中 kmod-video-core
在展開的選項中選中 uvc

mipg-streamer 就是一款用于視頻數據采集、視頻數據格式轉換、視頻數據傳輸的軟件,服務器。因此為了讓 openwrt 系統支持該軟件,我們需要將它配置進去:

選擇Multimedia
再選擇mjpg-streamer

重新make V=99

2.啟動mjpg-streamer

2.1.使用腳本啟動

/etc/config/mjpg-streamer修改mjpg-streamer配置文件,找到里面的enabled設置,將0改為1即可。

然后記得看一下這個配置文件里面的其他內容,都是很直白的內容,注意fps,led是可以刪除的設置內容,目前不需要指定幀率和led燈的只是狀態。記住默認的帳號密碼和端口之后保存退出。

然后啟動服務:/etc/init.d/mjpg-streamer start,

以及確保OpenWRT開機自啟動/etc/init.d/mjpg-streamer enable。

2.2.手動啟動

mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 352x288 -f 30 -q 80 -y" -o "output_http.so -p 8080 -w /www/webcam"

y是表示YUV格式。如果沒有-y,默認啟動是mjpeg格式,這個就報錯。改成YUV格式
-d指定設備
-f 制訂幀數,默認30幀
-r指定視頻大小,如320×240
-q指定畫質,默認80對于輸出參數:
-p 指定端口,這里是8080
-w 指定網頁目錄,這里咱們設置的是/www/webCam目錄
-c設置通過密碼訪問

正常啟動的日志打印如下

root@OpenWrt:/dev# [   53.510000] usb 2-1: new full-speed USB device number 2 using ohci-platform
[   53.780000] usb 2-1: not running at top speed; connect to a high speed hub
[   53.820000] uvcvideo: Found UVC 1.00 device USB 2.0 Camera (090c:f37d)
[   53.870000] input: USB 2.0 Camera as /devices/101c1000.ohci/usb2/2-1/2-1:1.0/input/input0

root@OpenWrt:/dev# [   66.130000] done.
[   66.130000] jffs2: notice: (1150) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   66.600000] random: nonblocking pool is initialized
root@OpenWrt:/dev# 
root@OpenWrt:/dev# mjpg_streamer -i "input_uvc.so -d /dev/video0 -y" -o "output_
http.so -w www"
MJPG Streamer Version: svn rev: Unversioned directory
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 15
 i: Format............: YUYV
 i: JPEG Quality......: 80
 i: TV-Norm...........: DEFAULT
 i: FPS coerced ......: from 15 to 30
 i: Frame period time ......: 66 ms
 o: www-folder-path...: www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled

網頁查看

取一張圖片:http://192.168.1.1:8080?action=snapshot

在線查看視頻:http://192.168.1.1:8080?action=stream

查閱內容

【寵物遠程監控DIY】openwrt+rt5350+mjpg攝像頭
https://blog.csdn.net/kaoyangs06/article/details/51895891

RT5350無線視頻監控
https://blog.csdn.net/lqx4_3/article/details/21596463

家庭監控,網絡攝像頭(OpenWRT平臺下Mjpg-Streamer+Ngrok實現方案)
https://blog.csdn.net/u014795817/article/details/75332489

配置OpenWrt支持網絡攝像頭
https://blog.csdn.net/u013162035/article/details/78823425

源碼解析
https://wiki.openwrt.org/doc/howto/webcam
https://blog.csdn.net/zhengqijun_/article/details/72473177
https://www.cnblogs.com/wanghuaijun/p/8098460.html

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容