¡Esta es una revisión vieja del documento!
Tutorial de FFmpeg
FFmpeg es una suite de procesadores audiovisuales libres.
La suite te permitirá convertir y operar entre múltiples formatos de audio y sonido digital desde la terminal de tu sistema.
Se trata de un programa es muy completo, pero consta de muchos sufijos.
Algunos de los más utilizados son los siguientes procedimientos:
Video
Extraer un recorte del video
Recortar un video desde la marca de tiempo inicial mm:ss hasta la marca de tiempo final mmf:ssf:
ffmpeg -ss mm:ss -to mmf:ssf -i video.mp4 -codec copy recorte.mp4
Por ejemplo, para extraer desde el minuto 1:02 al minuto 4:32 se usa:
ffmpeg -ss 01:00 -i "video.mp4" -to 04:32 -c copy recorte.mp4
Remuxear el video del contenedor matroska MKV a MP4 sin recodificar los streams de audio ni video
ffmpeg -i matroska.mkv -codec copy video.mp4
Remuxear el video del contenedor WebM a MP4 sin recodificar los streams de audio ni video
ffmpeg -i video.webm -c copy video.mp4
Convertir video AVI a MP4
Para convertir un video AVI a MP4 con códec de audio AAC a 128 kbps y códec de video h264 CRF 23
ffmpeg -i video.avi -codec:audio aac -b:audio 128k -codec:video libx264 -crf 23 video.mp4
Convertir video MP4 a VP9
Para mayor calidad, se recomienda utilizar un valor CRF entre 15-35.
ffmpeg -i video.mp4 -codec:video libvpx-vp9 -crf 30 -b:video 0 -codec:audio libopus video.vp9
Extraer un fotograma de un video desde la marca de tiempo mm:ss y guardarla como una imagen de resolución 128x128 píxels
ffmpeg -ss mm:ss -i video.mp4 -frames 1 -s 128x128 -f image2 fotograma.png
Convertir fotogramas de un fichero de video o GIF en imágenes numeradas
ffmpeg -i video.mp4 -vn fotograma_%d.png ffmpeg -i animacion.gif -vn fotograma_%d.png
Combinar fotogramas numerados en un video o GIF
Para combinar imágenes numeradas (cuadro_1.jpg, cuadro_2.jpg, etc) en un archivo de video MPG o GIF:
ffmpeg -i cuadro%d.jpg -f image2 video.mpg ffmpeg -i cuadro%d.jpg -f image2 animacion.gif
Extraer un subtitulo.srt desde un contenedor de video matroska.mkv
ffmpeg -i matroska.mkv -c copy -map 0:s:0 subtitulo.srt
Audio
Ogg
Ogg es un formato libre de sonido digital con compresión por pérdida.
Convertir de .wav a .ogg
Convierte todos los ficheros .wav en un directorio y sus subdirectorios, comprimiéndolos a .ogg:
find . -type f -iname "*.wav" -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vn -y "${FILE%.wav}.ogg";' _ '{}' \;
Convertir de .flac a .ogg
Convierte todos los ficheros .flac de un directorio y sus subdirectorios y los comprime a .ogg
find . -type f -iname "*.flac" -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vn -y "${FILE%.flac}.ogg";' _ '{}' \;
Convertir de .webm a .ogg
Extraer el audio de todos los ficheros .webm en un directorio y sus subdirectorios, y convertirlos a .ogg:
find . -type f -iname "*.webm" -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vn -y "${FILE%.webm}.ogg";' _ '{}' \;
Convertir .opus a .ogg
Convertir todos los ficheros de audio .opus en un directorio y sus subdirectorios, en .ogg:
find . -type f -iname "*.opus" -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vn -y "${FILE%.opus}.ogg";' _ '{}'
MP3
MP3 es un formato de sonido por pérdida muy extendido, pero es privativo.
Extraer el sonido de un video y guardarlo como MP3
ffmpeg -i video.mp4 -vn sonido.mp3
Convertir APE a MP3
Esto convertirá fichero.ape a un archivo MP3 con una resolución de 320 Kbps (calidad alta para un MP3).
ffmpeg -i 'fichero.ape' -acodec libmp3lame -b 320k -id3v2_version 3 fichero.mp3
FLAC
El codec FLAC de FFmpeg soporta resoluciones de muestreo de 16 y 24 bits (la última ampliada a 32 bits).
Conviertir WAV a FLAC
Para convertir un fichero de audio .wav de calidad CD (16-bit, 44.1 kHz, estéreo) comprendiéndolo a .flac:
ffmpeg -i fichero.wav -af aformat=s16:44100 fichero.flac
Convierte todos los ficheros .wav en un directorio y sus subdirectorios, y comprimirlos a .flac:
find . -type f -iname "*.wav" -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vn -y "${FILE%.wav}.flac";' _ '{}' \;
Convertir WAV de 24 bits
Como los WAV de 24 bits se extrapolan a 32 bits, convendrá utilizar un filtro intermedio tipo peine. Por ejemplo, esto codifica a 24 bits a 176 kHz (almacenándolo en 32 bits):
ffmpeg -i fichero.wav -af aformat=s32:176000 fichero.flac
Convertir de DSF a FLAC
Para convertir un fichero DSF a FLAC:
Cuando se convierten ficheros DSF de discos compactos “Super Audio” (SACD) de al formato FLAC de 32 bits, el proceso de conversión a menudo induce distorsión de las frecuencias altas. Para eliminarlos, conviene utilizar un filtro pasabajos durante la conversión.
ffmpeg -i fichero.dsf -af "lowpass=24000,volume=6dB" -sample_fmt s16 -ar 48000 fichero.flac
Para convertir todos los ficheros DSF de un directorio a FLAC:
for i in *.dsf; do ffmpeg -i "$i" -af "lowpass=24000,volume=6dB" -sample_fmt s16 -ar 48000 "${i%.*}.flac"; done
Para convertir todos los ficheros DSF de un directorio a FLAC de 32 bits con filtrado pasabajos:
for i in *.dsf; do ffmpeg -i "$i" -af "lowpass=24000, volume=6dB" -sample_fmt s32 -ar 48000 "${i%.*}.flac"; done
