我必须对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复制。)有什么建议吗?