FFmpeg эффекты затухания между кадрами - PullRequest
14 голосов
/ 27 сентября 2011

Я хочу создать слайд-шоу из моих изображений с переходами постепенного появления и постепенного исчезновения между ними, и я использую фильтр постепенного изменения FFmpeg.

Если я использую команду:

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4

Для создания выходного видео с эффектом затухания, затем выводится видео с первыми 5 кадрами черного цвета, а затем изображения отображаются с эффектом затухания, но я хочу эффект fade: in: out между сменами кадров.

Как я могу это сделать?

Пожалуйста, сообщите решение для сервера Centos, потому что я использую FFmpeg только на этом сервере

Ответы [ 3 ]

7 голосов
/ 06 февраля 2012

Чтобы создать видео с эффектом затухания, просто разбейте его на части и создайте отдельные видео для каждого изображения.Например, если у вас есть 5 изображений, то сначала создайте 50-60 копий каждого изображения и получите для этого видео:

  $command= "ffmpeg -r 20 -i images/%d.jpg -y -s 320x240 -aspect 4:3 slideshow/frame.mp4";
  exec($command." 2>&1", $output);

Это позволит вам создать 5 разных видео.Затем вам нужно 10-12 различных копий этих пяти изображений и снова создать отдельные видео с эффектами замирания.

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4

После этого у вас появятся такие видео, как: видео для изображения 1 и его эффект исчезновения, а затем для изображения2 и его эффект затухания и так далее.Теперь объедините эти видео в соответствующем порядке, чтобы получить все видео.

Для объединения видео вам нужно:

$command = "cat pass.mpg slideshow/frame.mpg > final.mpg";

Это означает, что вы можете присоединиться к видео с помощью cat, а затемпреобразовать их в mpg, присоединиться к ним и снова преобразовать их в mp4 или avi, чтобы просмотреть их правильно.Также преобразованные видео в формате mpg не будут правильными, так что не беспокойтесь.Когда вы конвертируете их в mp4, все будет работать нормально.

2 голосов
/ 15 ноября 2016

Вы можете сделать слайд-шоу с плавным переходом между изображениями, используя фильтр частоты кадров.В следующем примере 0,25 - это частота кадров, используемая для чтения изображений, в данном случае 4 секунды для каждого изображения.Параметр fps устанавливает частоту кадров на выходе.Параметры interp_start и interp_end могут использоваться для изменения эффекта замирания: interp_start = 128: interp_end = 128 означает отсутствие замирания вообще.interp_start = 0: interp_end = 255 означает непрерывное замирание.Когда одно изображение исчезло, а следующее изображение полностью исчезло, третье изображение немедленно начнет исчезать. Нет никакой паузы для показа второго изображения.interp_start = 64: interp_end = 191 означает, что половина времени является паузой для показа изображений, а другая половина исчезает.К сожалению, это не будет полное исчезновение от 0 до 100%, но только от 25% до 75%.Это не совсем то, что вам может понадобиться, но лучше, чем полное отсутствие затухания.

ffmpeg -framerate 0.25 -i IMG_% 3d.jpg -vf "framerate = fps = 30: interp_start = 64: interp_end = 192:сцена = 100 "test.mp4

1 голос
/ 08 августа 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...