6

如果我有一个带有视频流和音频流的 .mp4 文件。如果我执行这个命令:

ffmpeg -i input.mp4 -ss 00:00:14.000 -t 00:00:01.000 -vn -c:a libfaac audio.m4a

结果是持续时间:00:00:01.02,开始:0.021179。我想确保开始时间从 0 开始,所以我使用以下方法重新采样:

ffmpeg -i audio.m4a -ss 00:00:00.000 -t 00:00:01.000 -c:a libfaac audio2.m4a

此命令的结果有 Duration: 00:00:01.02, start: 0.000000。有没有办法让 1 秒作为最终结果,开始值为 0?

我在以前的尝试中使用了标志 -map 0:1 -ab 128k -ar 44100 但它提供了相同的结果。

如果需要,我可以提供 ffmpeg 的完整输出。

谢谢。

4

1 回答 1

0

我通过选择框架来解决这个问题

$ ffmpeg -i input.mp4 -ss 14 -frames 46 -vn pass-1.m4a

$ ffmpeg -i pass-1.m4a -c copy audio.m4a

结果

$ ffmpeg -i 音频.m4a
输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自“audio.m4a”:
  元数据:
    主要品牌:M4A
    次要版本:512
    兼容品牌:isomiso2
    编码器:Lavf55.1.100
  持续时间:00:00:01.00,开始:0.000000,比特率:135 kb/s
    流 #0:0(und):音频:aac (mp4a / 0x6134706D),48000 Hz,立体声,fltp,
                             125 KB/秒
    元数据:
      handler_name : SoundHandler
于 2013-04-20T07:43:52.160 回答