Convertir una secuencia de imágenes en un video es una forma confiable de crear videos "time-lapse", presentaciones de diapositivas o animaciones. Una de las herramientas más versátiles para esta tarea es FFmpeg.
FFmpeg (Fast Forward Moving Picture Experts Group) es una utilidad de línea de comandos de código abierto que dispone de varias bibliotecas y programas para manejar datos multimedia. Ofrece una serie de opciones personalizables para convertir secuencias de imágenes en videos de alta calidad.
Así que, si te preguntas cómo convertir una secuencia de imágenes a video en FFmpeg, este artículo te guiará por los pasos necesarios para lograr el objetivo, independientemente de tu nivel de habilidad.
En este artículo
Parte 1. ¿Qué formato de secuencia de imágenes admite FFmpeg?
Afortunadamente, FFmpeg admite una gran variedad de formatos de secuencias de imágenes. A continuación se muestran algunos de los formatos de secuencia de imágenes que FFmpeg puede manejar:
- JPEG: .jpeg, .jpg
- PNG: .png
- TIFF: .tiff, .tif
- BMP: .bmp
- GIF: .gif
- PPM: .ppm
- PGM: .pgm
- PBM: .pbm
- PNM: .pnm
- WebP: .webp
Parte 2. Cómo convertir una secuencia de imágenes a video en FFmpeg
Para convertir una secuencia de imágenes en un video utilizando FFmpeg, necesitarás seguir una serie de pasos. Aunque estos pasos pueden resultar complicados para los usuarios sin conocimientos técnicos, te lo hemos explicado de la forma más sencilla posible para que entiendas cómo funciona.
Paso 1. Preparar tu secuencia de imágenes
- Formato de los nombres: Asegúrate de que el nombre de tus imágenes sigue un orden secuencial. Por ejemplo, imagen-001.png, imagen-002.png, imagen-003.png, etc. Esto ayuda a FFmpeg a reconocer el orden de las imágenes.
- Formato consistente: Asegúrate de que todas las imágenes tienen el mismo formato (por ejemplo, todas .png o .jpg) y las mismas dimensiones.
Paso 2. Instalar FFmpeg
Antes de continuar, asegúrate de instalar la herramienta FFmpeg en tu sistema. Puedes revisarlo ejecutando el comando:
En Windows: Presiona Windows + R en tu teclado. A continuación, introduce ffmpeg.exe -version y haz clic en Enter.
En Mac: Abre la "Ventana terminal" y escribe "ffmpeg-version".
Si FFmpeg no está instalado, descárgalo e instálalo desde el sitio web oficial de FFmpeg.
Paso 3. Convertir secuencia de imágenes a video
Si tienes una serie de imágenes nombradas secuencialmente, (por ejemplo, imagen-0001.png, imagen-0002.png, etc.), introduce el siguiente comando en la herramienta FFmpeg:
ffmpeg -framerate 25 -i imagen-%03d.png-c:v libx264 -r 30 -pix_fmt yuv420p resultado.mp4
Esto es lo que significa el comando anterior:
- -framerate 25: Establece la velocidad de fotogramas de entrada en 25 fotogramas por segundo. Ajusta este valor en función de la velocidad a la que quieras que se reproduzca el video.
- -i imagen-%03d.png: Especifica el patrón del archivo de entrada. %03d es un marcador de posición para números secuenciales con relleno cero (por ejemplo, 001, 002).
- -c:v libx264: Utiliza el códec H.264 para la compresión de video, que es ampliamente compatible y proporciona una buena calidad.
- -r 30: Fija la velocidad de fotogramas de salida en 30 fotogramas por segundo. Esto se puede ajustar según se necesite.
- -pix_fmt yuv420p: Establece el formato de píxeles en yuv420p, lo que garantiza la compatibilidad con la mayoría de los reproductores.
- resultado.mp4: El nombre del archivo del video resultante.
Sin embargo, si tus imágenes no están numeradas secuencialmente pero tienen una extensión consistente (por ejemplo, .png), puedes utilizar un patrón glob para convertirlas en videos. El comando para utilizar "Glob Pttern" es:
ffmpeg -framerate 30 -pattern_type glob -i ".png" -c:v libx264 -pix_fmt yuv420p resultado.mp4
Paso 4. Opciones avanzadas
- Especificar el fotograma de inicio: Utiliza -start_number si tu secuencia empieza en un número distinto del 001.
ffmpeg -framerate 25 -start_number 100 -i imagen-%03d.png-c:v libx264 -r 30 -pix_fmt yuv420p resultado.mp4
- Añadir audio: Añadir audio a tu video es una forma estupenda de hacerlo más interesante de ver. Puedes añadir una pista de audio con la opción -i. Aquí tienes el comando:
ffmpeg -framerate 25 -i imagen-%03d.png-i audio.mp3 -c:v libx264 -c:a aac -r 30 -pix_fmt yuv420p resultado_con_audio.mp4
- Imágenes en bucle
Para reproducir en bucle cada imagen durante un tiempo determinado, utiliza las opciones -loop y -t:
ffmpeg -loop 1 -t 5 -i imagen1.png-loop 1 -t 5 -i imagen2.png-loop 1 -t 5 -i imagen3.png-filter_complex "[0:v][1:v][2:v]concat=n=3:v=1:a=0" -c:v libx264 -pix_fmt yuv420p resultado.mp4
- Añadir efectos de transición
Para añadir efectos de fundido de entrada y salida entre imágenes:
ffmpeg -i imagen1.png-i imagen2.png-i imagen3.png-filter_complex "[0:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v0]; [1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; [2:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; [v0][v1][v2]concat=n=3:v=1:a=0,format=yuv420p[v]" -map "[v]" resultado_con_fundidos.mp4
Consejos para secuenciar imágenes a videos con FFmpeg
- Asegúrate de que todas las imágenes están en el mismo directorio donde ejecutas el comando FFmpeg.
- Ajusta las opciones -framerate y -roptions para controlar la velocidad y fluidez del video.
- Si tienes problemas para reproducir en determinados dispositivos, asegúrate de que el formato de píxeles está ajustado a yuv420p.
Parte 3. ¿Por qué no consigo convertir una secuencia de imágenes a video en FFmpeg?
Hay varias razones por las que puede fallar la conversión de secuencia de imágenes a video en FFmpeg. En esta parte, hemos destacado algunas de las razones más comunes de este problema y la mejor solución para arreglarlo.
-
Tamaño incorrecto de los archivos de imágenes
Esta es una de las principales razones por las que puede fallar la conversión de secuencia de imágenes a video en FFmpeg. Si las imágenes de la secuencia de imágenes son demasiado pequeñas o demasiado grandes, FFmpeg no podrá calcular y determinar con precisión cómo están relacionadas las imágenes.
cat jpg2mp4.sh test -d "$1" || exit tmpdir=$(mktemp -d -p .) counter=0 find $1 -iname '.jpg' | while read.jpgdo convert -resize 1440x1080 .jpg$tmpdir/IMG_$(printf "%04d" $counter).JPG counter=$((counter + 1)) done echo ffmpeg -i $tmpdir/IMG_%4d.JPG test.mp4
-
Nombres de archivo no secuenciales
Ffmpeg también puede fallar al convertir una secuencia de imágenes a video si las imágenes no están numeradas secuencialmente o hay huecos en la numeración.
Además, si hay huecos, puedes renombrar los archivos o utilizar un patrón glob para incluir todos los archivos.
-
Archivos de entrada vacíos o corruptos
Si algunos de los archivos de imagen están vacíos o corruptos, también puede hacer que ffmpeg no convierta la secuencia de imágenes a video.
-
Sintaxis de comando incorrecta
Puede haber un error de sintaxis en el comando de FFmpeg.
Aquí tienes un comando de ejemplo corregido que incorpora algunas de las soluciones mencionadas:
- ffmpeg -framerate 25 -start_number 100 -i imagen-%03d.png-c:v libx264 -r 30 -pix_fmt yuv420p resultado.mp4
Este comando establece la velocidad de fotogramas de entrada en 25 fps, parte de imagen-100.png, utiliza el códec H.264, establece la velocidad de fotogramas de salida en 30 fps y utiliza la forma de píxel yuv420p
Parte 4. Una forma más fácil de convertir secuencias de imágenes sin usar FFMPEG
Como ya se ha dicho, a los usuarios sin conocimientos técnicos les puede resultar difícil utilizar FFmpeg para convertir secuencias de imágenes en video. Por eso recomendamos utilizar el software de edición de video Wondershare Filmora para la conversión.
Editor de video Filmora es un software avanzado de edición de video diseñado para facilitar varias tareas de edición de video, incluyendo la conversión de secuencias de imágenes a video. Esta herramienta cuenta con muchas funciones interesantes, incluyendo plantillas ya preparadas, pantalla verde, seguimiento de movimiento y mucho más.
Además, Filmora tiene herramientas de IA integradas, como interpolación de video IA, generador de música IA, recorte inteligente IA, creador de miniaturas IA, y muchas más que pueden ayudarte a mejorar las tareas de edición de video.
Características principales de la función de secuencia de imágenes a video en Filmora
- Importación directa: Importa fácilmente una carpeta de archivos de imagen numerados secuencialmente (por ejemplo, JPG) directamente a la línea de tiempo del proyecto, sin complejos procesos de conversión.
- Control de velocidad: Ajusta la velocidad de reproducción de la secuencia de imágenes para crear efectos de lapso de tiempo o de cámara lenta.
- Integración en la nube: Importa imágenes directamente desde servicios en la nube como Google Drive y Dropbox, simplificando el flujo de trabajo.
- Opciones de exportación: Exporta el video final en múltiples formatos (por ejemplo, MP4, MOV, AVI) y resoluciones para adaptarlo a las diferentes necesidades del proyecto.
Paso 1: Instala la aplicación Filmora Video Editor en tu Mac o PC e inicia la aplicación.
- Haz clic en "Crear nuevo proyecto" y en el botón "Importar" y navega hasta tu carpeta de imágenes. A continuación, puedes importar la "Secuencia de imágenes" que quieras convertir a video. Selecciona la primera imagen de tu secuencia y marca la casilla "Secuencia de imágenes".
Paso 2. Una vez que hayas importado correctamente la secuencia de imágenes, arrástralas y suéltalas en la "línea de tiempo". A continuación, empieza a ajustar la configuración según tus requerimientos.
- Puedes añadir efectos, títulos y mucho más para mejorar la calidad del resultado del video.
Paso 3. Tras la personalización, haz clic en "Exportar" y selecciona el formato de salida del video.
- También puedes ajustar la velocidad de fotogramas del video. A continuación, elige destino en el que quieres guardar el archivo y selecciona "Exportar".
Conclusión
Convertir una secuencia de imágenes en un video utilizando FFmpeg no es difícil si entiendes los pasos a seguir. Todo lo que necesitas es seguir los pasos que hemos compartido.
Sin embargo, si quieres una forma más sencilla de convertir secuencias de imágenes a video sin FFmpeg, el editor de video Filmora es lo que necesitas.