2013-04-11 206 views
3

我試圖支持在我們的網站上錄製網絡攝像頭視頻,然後我需要將其轉碼爲MP4和WebM以支持HTML5播放。我在我們的服務器上安裝了ffmpeg 1.2,整個過程都運行得很好。使用ffmpeg將FLV轉碼爲MP4

我遇到的一個問題是將FLV轉碼爲MP4。它是不可接受的慢,例如8秒的FLV大約需要2.5分鐘的代碼轉換!

ffmpeg命令我使用的是:

 
ffmpeg -y -i webcam.flv -c:a libfaac -ac 2 -b:a 64k -ar 44100 -c:v libx264 \ 
    -b:v 350k webcam.mp4 

有這麼多ffmpeg PARAMS,我有點失去了作爲前鋒這個問題的最好辦法。你可以從這裏下載測試FLV:

dropbox.com/s/hhd6uhdiuhk800w/webcam.flv

相比之下,轉碼的WebM大約需要5秒鐘:

 
ffmpeg -y -i webcam.flv -c:a libvorbis -ac 2 -b:a 64k -ar 44100 -c:v libvpx \ 
    -b:v 350k -metadata:s:v:0 rotate=0 webcam.webm 
+0

這需要我大約6秒一四的Core i7的MacBook Pro。在'-c:v libx264'之後添加'-preset superfast'時會發生什麼?請注意,這通常會降低壓縮效率。請爲這些命令提供完整的未切割控制檯輸出,並向我們提供有關您的硬件的一些信息。 – slhck 2013-04-11 19:53:04

+0

thx foryour reply @slhck,它讓我回頭看看ffmpeg輸出,這反過來又給了我解決方案的線索。乾杯。 – 2013-04-12 07:48:18

回答

4

好,我找到了答案。我曾在ffmpeg的輸出細看,並注意到:

[mp4 @ 0xa0060c0] Frame rate very high for a muxer not efficiently supporting it. 
Please consider specifying a lower framerate, a different muxer or -vsync 2 

衛生署。所以我添加了「-vsync 2」作爲輸出文件之前的最後一個參數,並且它的工作魅力,將轉碼時間降低到約10秒!很高興。

工作了「廣義」的ffmpeg所有類型的A/V輸入的設置還像個黑魔法我...