Преобразование avi в mp4: звук не синхронизирован

#ffmpeg

#ffmpeg

Вопрос:

Я использую ffmpeg для преобразования видео из avi в mp4. Аудио / видео в выходном mp4 не синхронизированы. Я исследовал и нашел следующую ссылку, которая предполагает, что это проблема с более новыми сборками ffmpeg:

http://forum.videohelp.com/threads/320342-Audio-out-of-sync-problem-with-FFMPEG-encoding-MP4-(h-264-AAC)?p=1983858amp;viewfull=1#post1983858

Я попробовал построить 18715, как было предложено, и действительно, a / v синхронизирован. Я думал, что просто использую эту сборку, но потом понял, что размер выходного файла намного больше (примерно на треть больше). Есть идеи, почему? Пропускная способность в настоящее время является серьезной проблемой в моем приложении.

Я пытаюсь либо решить проблему синхронизации с последней сборкой, либо выяснить, как уменьшить размер файла с помощью более старой сборки. Есть предложения?

РЕДАКТИРОВАТЬ: команда, которую я использую для преобразования:

ffmpeg -i test.avi -vb 100k -ab 48k -r 20 test.mp4

Это видео с очень низким разрешением и довольно статичным, а низкий битрейт является адекватным (и не вызывает никаких проблем, если не использовать mp4).

Ответ №1:

попробуйте добавить -async 1 в свою команду…

Из руководства: -async samples_per_second :

Метод синхронизации звука. «Растягивает / сжимает» аудиопоток, чтобы соответствовать временным меткам, параметр — это максимальное количество сэмплов в секунду, на которое изменяется звук. -async 1 — это особый случай, когда исправляется только начало аудиопотока без каких-либо последующих исправлений.