具體步驟如下:
1. 在當前目錄下(/home/fa)編制一個ffserver配置文件myffserver.conf文件,內容如下:
#-----------------------------myffserver.conf ------------------------
HTTPPort 8099 #綁定端口號
HTTPBindAddress 0.0.0.0 #綁定ip
MaxHTTPConnections 1000 #最大HTTP連接數
MaxClients 1000 #最大客戶端連接數
MaxBandwidth 50000 #最大帶寬
CustomLog - #日誌文件,“-”爲直接打印
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 20M
ACL allow 127.0.0.1
</Feed>
<Stream webcam.flv>
Feed feed1.ffm
Format flv
VideoFrameRate 15
VideoBufferSize 1000
VideoSize 480x320
VideoBitRate 30000
VideoGopSize 12
AVOptionVideo flags +global_header
NoAudio
</Stream>
以上參數可做調整,注意VideoSize和VideoBufferSize等會有關聯。
2. 在/home/fa/下建立一個管道文件: mkfifo -m 755 vfifo
3. 編輯一個webcam.sh腳本,內容如下:
ffserver -f /home/fa/myffserver.conf & ffmpeg -i /home/fa/vfifo "http://127.0.0.1:8099/feed1.ffm" &
ffmpeg -re -f v4l2 -i /dev/video0 -pix_fmt nv12 -c:v cedrus264 -an -f flv /home/fa/vfifo
4. 插入usb攝像頭,運行webcam.sh 即可開啓ffserver的攝像頭流服務。在VLC或ffplay等流播放軟件
中輸入 http://IP:8099/webcam.flv可以播放監控畫面.
5. 注意:1。 用vlc播放有10s左右延時. 據稱用ffplay觀看時延會小很多。
2。 啓動webcam.sh後要等一會,直到vfifio緩衝結束,feed開始的時候再連接網絡播放器,不然程序會退出。