我必须转码一个 mpegts 文件:input.ts(H.264 and 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 复制。)有什么建议吗?