2017-04-25 996 views
5

我需要將MP4轉換爲帶有ffmpeg的webm。 所以,我用:FFmpeg - 將MP4轉換爲Webm速度很慢

ffmpeg -i input.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis output.webm 

但它很長。

有沒有更快?

+0

「mp4」視頻的長度是多少? –

+0

在100Mo和1000Mo之間 – Luzwitz

回答

1

使用ffmpeg將電影文件從mp4轉換爲webm需要時間。在你的情況下,一個大小爲100 MB的視頻,可能需要很長時間。

使用您給出的示例加快速度的最佳方法是使用功能更強大的機器。 ffmpeg的性能是在機器的CPU功率(主要)上傳遞,在你的情況下,也是機器的RAM。使用更強大的機器,獲得更快的轉換。

具有說,如果你想更快的轉換,但你不介意失去一些質量,你可以使用ffmpeg presetsultrafast

ffmpeg -i input.mp4 -preset ultrafast out.webm 
+0

您鏈接到的x264編碼預設已過時:'ffmpeg'不再使用外部文件進行x264編碼預設 - 它們是內置的。我不相信libvpx使用'-preset'。 Luzwitz想要WebM的VP8,但你的例子將H.264輸出到WMV。 – LordNeckbeard

+0

@LordNeckbeard非常真實。感謝更新。 –

+0

因爲libvpx不使用'-preset',所以你會得到一個警告,說它沒有被使用,因爲「它是某個編碼器的私有選項,它實際上沒有用於任何流」。 – LordNeckbeard

3

libvpx是一個相對緩慢的編碼器。根據VP8 Encode Parameter Guide: Encode Quality vs. Speed,您可以使用-cpu-used選項來提高編碼速度。較高的值會導致編碼更快但質量更低:

將值設置爲0將會產生最佳質量輸出,但是會非常緩慢地輸出 。使用1(默認)或2將進一步提高編碼速度,但會開始對質量產生更顯着的影響,並且也可能開始影響數據速率控制的準確性。設置爲4或5的值將關閉「速率 失真優化」,這對質量有很大的影響,而且 大大加快了編碼器的速度。

另外,似乎VA-API可以用於硬件加速VP8編碼,但我沒有這方面的經驗。

+0

好的,謝謝!但是沒有其他編碼器的libvpx?更快的編碼器嗎? – Luzwitz

+0

@Luzwitz對於VP8,我猜你的選擇是libvpx或VA-API。 – LordNeckbeard

+0

@LordNeckbeard,我面臨着用ffmpeg停止錄像的問題,我看到了這個答案[https://askubuntu.com/questions/436956/stop-the-recording-after-some-period-of-time]用於停止經過一段時間後,它工作正常,但我想在點擊按鈕後停止錄製,我該怎麼做?請幫忙 – Liya