大致流程為:通過ffmpeg將usb攝像頭數據推送到ffserver服務器,終端設備通過rtsp地址訪問,達到遠程訪問的效果
2.2 安裝方法
很簡單,只需要一句指令即可
sudo apt install ffmpeg libx264-dev
2.3 修改配置文件
在終端中打開配置文件
sudo gedit /etc/ffserver.conf
然后修改為以下內容
HTTPPort 8090 #綁定端口號
HTTPBindAddress 0.0.0.0 #綁定IP
MaxHTTPConnections 2000 #最大HTTP連接數
MaxClients 1000 #最大客戶端連接數
MaxBandwidth 1000 #最大帶寬
CustomLog - #日志文件,- 為直接打印
<Feed feed1.ffm> #feed:每一個輸入都建立一個feed
File /tmp/feed1.ffm #feed緩存文件位置和名稱
FileMaxSize 10M #緩存文件最大值
ACL allow 127.0.0.1 #允許寫入feed的IP
ACL allow 192.168.0.0 192.168.255.255 #允許寫入feed的IP范圍
</Feed>
RTSPPort 8554 #rtsp端口號
RTSPBindAddress 0.0.0.0 #rtsp IP地址
<Stream live1.h264> #
Format rtp #視頻流的格式
Feed feed1.ffm #視頻流的種子來源
VideoCodec libx264 #
VideoFrameRate 24 #視頻幀率
VideoBitRate 128 #視頻比特率
VideoBufferSize 100 #視頻緩沖區大小
VideoSize 640x480 #視頻幀大小
VideoQMin 1 #
VideoQMax 31 #
NoAudio #無音頻
AVPresetVideo default
AVPresetVideo baseline
AVOptionVideo flags +global_header
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>
關於ffserver.conf的具體介紹,可參考官方給的配置文件說明,如果有多個USB攝像頭,參考feed1的寫法,再寫一個緩存文件即可
2.4 啟動ffserver服務
直接在終端運行
ffserver
2.5 轉發rtsp流
ffmpeg -f v4l2 -i /dev/video1 -s 640x480 -r 24 -vcodec libx264 -an http://127.0.0.1:8090/feed1.ffm
注意:其中/dev/video1表示USB攝像頭對應的名稱,要根據自己的設備情況對應更改
2.6 客戶端讀取
在另外一台終端設備上,如windows的電腦上,用VLC軟件,打開網絡串流,輸入如下rtsp地址,即可打開攝像頭
rtsp://192.168.xx.xx:8554/live1.h264
其中,要將上邊的IP地址改為服務器的地址