FFmpeg es una potente y extensible herramienta de software libre diseñada para el procesamiento de audio y video. Nos permite manipular, convertir, transformar, aplicar filtros, entre una gran cantidad de formatos multimedia de manera eficiente y precisa.
FFmpeg proporciona una interfaz de línea de comandos para realizar tareas complejas de manera programática. Y existen muchas muchas muchas (muchas!) combinaciones posibles.
Por supuesto, nunca me acuerdo de la mayoría de comandos, así que tengo mi chuletario. Que os comparto por si es os es de utilidad, para los que tenemos memoria de pez 🐠. ¡Espero que os sea útil!
Si no lo tienes instalado, puedes hacerlo con
choco install ffmpeg
Para obtener información
Obtener información del sistema
Obtener los códecs disponibles en FFmpeg.
ffmpeg -codecs
ffmpeg -formats
Obtener información de un vídeo
Muestra información detallada sobre un archivo de vídeo, como duración, resolución, códecs de audio y video.
ffmpeg -i video.mp4
Obtener información sin banner de derechos de autor
Muestra información de un archivo de vídeo sin mostrar el banner de derechos de autor.
ffmpeg -i video.flv -hide_banner
Guardar información a un fichero json
Guarda información detallada de un archivo de vídeo en formato JSON.
ffprobe -i video.flv -print_format json -hide_banner
Para convertir vídeos
Convertir entre formatos de video
Convierte un archivo de video de un formato a otro.
ffmpeg -i video_original.avi output.mp4
Recomprimir video
Recomprime un video utilizando el códec libx264 para mejorar la calidad y reducir el tamaño del archivo.
ffmpeg -i youtube.flv -c:v libx264 filename.mp4
Concatenar varios videos
Une varios archivos de vídeo en uno solo sin necesidad de volver a codificarlos.
ffmpeg -i "concat:video1.mp4|video2.mp4|video3.mp4" -c copy output.mp4
Extraer fragmento de video
Corta un fragmento específico de un video sin volver a codificar.
ffmpeg -i video.mp4 -ss 00:01:30 -t 00:00:30 -codec copy output.mp4
Cambiar velocidad de video
Ajusta la velocidad del video cambiando los fotogramas por segundo.
ffmpeg -i video.mp4 -filter:v "setpts=0.5*PTS" output.mp4
Para transformar videos
Escalar video
Cambia la resolución de un video manteniendo la proporción.
ffmpeg -i video.mp4 -vf scale=640:360 output.mp4
Escalar video proporcional
Ajusta la altura de un video manteniendo la proporción original.
ffmpeg -i video.mp4 -vf scale=320:-1 output.mp
Rotar video
Rota un video en sentido horario.
ffmpeg -i video.mp4 -vf transpose=clock output.mp4
Voltear video
Voltea horizontal o verticalmente un video.
ffmpeg -i video.mp4 -vf hflip output.mp4
ffmpeg -i video.mp4 -vf vflip output.mp4
Cortar video
Recorta un video a la resolución y posición específicas.
ffmpeg -i video.mp4 -filter:v "crop=640:480:200:150" output.mp4
Siendo
- 640:400, ancho y alto
- 200:150, coordenadas X, Y del crop
Poner marca de agua
Añade un logo como marca de agua en un video.
ffmpeg -i video.mp4 -i logo.png -filter_complex overlay=10:10 output.mp4
Para gestionar audio
Volumen
Subir volumen de audio
Aumenta el volumen de un video.
ffmpeg -i video.mp4 -af 'volume=0.5' output.mp4
Silenciar video
Elimina la pista de audio de un video.
ffmpeg -i video.mp4 -an output.mp4
Añadir o quitar pistas
Extraer audio de un vídeo
Extrae la pista de audio de un archivo de video.
ffmpeg -i video.mp4 -vn output.mp3
Añadir pista de audio
Añade una pista de audio a un video existente.
ffmpeg -i video.mp4 -i audio.mp3 -map 0:v -map 0:a -map 1:a -vcodec copy output.mp4
Conversión y remuestreo
Convertir entre formatos de audio
Convierte un archivo de audio de un formato a otro.
ffmpeg -i audio.mp3 -acodec pcm_s16le output.wav
Recortar audio
Recorta un fragmento de audio sin volver a codificar.
ffmpeg -i audio.mp3 -ss 00:01:30 -t 30 -acodec copy output.mp3
Recomprimir audio
Recomprime un archivo de audio con una tasa de bits de 128.
ffmpeg -i audio.mp3 -ab 128 output.mp3
Remuestrear audio
Cambia la frecuencia de muestreo de un archivo de audio.
ffmpeg -i audio.mp3 -ar 16000 output.mp3
Relacionados con imágenes
Extraer imágenes de video
Extraer fotogramas de un vídeo
Extrae un fotograma específico de un video.
ffmpeg -i video.mp4 -ss 00:00:30 -vframes 1 output.png
Extraer imágenes cada 15 segundos (fps 1/15)
Extrae imágenes de un video a intervalos específicos.
ffmpeg -i video.mp4 -vf "fps=1/15,select='not(mod(n,1))'" output_%d.png
Extraer un gif desde un vídeo
Convierte un video en un GIF animado.
ffmpeg -i video.mp4 -vf scale=300:-1 -t 10 -r 10 output.gif
Crear video desde imágenes
Combinar imágenes en un vídeo
Combina imágenes estáticas en un video.
ffmpeg -i video.mp4 -r 0.25 output_%04d.png
Crear un video con imagen estática y audio
Crea un video con una imagen estática y un archivo de audio.
ffmpeg -loop 1 -y -i imagen.png -i audio.mp3 -shortest output.mp4
Concatenar imágenes en vídeo
Combina imágenes en formato JPG en un video.
cat *.JPG | ffmpeg -f image2pipe -r 0.3 -vcodec mjpeg -i – -vcodec libx264 output.mp4