Tutorial de FFmpeg - ubuntuperonista/wiki_tp GitHub Wiki
- FFmpeg** es una suite de procesadores audiovisuales libres.
Se trata de un programa es muy completo, pero consta de muchos sufijos.
Algunos de los más utilizados son los siguientes procedimientos:
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
ffmpeg -i matroska.mkv -codec copy video.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
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
ffmpeg -i video.mp4 -vn fotograma_%d.png
ffmpeg -i animacion.gif -vn fotograma_%d.png
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
ffmpeg -i matroska.mkv -c copy -map 0:s:0 subtitulo.srt
Ogg es un formato libre de sonido digital con compresión por pérdida.
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";' _ '{}' \;
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";' _ '{}' \;
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 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 es un formato de sonido por pérdida muy extendido, pero es privativo.
ffmpeg -i video.mp4 -vn sonido.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
El codec FLAC de FFmpeg soporta resoluciones de muestreo de 16 y 24 bits (la última ampliada a 32 bits).
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";' _ '{}' \;
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