1.一、問題描述
輸入數(shù)據(jù)為來自攝像頭的RTSP視頻流,然后利用FFmpeg將其輸出到FFserver監(jiān)聽的服務(wù)(Feed)上,然后客戶端(vlc)可以播放FFserver廣播的經(jīng)過轉(zhuǎn)換后的視頻流(Streams)。
通過FFserver的配置文件來配置視頻流的轉(zhuǎn)換參數(shù)(幀大小,幀頻等)
2.二、實(shí)現(xiàn)方法
編輯FFserver配置文件,參考官網(wǎng)配置文件說明(ffserver.conf)
- Port 8090 #綁定端口號(hào)
- BindAddress 0.0.0.0 #綁定ip
- MaxHTTPConnections 2000 #最大HTTP連接數(shù)
- MaxClients 1000 #最大客戶端連接數(shù)
- MaxBandwidth 1000 #最大帶寬
- CustomLog - #日志文件,“-”為直接打印
- NoDaemon #默認(rèn)全局參數(shù)
- <Feed feed1.ffm> #Feed:每一個(gè)輸入(攝像頭)建立一個(gè)Feed
- File /tmp/feed1.ffm #Feed緩存文件
- FileMaxSize 200K #緩存文件最大值
- ACL allow 127.0.0.1 #允許寫入Feed的ip
- </Feed>
- <Stream test.flv> #Stream:每一個(gè)廣播(轉(zhuǎn)換后的視頻流)的轉(zhuǎn)碼設(shè)置項(xiàng)目
- Format flv #視頻流格式
- Feed feed1.ffm #視頻流的種子來源
- VideoFrameRate 40 #視頻幀頻
- VideoBitRate 128 #視頻比特率
- VideoSize 160x80 #視頻幀大小
- AVOptionVideo flags +global_header
- AudioBitRate 24 #音頻比特率
- AudioChannels 1 #音頻聲道
- AudioSampleRate 44100
- AVOptionAudio flags +global_header
- </Stream>
啟動(dòng)FFserver,終端輸入命令:
ffserver -f ffserver.conf
啟動(dòng)FFmpeg,終端輸入命令:
ffmpeg -i rtsp://192.168.1.111:8000/?videoCodecType=H.264 http://localhost:8090/feed1.ffm
#-i:為輸入?yún)?shù)選項(xiàng)
#rtsp://192.168……:為輸入的RTSP視頻流
#http://localho……:為FFserver配置文件中設(shè)置的Feed的監(jiān)聽地址和端口
打開客戶端(vlc)請(qǐng)求視頻流地址:打開vlc–>File–>OpenNetwork–>URL中填寫“http://localhost:8090/test.flv”–>Open (地址為FFserver配置文件中Stream項(xiàng)的名字)
聯(lián)系客服