Что я делаю:

Я все еще работаю над сценарием слайд-шоу. Значение, я использую FFmpeg, Concat демультиплексора (files.txt) , чтобы обеспечить FFmpeg с кучей .jpg файлов для слайд - шоу.

В прошлом я хотел, чтобы все изображения отображались по 3 секунды, поэтому я использовал (неправильно)? Флаг частоты кадров ffmpeg -r 1/3 для достижения указанной длительности, который сработал идеально и очень быстро (примерно 10 секунд для всех 600 изображений).

Что я хочу сделать сейчас:

Теперь я хотел, чтобы слайд-шоу было более динамичным за счет изменения продолжительности (больше для более интересных и т.д., Вы знаете). Итак, я решил отказаться от флага частоты кадров и установить duration 3 прямо в файле concat. Конечно, для каждого файла с правильным количеством секунд. Который работает - вид.

Моя единственная проблема: теперь ffmpeg проходит через этот сценарий целую вечность. Не только немного, но и занимает в 30 раз больше времени. Хотя я уже использую -c:v libx264 -preset ultrafast .

Таким образом, это больше не практично для использования. Я что-то пропустил или есть третий способ?

Редактировать:

Просто заметил, что ffmpeg пропускает это предупреждение: More than 1000 frames duplicated . Этого не может быть, когда статическое изображение показывается максимум 5 секунд со скоростью 25 кадров в секунду (значение по умолчанию).

С уважением!

1 ответ1

0

Когда вы используете директиву duration в файле concat demuxer, вы устанавливаете смещение временной метки, примененное к следующему файлу, относительно начальной временной метки, рассчитанной для текущего файла. Для того чтобы это работало, нельзя использовать input -r . Это, в свою очередь, означает, что каждому изображению назначена частота кадров по умолчанию 25 кадров в секунду. В настоящее время это не может быть изменено. Тем не менее, вы можете уменьшить частоту кадров. Поскольку у вас нет дробных секунд, вы можете уменьшить до 1 кадра в секунду.

ffmpeg -f concat -i list.txt -vf fps=1 out.mp4

Я пропустил любые варианты кодирования. Используйте ffmpeg 4.0 или выше.

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