[英]How to extract fully synced audio with ffmpeg?
我有一個包含視頻和音頻的 MP4 文件。 我只需要將音頻 stream 提取到 MP3 文件中。
然而,對於我們的應用程序來說,音頻文件的時間/同步與原始視頻完全一致是至關重要的,因為我們根據時間交叉關聯音頻特征。
我目前使用這個命令:
ffmpeg -y
-v error
-map 0:a ./the-output-file-mp3
-map 0:v ~/a-dummy-video-output-file.mp4
-i ~/the-input-file.mp4
-acodec copy
正如我在某處讀到的那樣,映射 0:a 和 0:v 將保證 alignment 和同步。 然后我丟棄視頻文件,因為它不需要。
然而,只提取音頻要快幾個數量級:
ffmpeg -y
-v error
-map 0:a ./the-output-file-mp3
-i ~/the-input-file.mp4
-acodec copy
但我不知道這是否保證 alignment,因為我在這個頁面上讀到:
如果只從視頻stream中提取音頻,音頻的長度可能比視頻的長度短。 為確保不會發生這種情況,請通過對 ffmpeg 的相同調用提取音頻和視頻,例如“ffmpeg -i vid.avi -map 0:a audio.wav -map 0:v onlyvideo.avi
但是,也許我太重視該評論了。 我不在乎音頻剪輯是否提前結束,但重要的是它不會延遲開始,或者在任何時候與原始視頻不同步。
使用 ffmpeg 提取音頻 stream 並保證它在時間上與視頻 100% 對齊(並在同一時間開始)的最有效方法是什么?
這個方法會保證alignment嗎?
ffmpeg -y
-v error
-i ~/the-input-file.mp4
-vn
-acodec copy
~/the-output-file.mp4
根據我對 100 多個視頻文件的驗證,以下文件給出了正確的 alignment 並且速度很快:
ffmpeg -y
-v error
-i ~/the-input-file.mp4
-vn
-acodec copy
~/the-output-file.mp4
然而,我的視頻文件已經有強大的 alignment 流,-copyts 可能是更混亂的文件所必需的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.