ffmpeg слайд-шоу с кроссфейдом

Я только что придумал, как сделать слайд-шоу с кроссфейдом. Это двухэтапный процесс. Первый шаг считывает изображения с частотой кадров 0,5 (что означает 2 секунды для каждого изображения) и создает промежуточное видео с частотой кадров 2. Это означает, что каждое изображение повторяется 4 раза. На втором шаге применяется фильтр частоты кадров. В результате каждая картинка отображается в течение 1,5 секунд, а затем 0,5 секунды кроссфейда.

ffmpeg-частота кадров 0.5-i IMG_%3d.jpg -r 2-кодек: v MPEG4 и темп.МР4

видео -я темп.МР4 -ВФ "кадров=ФПС=25" -кодеков:в формате MPEG4 из.МР4

этот двухэтапный процесс работает нормально, но у меня есть два вопроса:

  1. можно ли получить тот же результат за один шаг, без промежуточного видеофайла?
  2. если ответ на первый вопрос "нет", Может ли кто-нибудь показать мне, как вышеуказанные команды должны быть изменены для промежуточного файла без потерь, например RAWVIDEO?

спасибо,
Michael

5
задан Michael
источник

2 ответов

вы можете изменить время кадров перед применением фильтра:

ffmpeg -i IMG_%3d.jpg  -vf "setpts=N/0.5/TB,framerate=fps=25" -codec:v mpeg4 out.mp4

обновление: фильтр частоты кадров, по-видимому, привязан к входной частоте кадров при приеме внутрь, поэтому метод alt использует pipes

ffmpeg -framerate 0.5 -i IMG_%3d.jpg -vf fps=2 -f nut - | ffmpeg -f nut -i - -vf framerate=25 -c:v mpeg4 out.mp4

однострочное решение:

ffmpeg -i IMG_%3d.jpg -vf zoompan=z=1:d=4:s=WxH:fps=2,framerate=25 -c:v mpeg4 out.mp4

, где W и H заменяются на входные размеры.

1
отвечен Gyan 2017-11-06 10:38:38
источник

Я хотел бы подвести итог решения:

ffmpeg -i IMG_%3d.jpg -vf zoompan=d=(A+B)/B:s=WxH:fps=1/B,framerate=25:interp_start=0:interp_end=255:scene=100 -c:v mpeg4 -maxrate 5M -q:v 2 out.mp4

где A-длительность в секундах, как долго отображается каждое изображение (без длительности кроссфейда), B-длительность кроссфейда в секундах, а WxH-размер выходного видео.

1
отвечен Michael 2017-11-06 12:57:26
источник

Другие вопросы codec ffmpeg slideshow video