Транскодирование с помощью ffmpeg 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 секунд.

И я также попробовал ffmpeg с версией 0.11. И это делает звук длиннее, чем оригинальный вход.

Поэтому мой вопрос: как убедиться, что длительность звука на выходе такая же, как и у звука на входе. Поскольку libfaac сделает звук короче, как я могу его компенсировать? (Почему-то я не могу напрямую использовать -acodec copy.) Есть предложения?

0 ответов

Другие вопросы по тегам