【轉】ffserver用法小結


我們可以通過ffserver以及ffmpeg做一個簡單的視頻監控系統,ffserver用於視頻的轉發調度,ffmpeg用於轉碼
而對於ffserver最基本也是最重要的就是對它的ffserver.conf文件的配置,通常我們的配置分為兩大類,分類的依據就是帶不帶緩沖文件,不帶緩沖文件的比較簡單,我們只需指定文件的格式以及路徑信息即可,不需要配置緩沖
最簡單的配置文件如下
Port 9999
RTSPPort 9990
BindAddress 0.0.0.0
MaxClients 1000
MaxBandwidth 100000
CustomLog –
#只需要指定待播放的文件的路徑以及格式信息即可
<Stream test.flv>
    File "/tmp/test.flv"
    Format flv
</Stream>
 
執行分如下兩步:
1. 在終端里輸入ffserver –f /etc/ffserver.conf
2. 在瀏覽器里或者相關播放器地址(我用的是VLC)里輸入 http://ipAddr:port/test.flv
其中第一步是執行/etc目錄下的配置文件,不過這個目錄可以按自己需要指定,配置文件名也可以按自己需要指定。
 
對於帶有緩沖的,我們需要配置兩項,一項是Feed一項是Stream,對於帶有緩沖的,我們可以播放文件,也可以播放實時的視頻,比如攝像頭實時采集的視頻。雖然播放的視頻源不一樣,但是配置文件是一樣的,差別在於執行ffmpeg命令時的參數配置不一樣。
如下為一個簡單的配置文件:
Port 9999
RTSPPort 9990
BindAddress 0.0.0.0
MaxClients 1000
MaxBandwidth 100000
CustomLog -
 
 
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 40K
Launch ./ffmpeg -v 0 -y -f pgmyuv -i tests/vsynth1/%02d.pgm
ACL allow localhost
</Feed>
 
<Stream test.flv>
Feed feed1.ffm
Format flv
#一下指定輸出流的編碼信息
BitExact
DctFastint
IdctSimple
VideoFrameRate 2
VideoSize 320x240
VideoBitRate 64
VideoGopSize 10
NoAudio
 
PreRoll 10
StartSendOnKey
MaxTime 100
 
</Stream>
執行分如下三步:
1. 在終端里輸入ffserver –f /etc/ffserver.conf
2. a.若是文件方式則輸入ffmpeg –I filePath/filename http://ipAddr:port/test.flv
b.若是實時視頻則輸入ffmpeg -f alsa -ab 32 -i pulse -f video4linux2 -s qcif -i /dev/video0 http://<server name or ip>:8090/feed1.ffm
其中2.b中注意/dev/video0 以及video4linux2,這兩個很關鍵
 
帶有緩沖的數據流圖如下
ffserver用法小結 - yjlyp - 龍


免責聲明!

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



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