1

У меня есть последовательность изображений 5664 .tga изображений, которые должны воспроизводиться со скоростью 24 кадра в секунду (то есть 236 секунд), и аудиофайл ac3, который я отредактировал, чтобы он имел длину ровно 236 секунд (плюс минус 0,01 с).

Я использовал следующую команду ffmpeg, чтобы смешать их в файл .mpg:

ffmpeg -i music.ac3 -i o%04d.tga -r 24 -sameq a.mpg

Звук воспроизводится в течение полных 236 секунд; однако видео закончилось всего за 226 секунд, удерживая последний кадр за последние 10 секунд звука.

Почему ffmpeg сокращает воспроизведение последовательности изображений на 10 секунд, и как я могу заставить его работать в течение полного времени?

1 ответ1

2

Вывод консоли (вы должны всегда включать это), вероятно, показывает, что ввод читается со скоростью 25 кадров в секунду. Это поведение по умолчанию, если вы не укажете иначе. Ваш -r 24 применяется к выводу, и я предполагаю, что это может вызвать вашу проблему. Переместите -r 24 в качестве параметра ввода, чтобы оно было до -i o%04d.tga . Выходные данные затем наследуют эту частоту кадров. Другой вариант, который следует рассмотреть, - -shortest и кодирование будет завершено на самом коротком входе (аудио или видео).

Кроме того, -sameq не рекомендуется. Это не означает "то же качество". Вместо этого используйте -qscale . Полный диапазон составляет 1-31, но попробуйте значения между 2-5. Как правило, вы используете самое высокое значение, которое все еще выглядит хорошо для вас. Смотрите этот учебник FFmpeg для получения дополнительной информации и примеров.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .