1 用FFserver從文件生成流媒體
一、安裝ffmpeg
在ubuntu下,運行sudo apt-get ffmpeg 安裝ffmpeg,在其他linux操作系統下,見ffmpeg的編譯過程(編譯完成后可執行自動安裝)。
二、准備預播放的媒體文件
如test.Mp3,在本文檔中,默認放入用戶文件夾下得Music文件夾內.(直接從設備采集不在本文檔敘述范圍之內)
三、修改ffserver配置信息
ffserver配置文件為: /etc/ffserver.conf 打開,填寫配置信息.配置信息包括三方面:
1.端口綁定等基本信息,在/etc/ffserver.conf 中有詳細注釋,在此不再重復,最終配置信息為:
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
2.媒體文件配置信息.本信息根據具體的媒體文件類型直接在配置文件中取消注釋掉相應文件類型的配置信息,然后填寫文件路徑即可:
# MP3 audio
<Stream test.mp3>
File "/home/xiaoma/Music/test.mp3"
Format mp2
NoVideo </Stream>
四、啟動ffserver
在終端中運行: sudo ffserver -f /etc/ffserver.conf 啟動ffserver.
五、播放流媒體
在瀏覽器中輸入http://127.0.0.1:8090/test.mp3 即可播放音樂.
在終端中輸入ffplay http://localhost:8090/test.mp3 可播放流媒體.
2 用FFserver從設備生成實時流
一、准備媒體按照上節步驟安裝ffmpeg,保證攝像頭和聲卡可用,將從攝像頭和聲卡獲取音視頻信息。
二、修改ffserver配置信息
ffserver配置文件為: /etc/ffserver.conf 打開,填寫配置信息.配置信息包括三方面:
1.端口綁定等基本信息,在/etc/ffserver.conf 中有詳細注釋,在此不再重復,最終配置信息為:
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
2.fend(傳沖信息),在文件播放中,基本不用動本配置信息,只需要根據具體情況分配緩沖文件.最終配置信息如
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 2M
ACL allow 127.0.0.1
</Feed>
3.媒體文件配置信息.本信息根據具體的媒體文件類型直接在配置文件中取消注釋掉相應文件類型的配置信息,然后填寫文件路徑即可:
(中間會有很多很多配置信息,都是關於音視頻的,有些配置還不懂,慢慢摸索吧)
<Stream test1.mpg>
Feed feed1.ffm
Format mpeg
AudioBitRate 32
AudioChannels 1
AudioSampleRate 44100
VideoBitRate 64
VideoBufferSize 40
VideoFrameRate 3
VideoSize 160x128
VideoGopSize 12
</Stream>
# Flash
<Stream test.swf>
Feed feed1.ffm
Format swf
VideoFrameRate 2
VideoIntraOnly
NoAudio
</Stream>
三、啟動FFserver
在終端中運行: sudo ffserver -f /etc/ffserver.conf 啟動ffserver.
四、啟動ffmpeg 本例中,以ffmpeg作為實時攝像頭采集輸入.
在命令行中輸入: ./ffmpeg -f video4linux2 -r 25 -i /dev/video0 /tmp/feed1.ffm
如果有音頻設備,則采集音頻的命令如下: ./ffmpeg -f oss -i /dev/dsp -f video4linux2 -r 25 -i /dev/video0 /tmp/feed1.ffm (音頻格式參數自己配置)
五、播放流媒體在瀏覽器中輸入
http://127.0.0.1:8090/test1.mpg 即可播放音樂.
在終端中輸入ffplay http://localhost:8090/test.swf 可播放流媒體.