前言:本專案更改自韋東山老師的視頻監控專案,如果想深入了解該專案,建議去看韋老師的視頻,本人只是將其適配成正點原子的Linux板子,如有侵權,請務必告知,必刪!謝謝!
PC端與手機端通過局域網在線播放視頻監控畫面,效果如下:

硬體連接示意圖:

在手機或電腦有聯網的前提下,隨時隨地遠程監控,但由于imx6ull性能局限為了有較好的演示效果,建議在板子先運行攝影一段視頻程式,再將視頻推流到Nginx流媒體服務器,然后手機從服務器上拉流下來通過VLC播放,監控畫面如下:

注意:本文所有方案需建立在有網路的前提下,即需要WIFI模塊,本人使用正點原子旗下的SDIO WIFI模塊(8189)本人也根據原子的教程配置好相關的驅動,并就本專案需要,撰寫了建立網路連接的腳本,默認使用本人的路由,操作者在操作時應改為自己路由或熱點的WiFi名稱與密碼,更改方法請參考正點原子WiFi驅動移植教程,
視頻監控方案選擇
視頻里介紹兩種方案,
方案一:利用mjpg-streamer實作局域網內的視頻監控,
| 設計思路 | 在連接攝像頭的ARM板子上,實作一個服務器程式:它一邊讀取攝像頭資料,一邊等待客戶端連接并發送資料,在手機或電腦上,撰寫客戶端程式,它會從ARM板上獲得資料并顯示出來,前提:約定資料格式傳輸一幀幀的資料 |
| – | – |
| 現成程式 | 利用mjpg-streamer軟體,將它運行在ARM板上,在手機上使用瀏覽器直接觀看視頻 |
| – | – |
| 方案的優缺點 | 優點:程式簡單,所有原始碼一目了然,便于學習對ARM板的性能要求不高,主頻200MHz的ARM芯片也能實作,缺點:只能實作局域網內的視頻監控要實作互聯網視頻監控,需要另外實作內網穿透mjpg-streamer沒有實作聲音傳輸mjpg-streamer專案已經不再維護,僅僅建議用于學習, |
以正點原子驅動視頻教學里的內核(4.15),設備樹等為基礎,根檔案系統可選用第三期視頻用busybox制作好的,在Ubuntu上對mjpg-streamer進行交叉編譯,即配置、編譯、安裝三部曲后再將相關的庫檔案放到單板的lib檔案夾下,最后在單板上運行mjpg-streamer,在電腦或手機瀏覽器輸入http://路由器給開發板分配的IP地址:8080/?action=stream
即可觀看,也可選用buildboot制作的根檔案系統(推薦使用這個)這個根檔案系統比較完善,可降低執行命令出錯的幾率,先按照原子里的buildroot教程制作根檔案系統,再根據韋老師的視頻生成含有mjpg-streamer軟體的根檔案系統,
方案二:熱門的流媒體方案,利用ffmpeg軟體將攝像頭拍到的畫面推流到Nginx流媒體服務器,推流命令在附錄,PC端通過花生殼類軟體進行內網穿透(把開發板暴露在公網上),最后通過VLC打開網路串流輸入以下URL即可從Nginx流媒體服務器上獲取到監控的畫面,訪問地址如下圖:
URL:訪問地址/test?app=live&stream=wei
注意 由于IMX6ULL性能太弱,在VLC播放器里看到的視頻很卡,很滯后
由于mini板沒有聲卡,對于視頻里有關使用ffmpeg錄制音頻的步驟本人并無操作過,如果您手上的板子是阿爾法板可以把音頻也錄進去看一下效果,
附:
在開發板上安裝好ffmpeg后:
執行命令: ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10 my.mp4
它會把攝像頭的資料錄制為my.mp4
把my.mp4復制到PC機,播放
推流
在開發板上執行:
ffmpeg -f v4l2 -framerate 10 -i /dev/video1 -q 10 -f flv rtmp://127.0.0.1/live/wei
拉流
192.168.1.6為PPT里的開發板IP,操作時應換成自己的開發板IP
在PC上安裝VLC播放器:https://www.videolan.org/
使用RTMP協議拉流:VLC播放器中點擊“媒體”->“打開網路串流”,輸入:rtmp://192.168.1.6/live/wei ,就可以播放了
使用HTTPFLV協議拉流:VLC播放器中點擊“媒體”->“打開網路串流”,輸入: http://192.168.1.6/test?app=live&stream=wei ,就可以播放了
缺點:
IMX6ULL性能太弱,在VLC播放器里看到的視頻很卡,很滯后
改進:
我們可以上傳一個mp4檔案到開發板,把它推到Nginx: ffmpeg -re -i test.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/wei
然后再用VLC拉流看看,會發現很順暢
總結:專案不難,細節居多,命令里的IP地址一定要根據自己的開發板IP設定,ffmpeg是音視頻方向的入門,有興趣的小伙伴可以認真查閱這方面的相關資料!本文是本人做完該專案半年后整理所得,難免出現紕漏,若發現,請務必告知!謝謝!最后附上我整理好的視頻監控資料壓縮包!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/385435.html
標籤:其他
上一篇:樹莓派最新官方系統安裝Opencv(Raspberry Pi 11)
下一篇:重讀經典:《Momentum Contrast for Unsupervised Visual Representation Learning》
