2012-04-14 44 views
0

我想使用ffmpeg編碼並將實時流發佈到Flash Media Server。爲了支持iOS設備,我還需要實現HTTP Live Streaming。視頻需要採用H.264格式,音頻應該是AAC。我沒有太多使用ffmpeg的經驗,而且我很難讓這個工作。這是我試過的命令(及一些變化以及):在Flash Media Server和HDS中使用ffmpeg

ffmpeg.exe -threads 15 -f dshow -i video="USB2.0 UVC WebCam":audio="Microphone (Realtek High Defini" \ 
     -map_channel 0.1.1 -r 24 -acodec libvo_aacenc -ar 22050 -ab 128k -vcodec libx264 \ 
     -s vga -vb 100k -f flv "rtmp://<public-dns>/livepkgr/livestream1?adbe-live-event=liveevent" \ 
     -r 24 -acodec libvo_aacenc -ar 22050 -ab 128k -vcodec libx264 -s qvga -vb 200k \ 
     -f flv "rtmp://<public-dns>/livepkgr/livestream2?adbe-live-event=liveevent" \ 
     -r 24 -acodec libvo_aacenc -ar 22050 -ab 128k -vcodec libx264 -s vga -vb 350k 
     -f flv "rtmp://<public-dns>/livepkgr/livestream3?adbe-live-event=liveevent" 

當我運行它,它似乎連接到FMS,但後來我得到了很多的錯誤信息大約掉幀現象 - 我我不確定是否有任何幀被成功編碼。我的CPU使用率也很高。當我爲其中一個單獨的流輸入* .m3u8文件的URL時,我收到了來自FMS的404錯誤(雖然主livestream.m3u8文件可以訪問)。我也嘗試輸出到一個文件,而不是FMS,沒有成功。我得到的只是一些非常亂碼的聲音,沒有視頻。

對於我應該使用哪些選項/命令來獲得此效果有任何建議嗎?有沒有人使用ffmpeg與FMS做MP4視頻的HTTP Dynamic Streaming/HLS?我一直在努力爭取HDS/HLS工作一段時間,任何幫助將非常感謝!它不應該有所作爲,但我在Amazon EC2上使用FMS和他們的AMI映像。

謝謝!

+0

http://blog.denivip.ru/index.php/2011/07/1893/?lang=en和http://betterlogic.com/roger/2012/08/ffmpeg-receiving-rtmp-stream-從閃存媒體服務器/可能會有所幫助 – rogerdpack 2012-09-06 17:31:45

回答

2
-threads 15 

我對這個價值深表懷疑。我自己對threads開關的研究和實驗表明,任何高於4的值都是錯誤的。嘗試刪除它,使用較低的值,和/或通過2

-f flv 

我也深深懷疑這個值整除的值。 FLV和h.264在一起播放不好。使用MP4代替。

你提到的CPU是「高」,但你沒有提到一個百分比。另請注意,您正在編碼三種不同的比特率 - 有效地同時進行三個編碼作業。而你沒有提到你正在運行的CPU。 Pentium 4或Core 2?我不會感到驚訝。現代酷睿i7,還不錯。

你爲什麼使用FFmpeg?使用Adobe的Flash Media Live Encoder可能更容易。

相關問題