[Linux]搭建USB攝像頭轉RTSP服務一例


基於某種原因,需要將以前的攝像頭利舊做成網絡攝像頭,因此開始查資料着手搭建

環境Debian 8.6(arm)

一句話概括,用ffmpge將攝像頭/dev/video0流數據壓入ffserver,ffserver對外提供流服務

直接上操作

1.首先更新apt源,把靠譜的ffmpeg源加進去

修改/etc/apt/sources.list,添加

deb http://archive.deb-multimedia.org jessie main non-free

2.更新並安裝

apt-get install deb-multimedia-keyring
apt-get update
apt-get install ffmpeg libx264-dev

無事安裝完成

3.配置文件
(從參考網頁拷貝了一例,實際參考http://trac.ffmpeg.org/wiki/ffserver#Creatingtheconfigurationfile)

vim /etc/ffserver.conf

4.啟動服務
服務開始提供網絡輸出,接受設備輸入。直接運行

ffserver

5.將設備信號壓入服務

ffmpeg -f v4l2 -i /dev/video0 -s 352x240 -r 24 -vcodec libx264 -an http://127.0.0.1:8090/feed1.ffm

我報了2個錯,順便記錄下解決過程
a.報error: Missing Audio stream which is needed for this ffm.
解決:在對應<Stream>標簽里打開NoAudio標簽即可,因為我攝像頭不需要聲音,需要聲音的還沒研究
(https://askubuntu.com/questions/644102/ffserver-ffmpeg-missing-audio-stream-which-is-needed)


b.提示我參數有問題(原文找到貼上來),意思是我的比特率,視頻寬高設置不匹配,需要調整。
解決:檢查屏幕輸出,找到

Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 17745.741744, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 31 tbr, 1000k tbn, 1000k tbc

以及

Output #0, ffm, to 'http://127.0.0.1:8090/feed1.ffm':
Metadata:
creation_time : now
Stream #0:0: Video: mpeg1video, none, 352x240, q=2-31, 256 kb/s, 30 fps, 15 tbc
Metadata:
encoder : Lavc56.26.100 mpeg1video
Stream #0:1: Video: msmpeg4v3 (msmpeg4), none, 352x240, q=2-31, 256 kb/s, 31 fps, 15 tbc
Metadata:
encoder : Lavc56.26.100 msmpeg4
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> mpeg1video (native))
Stream #0:0 -> #0:1 (mjpeg (native) -> msmpeg4v3 (msmpeg4))

這兩塊,檢查差異,同時調整/etc/ffserver.conf里的配置項,調整Stream編碼和輸入編碼一致,我這里是mjpeg對應配置文件里的mpjpeg,改了就好了。

6.訪問
用播放工具打開http://192.168.0.x:8090/test1.mpg這個地址就可以了。

跑起來了其他的各位就慢慢研究吧。


參考0:https://www.cnblogs.com/chay/p/10553787.html
參考1:https://blog.csdn.net/gaisylly/article/details/50625214
參考2:http://www.deb-multimedia.org/
參考3:https://blog.csdn.net/zong596568821xp/article/details/88540455
參考4:https://github.com/revmischa/rtsp-server(沒用過改天用用)
參考5:https://askubuntu.com/questions/644102/ffserver-ffmpeg-missing-audio-stream-which-is-needed


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM