¿Cómo crear un video cronometrado a partir de imágenes fijas con un tiempo específico entre cada imagen?

¿Cómo crear un video cronometrado a partir de imágenes fijas con un tiempo específico entre cada imagen?

Quiero crear un video a partir de imágenes fijas. Mis imágenes son:

  • 1.jpg
  • 2.jpg
  • 3.jpg
  • 4.jpg
  • 5.jpg
  • 6.jpg
  • 7.jpg
  • 8.jpg
  • 9.jpg

Cada uno de ellos quiero mostrar durante una duración específica, entre 1 y 10 segundos:

  • 1.jpg: 2 segundos
  • 2.jpg: 6 segundos
  • 3.jpg: 10 segundos
  • 4.jpg: 1 segundo

etc.

Entre las imágenes quiero desvanecer gradualmente la imagen anterior y desvanecer la imagen nueva.

Tengo la sensación de que todo esto se puede hacer con converty ffmpeg. Sin embargo, el problema está en tener una duración diferente entre cada imagen.Esta páginaayuda mucho, pero no sé cómo cronometrar las cosas entre imágenes. ¿Algunas ideas?

Respuesta1

Si todos los .jpg archivos combinados se pueden representar fielmente en 256 colores de un espacio de color de 16 millones, entonces puedes convertirlos en fotogramas de un gif animado, lo que te permite especificar retrasos por fotograma en centésimas de segundo.

Luego puedes usar convert(del imagemagickpaquete) para realizar la conversión:

convert -delay 200 1.jpg -delay 600 2.jpg -delay 1000 3.jpg -delay 100 4.jpg \
    .....  result.gif

(reemplace los puntos con -delay N.jpgpares " " adicionales).

información relacionada