2014-05-05 96 views
1

我想問關於直播,我有wowza服務器和在web客戶端使用rtmp協議,問題是如何在所有設備如桌面和手機兼容,我用ffmpeg,但如何更改rtmp到mp4在飛?在ffmpeg中輸入什麼命令?我想用協議http不rtmp或rtsp,謝謝。如何將RTMP轉換爲mp4在FFMPEG上飛翔?

問候, 潘集

回答

4

如果你想活的HTTP流(HLS),那麼你應該在http://your-server:1935/live/yourstream/playlist.m3u8使用wowza的cupertinostreamingpacketizer<LiveStreamPacketizers>列表,並指向非RTMP客戶。不需要ffmpeg。通常HLS打包器在默認情況下在wowza中啓用,所以只需在支持html5 + h264的瀏覽器中嘗試訪問該URL即可。請記住,您的編碼軟件必須編碼爲h264,而不是v6編解碼器。

您的HLS流將在30秒左右 - rtmp流後面1分鐘。如果您希望數據流跨設備同步,請考慮使用HDS(sanjosestreamingpacketizer)而不是rtmp,並將支持HDS的Flash播放器指向http://your-server:1935/live/yourstream/manifest.f4m

如果您想要將實時流錄製爲mp4供以後播放,則可以使用wowza的內置錄製API - 請參閱http://www.wowza.com/forums/content.php?123#userinterface

或者,你可以使用rtmpdump(通常作爲在大多數Unix系統封裝)搶RTMP流,然後ffmpeg的轉換,一旦它下來:

rtmpdump -q --rtmp "rtmp://your-server:1935/live/" --playpath yourstream -o yourstream.flv --live 
ffmpeg -i yourstream.flv -vcodec copy -acodec copy yourstream.mp4 </dev/null 
ffmpeg -i yourstream.mp4 -vframes 1 yourstream.jpg </dev/null 

第一ffmpeg的命令轉換爲MP4 ,第二幀抓取第一幀並保存爲.jpg,以便您可以將其用作海報幀。