从视频中提取时,FFMPEG 将音频长度加倍

Sam*_*les 6 ffmpeg

我有一个视频文件,video.mp4. 时长为 18 分 23 秒。我希望从此视频中提取音频,并从视频中的音频中创建尽可能高质量的 MP3。

一些 googlefu 引导我使用这个命令: ffmpeg -i video.mp4 audio.mp3

问题是,此命令使输出的音频长度加倍(持续时间为 36 分 46 秒)。它将音轨循环一次,因此输出包含整个 18 分 23 秒的音频,然后立即重新开始 18 分 23 秒的音频。

更多的 googlefu 引导我找到这个标志:-write_xing 0这个 SO question,但即使有那个标志它仍然循环音频。

编辑:额外的 googlefu 和我似乎认为它与 2 个音频通道有关(并且可能在通道 1 之后立即循环通道 2,而不是将两者合并)引导我到这个标志:-ac 1强制它合并立体声 -> 单声道. 这也不起作用,它仍然输出 38 分 46 秒的 MP3 文件。

如何在不加倍持续时间的情况下从视频文件中提取(到 MP3)音频?

NuT*_*TyX 7

尝试这个:

ffmpeg -i video.mp4 -vn -sn -c:a mp3 -ab 192k audio.mp3
Run Code Online (Sandbox Code Playgroud)

我将它用于相同的目的,它没有改变音频的持续时间。此外,(恕我直言)试图提高质量只是矫枉过正,但您可以尝试使用 320k。

  • 在做了一些我自己的测试之后,我可以确认强制恒定比特率 (-ab 192k) 是负责解决问题的标志。 (4认同)