#ffmpeg
#ffmpeg
Вопрос:
Я использую ffmpeg для преобразования видео из avi в mp4. Аудио / видео в выходном mp4 не синхронизированы. Я исследовал и нашел следующую ссылку, которая предполагает, что это проблема с более новыми сборками ffmpeg:
Я попробовал построить 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 — это особый случай, когда исправляется только начало аудиопотока без каких-либо последующих исправлений.