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

Si te gustó esta nota podés...
Invitame un café en cafecito.app


Otros posts que podrían llegar a gustarte...

Comentarios

  • Bruno G     09/01/2024 - 21:38:13

    lo poderoso que es ffmpeg es tremendo!

    Yo lo uso para convertir una imágen jpg en un video de 1 hora (es una carta de un bar para una tele antiquísima)

    ffmpeg -loop 1 -framerate 1 -i input.jpg -c:v libx264 -t 3600 -pix_fmt yuv420p -vf scale=1920:1080 output.mp4

    • Fabio Baccaglioni     09/01/2024 - 23:43:30

      ja, que escenario bizarro, pero hasta para eso funciona!

  • Juan     10/01/2024 - 09:48:23

    Soy docente, durante la pandemia armaba paquetes con las clases (.zips) conteniendo el material adjunto (videos, apuntes y codigo fuente). Usé mucho ffmpeg para comprimir las clases en video lo más que podía para que los alumnos puedan descargar todo usando los datos del celular cuando iban al pueblo y tenían señal (vivo en Misiones, y por aquí no hay conectividad total).
    (todo esto fue posible gracias a que las operadoras no les cobraban el uso de datos al descargar desde dominios .edu.ar).

    Otra gran utilidad para tener a mano es mkvtollnix

  • CoYo     12/01/2024 - 11:23:38

    Para mas detalle, FFMPEG es la base de casi todo lo que manipula video. Y si lo compilás a manopla, soporta formatos imposibles e incluso hace uso de hard específico (como GPUS de casi todas las placas de video) para acelerar la compresión.
    Una verdadera revolución que sigue evolucionando.
    Si aprenden a usar los filtros complejos, no tenes nada que envidiarle al mejor composer de video, mezclando transmisiones en vivo con videos, títulos, etc etc, realtime y por consola.
    Combinado con un cluster de proceso (varios equipos trabajando en racimo, o sea, sumando núcleos de procesador o GPUs) es impresionante lo que logra.
    Es un tema fascinante, y da para jugar mucho.

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https

Negrita Cursiva Imagen Enlace


Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.