使用ffmpeg libfaac进行代码转换可缩短音频持续时间

时间:2012-07-20 02:06:20

标签: ffmpeg transcode libfaac

我必须对mpegts文件进行转码:input.ts(H.264和AAC) 所以我使用以下命令行:
ffmpeg -y -i input.ts -acodec libfaac -vcodec copy out.ts
但是我发现output.ts的音频的持续时间比input.ts的持续时间短。

如果我进行以下迭代,输出的音频会越来越短。

ffmpeg -y -i out.ts -acodec libfaac -vcodec copy out-iter1.ts
ffmpeg -y -i out-iter1.ts -acodec libfaac -vcodec copy out-iter2.ts
ffmpeg -y -i out-iter2.ts -acodec libfaac -vcodec copy out-iter3.ts
ffmpeg -y -i out-iter3.ts -acodec libfaac -vcodec copy out-iter4.ts
ffmpeg -y -i out-iter4.ts -acodec libfaac -vcodec copy out-iter5.ts

我的ffmpeg的版本是0.6.6。 libfaac的版本是1.28。

input.ts的音频持续时间为10.432秒。 out-iter5.ts的音频持续时间为10.56秒

我也尝试过版本0.11的ffmpeg。 它使音频比原始输入更长。

所以我的问题是:如何确保输出的音频持续时间与输入的音频相同。 由于libfaac会缩短音频,我该怎么补偿呢? (出于某种原因,我无法直接使用-acodec复制。)有什么建议吗?

0 个答案:

没有答案