FFmpeg es un software libre de excelente desempeño para todo lo relacionado a la multimedia; audio y vídeo. Su uso no se limita al sistema linux sino que también es portable a otros sistemas. Con el podemos manipular, pero sobre todo hacer conversiones entre distintos formatos de nuestros archivos de audio: música, podcats, etc. y vídeo. En Ubuntu y cualquier deribada de Debia se instala desde consola tipeando:
apt-get install ffmpeg
Su uso en consola no es complicado, algunos ejemplos:
Supongamos tenemos un vídeo tipo xvid (o divx) de nombre video.avi, con ffmpeg podemos sacar información de este vídeo, tipeamos desde la consola:
ffmpeg -i video.avi
Esto nos podrá dar distintos datos como en el ejemplo siguiente:
Nos presenta en Duration, el tiempo del vídeo; en este ejmplo 43:33:04, el bitrate del vídeo que es de 934 kbps, el tipo mpeg4, la resolución de 512×288 en formato 16:9 a 29.97 frames por segundo. Del Audio nos dice es un mp3 a 44100 hz en stereo (2 canales) a 96 kbps.
Si quremos extrar el audio a ese vídeo, tipeamos en consola:
ffmpeg -i video.avi audio.mp3
Recuerden que video.avi es el nombre de nuestro video, ustedes pongan el nombre del que estén trabajando. En este ejemplo extraemos el audio que anteriormente habíamos visto era un mp3 y le ponemos de nombre audio. Si el audio fuese un AC3 solo cambiaría la extensión.
Si quisiéramos extraer el audio del vídeo en formato WAV, tipeamos:
ffmpeg -i video audio.wav
Ahora de no tiene que ser un video avi, puede ser un mp4, m4v, mpeg, wmv, realplayer, … supongamos que de un video x queremos extraer el audio con ciertos parametros, podríamos tipear:
ffmpeg -i video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3
Examinemos:
- -i Le indicamos el archivo con el que vamos a trabajar, en este caso video.avi
- -vn Nos indica que desactivemos la grabación de vídeo, o sea que lo dejemos tal cual que no lo hagamos ningún proceso.
- -ar Establece la frecuencia de muestreo del audio, por default es de 44100 hz.
- -ac Indicamos los canales de audio, por defecto es uno (monoural), en nuestro caso al ser estereo indicamos 2, si fuese 5.1 (surround) serian 6.
- -ab Es para el bitrate (calidad), por default es de 64 k, nosotros en el ejemplo lo pusimos a 192.
- -f Qué nos de salida en el formato que se describa a continuación en el ejemplo es mp3, aunque podria ser wav, ac3 u otros.
ffmpeg -i audio.dts -acodec ac3 -ac 6 -ab 448k audio.ac3
- -i Le indicamos el archivo con el que vamos a trabajar, en este caso audio.dts
- -acodec Le indicamos cual seria el codec de salida, en este caso sera ac3.
- -ac Indicamos los canales de audio, en nuestro caso al ser surround, es decir 5.1 le indicaremos que son 6 canales.
- -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 448k.
ffmpeg -i video.avi video.mpg
ffmpeg -i video.mpg video.avi
ffmpeg -i video.flv video.avi
ffmpeg -i video.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320×240 -f flv video.flv
- -i Le indicamos el archivo con el que vamos a trabajar, en este caso: video.avi
- -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 56 k.
- -ar Establece la frecuencia de muestreo del audio, lo dejamos en 44100.
- -b Aquí indicamos el bitrate del video, en nuestro ejemplo de 200 kbps
- -r El frame rate, el que viene por default es de 25 (Europeo), en el ejemplo lo bajamos a 15.
- -s Señalamos la resolución de salida del video, en el ejemplo es de 320×240.
- -f Qué nos de salida en el formato que se describa a continuación en el ejemplo es flv.
ffmpeg -i video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 700kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320×180 -title X video.mp4
- -i Le indicamos el archivo con el que vamos a trabajar, en este caso: video.avi
- input Vamos a indicar con que vamos a trabajar:
- -acodec indica el codec de audio a utilizar, en este ejemplo es aac.
- -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 128 k. Recuerden que acc es de mayor calidad y mejor compresión que el mp3.
- -vcodec señala el code de vídeo a utilizar, en nuestro ejemplo es: mpeg4.
- -b Aquí indicamos el bitrate del video, en nuestro ejemplo de 700 kbps.
- -mbd Aquí indicamos que vamos a trabajar sobre una serie de bloques del estandar h264.
- 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2: Ordenes relacionadas a la comprseión h264.
- -s Señalamos la resolución de salida del video, en el ejemplo es de 320×180.
- video.mp4 sera nuestro vídeo resultante.
ffmpeg -i audio.wav -acodec mp3 -ab 192 -ar 44100 audio.mp3
- -i Le indicamos el archivo con el que vamos a trabajar, en este caso: audio.wav.
- -acodec indica el codec de audio a utilizar, en este ejemplo es mp3.
- -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 192 kbps.
- -ar Establece la frecuencia de muestreo del audio, lo dejamos en 44100.
Combinar una serie de imágenes en un vídeo
ffmpeg -f image2 -i imagen%d.jpg video.mpg
Convertir un vídeo en imágenes
ffmpeg -i video.mpg imagen%d.jpg
Convertir un vídeo para verlo en la PSP
ffmpeg -i entrada.avi -b 300 -s 320×240 -vcodec xvid -ab 32 -ar 24000 -acodec aac salida.mp4
Convertir un avi a gif
ffmpeg -i entrada.avi salida.gif
Añadir el sonido de un archivo de audio a un vídeo
ffmpeg -i audio.wav -i video_entrada.avi video_salida.mpg
Convertir avi a dv
ffmpeg -i entrada.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 salida.dv
o bien
ffmpeg -i entrada.avi -target pal-dv salida.dv
Convertir avi a mpeg para reproductores de dvd
ffmpeg -i entrada.avi -target pal-dvd -ps 2000000000 -aspect 16:9 salida.mpeg
Comprimir avi a divx
ffmpeg -i entrada.avi -s 320×240 -vcodec msmpeg4v2 salida.avi
Comprimir Ogg Theora a Mpeg dvd
ffmpeg -i entrada.ogm -s 720×576 -vcodec mpeg2video -acodec mp3 salida.mpg
Comprimir avi a SVCD mpeg2
Para PAL:
ffmpeg -i entrada.avi -target pal-svcd salida.mpg
Para NTSC:
ffmpeg -i entrada.avi -target ntsc-svcd salida.mpg
Comprimir avi a VCD mpeg2
Para PAL:
ffmpeg -i entrada.avi -target pal-vcd salida.mpg
Para NTSC:
ffmpeg -i entrada.avi -target ntsc-vcd salida.mpg
Codificación con varias pasadas
ffmpeg -i entrada -pass 2 -passlogfile ffmpeg2pass salida