FFmpeg y convertir muchos archivos a mp4 al mismo tiempo

Imagen de FFmpeg y convertir muchos archivos a mp4 al mismo tiempo

El año pasado tuve un problema con un video webm cuando lo quise convertir a mp4, era por culpa del tamaño irregular que tenía en este formato (no anda la conversión si no es divisible por dos alguna de las dimensiones), ahora quería convertir muchos archivos de estos al mismo tiempo.

Pequeño tip para cuando están convirtiendo archivos de video y necesitan hacerlo en cantidad...

En su momento la solución para convertir un sólo video era la siguiente:

ffmpeg -i gato.webm -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2" gato.mp4

En este caso hace un crop del pixel de más en gato.webm y luego guarda como gato.mp4

Si quiero hacerlo para múltiples archivos en la línea de comandos de Windows puedo:

for %i in (*.webm) do ffmpeg -i "%i" -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2" "%~ni.mp4"

y ahora lo explico:

for %i in (*.webm) do

Es simple, repasará todos los archivos que se encuentren bajo *.webm (el asterisco es "todos" los que lleven esa extensión) y se queda con el nombre en %i como variable.

Luego en la llamada a ffmpeg:

ffmpeg -i "%i"

esto aplicará a todo archivo mencionado en el for, uno a uno irá ejecutando la acción, luego va el comando que ya conocemos para ajustar tamaño y proporción:

-vf "crop=trunc(iw/2)*2:trunc(ih/2)*2"

y luego cómo los va a guardar
 

"%~ni.mp4"

y listo!
 
¿Linux o MacOS? Es MUY parecido desde bash
 

for i in *.webm; do ffmpeg -i "$i" "${i%.*}.mp4"; done

Cambia apenitas la sintaxis, de hecho, se puede instalar bash en windows también como para usar una solución para todos, pero es medio overkill, jeje


Volver al inicio Ver original

copyright©2025 Fabio Baccaglioni - Fabio.com.ar - Versión simplificada Old School