【发布时间】:2013-02-20 13:37:52
【问题描述】:
如果我有一个包含视频流和音频流的 .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。有没有办法以 0 值作为开始的最终结果精确到 1 秒?
我在之前的尝试中使用了标志 -map 0:1 -ab 128k -ar 44100 但它提供了相同的结果。
如果需要,我可以提供 ffmpeg 的完整输出。
谢谢。
【问题讨论】:
-
几个问题:原文件的音频采样率是多少? 44100 还是 48000 赫兹?原音频也是AAC吗?如果是这样,您的意思是进行音频转码(这会导致代际损失),而不是无损重组?
-
这里是音频流信息: Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 96 kb/s 至于你的第二个问题,音频转码就好了。只需要准确地获得一秒钟的持续时间,开始时间也为 0。