【问题标题】:FFMPEG is doubling audio length when extracting from video从视频中提取时,FFMPEG 将音频长度加倍
【发布时间】:2015-03-24 05:36:13
【问题描述】:

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

一些 googlefu 引导我执行此命令:ffmpeg -i video.mp4 audio.mp3

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

更多 googlefu 将我带到这个标志:-write_xing 0 from this SO question,但即使有那个标志,它仍然会循环播放音频。

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

如何从视频文件中提取(到 MP3)音频,而不会使持续时间加倍?

【问题讨论】:

  • 不鼓励在多个 Stack Exchange 站点上交叉发布 same question,无论如何,这个问题在这里是题外话。

标签: ffmpeg


【解决方案1】:

你的 googlefu 一定有问题。

如果您只有一个音轨:

ffmpeg -i movie.mp4 -map 0:a -c:a mp3 audio.mp3

如果您有多个音轨:

  1. 识别轨道:

ffprobe -i movie.mp4 并查找音频Stream #0:x,其中x 是一个整数

  1. 通过-map 0:x 使用上述命令。 x = 2 的示例:

ffmpeg -i movie.mp4 -map 0:2 -c:a mp3 audio.mp3

How to use the -map option

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2010-12-16
    • 2021-12-17
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多