1. 程式人生 > >在樹莓派上實現usb攝像頭監控的幾種方案

在樹莓派上實現usb攝像頭監控的幾種方案

在樹莓派上使用usb攝像頭時,由於無法直接通過raspivid工具直接採集視訊流,因此很多適用於樹莓派專用攝像頭的監控方案難以實現。

使用環境:

樹莓派3B+uvc攝像頭(即常見的即插即用usb攝像頭)+Windows下VLC播放器

總結usb攝像頭採集及實現網路播放的幾種方式如下:

實現了從攝像頭採集視訊,並通過http播放,支援網頁以及vlc播放。

此開源工具實現了包括uvc,raspicam,opencv等多種採集攝像頭的工具,以及http,rtsp,udp等多種輸出方式。但作者只詳細介紹了http輸出,對於rtsp,udp為提供示例。

流暢度:最好    實現難度:小

實現了從攝像頭採集視訊,通過rtsp傳輸,用vlc開啟原始碼的video.sdp即可。

要求樹莓派與執行vlc的機器(IP:  ip2)在同一區域網,cktool命令中指定ip2,及埠port2。 更改video.sdp中ip引數改為ip2,port為port2。

流暢度:優秀    實現難度:小

ffmpeg可實現從usb攝像頭採集視訊流,ffserver實現對於其快取檔案 feed1.ffm的讀取與提供給請求端。

ffserver需先於ffmpeg啟動,其啟動檔案可參考./test/目錄下的ffserver.conf改寫,建議剛開始不更改,並在./test/目錄下啟動ffserver。

假設ffserver開啟在某主機IP為ip_server,則ffmpeg傳送的目的ip為ip_server(非本機)或localhost(本地);port為ffserver.conf中的port。

測試時使用的./test/中的執行檔案,如testOnDemand,播放方式為:協議名稱(http或rtsp)://ip_server:port/test_h.asf(或其他檔名)

vlc播放時,test_h.asf可更改為ffserver.conf中所述的類似<Stream test_l.mpg></Stream>結構中 的test_l.mpg等

每一種檔名都會對應一種讀取fee1.ffm的方式,親測test_h.asf可實現視訊播放,其他未能實現。

流暢度:差   實現難度:大

更多參考網站: