2011-09-27 45 views
13

Quiero crear una presentación de diapositivas de mis imágenes con fundido en & transición de fundido entre ellos y estoy usando el filtro de fundido FFmpeg.Efectos de fundido de FFmpeg entre cuadros

Si utilizo comando:

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

para crear el vídeo de salida con efecto de fundido, entonces se da la salida de vídeo con las primeras 5 cuadros negro y que las imágenes se muestran con efecto de fundido pero quiero desaparecer: en : efecto de salida entre cambio de marco.

¿Cómo puedo hacer eso?

Informe a una solución de servidor de Centos porque yo estoy usando FFmpeg en este servidor sólo

+0

http://superuser.com/ preguntas/778762/crossfade-between-2-videos-using-ffmpeg | http://superuser.com/questions/223678/how-to-convert-single-images-into-a-video-with-blending-transition –

Respuesta

6

Para crear un vídeo con efecto de desvanecimiento, simplemente romper el video en partes y crear vídeos independientes para cada imagen. Por ejemplo, si usted tiene 5 imágenes a continuación, en primer lugar, crear 50-60 copias de cada imagen y obtener un vídeo para que:

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

Esto le permitirá crear 5 vídeos diferentes. Luego, necesita 10-12 copias diferentes de esas cinco imágenes y nuevamente crea videos separados con efectos de fundido.

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

Después de esto usted tendrá videos como: vídeo de la imagen 1 y su efecto de fundido a continuación para una imagen 2 y su efecto de fundido y así sucesivamente. Ahora combine esos videos en el orden respectivo para obtener el video completo.

para combinar los vídeos que necesita:

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

Esto significa unirse a los vídeos utilizando cat y entonces usted necesita para convertir a MPG, unirse a ellos una y otra vez reconvertirlos a mp4 o avi para ver correctamente . Además, los videos convertidos en mpg no serán adecuados, así que no te molestes. Cuando los convierte a mp4, funcionará bien.

+1

En lugar de crear copias múltiples de sus archivos de imagen, puede indicarle a ffmpeg que repita el ciclo entrada. '-loop 1 -i entrada.jpg -t 2' le dirá a ffmpeg que use la imagen estática como fuente de bucle. Como esto jugará para siempre, entonces necesita establecer un tiempo para el video de salida usando la opción '-t 2' (en este caso especificando 2 segundos). – stib

1

Puede usar gifblender para crear los marcos intermedios combinados de sus imágenes y luego convertirlos en una película con ffmpeg.

-1

Puede hacer una presentación de diapositivas con fundido cruzado entre las imágenes, utilizando el filtro de velocidad de fotogramas. En el siguiente ejemplo, 0.25 es la velocidad de cuadro utilizada para leer en las imágenes, en este caso 4 segundos para cada imagen. El parámetro fps establece la tasa de cuadros porcentuales de salida. Los parámetros interp_start e interp_end se pueden usar para cambiar el efecto de desvanecimiento: interp_start = 128: interp_end = 128 significa que no hay desvanecimiento. interp_start = 0: interp_end = 255 significa desvanecimiento continuo. Cuando una imagen se ha desvanecido y la siguiente imagen se ha desvanecido por completo, la tercera imagen comenzará a desvanecerse de inmediato. No hay pausa para mostrar la segunda imagen. interp_start = 64: interp_end = 191 significa que la mitad del tiempo es pausa para mostrar las imágenes y la otra mitad se está desvaneciendo. Lamentablemente, no será un desvanecimiento completo de 0 a 100%, pero solo de 25% a 75%. Eso no es exactamente lo que puede desear, pero es mejor que no desvanecerse en absoluto.

ffmpeg -framerate 0,25 -i IMG_% 3d.jpg -vf "tasa de fotogramas = fps = 30: interp_start = 64: interp_end = 192: escena = 100" test.mp4

+1

Si bien esto podría responder teóricamente a la pregunta, [sería preferible] (// meta.stackoverflow.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. –

+0

tienes razón, he editado mi respuesta. – Michael