Jugando con FFmpeg

En pocas palabras, podría decir que [FFmpeg->@wiki] es como una navaja suiza para trabajar con audio y video; en algunas palabras más, tendría que agregar que es una colección de software libre que puede grabar, convertir y hace streaming de audio y vídeo. Si utilizas Linux, es posible que la hayas ocupado (a través de alguna GUI, probablemente); si estás en Windows, es posible que hayas ocupado [Ffdshow->@wiki], que es parte del mismo proyecto pero enfocado a este sistema operativo.

Una cosa interesante de FFmpeg es que suele estar disponible en algunos servicios de alojamiento web (por ejemplo, en DreamHost está en /usr/bin), lo que puede ser útil por ejemplo, si utilizas [Gallery 2->Galerías de imágenes 2: pesos medio y liviano] y has subido archivos de video o audio a tu instalación. Por otra parte, si tienes acceso mediante [SSH->@wiki], tanto mejor.

Revisaré dos usos posibles de FFmpeg, para realizar en local o remoto (aunque probablemente tu host te lo agradecerá que lo hagas en local).

Su sintaxis general de utilización es ffmpeg [[infile options]['-i' infile]]... {[outfile options] outfile}...; puedes ver todas las opciones disponibles en FFmpeg Documentation

Convertir grabaciones de audio a mp3

Hace algo más de año y medio tengo un reproductor de MP3 que además puede grabar audio, y he usado en varias oportunidades con este propósito, por ejemplo, para grabar algunas conferencias a las que he asistido.

El formato en el que las guarda es algo peculiar: WAV [ADPCM->@wiki], 8000Hz, 32 kbps. Lo bueno es que ocupa muy poco espacio con una calidad que es suficiente para grabar voz; lo malo es que suele darme problemas al tratar de reproducirlo en Ubuntu.

La solución: transformar el audio desde aquel extraño formato al viejo y querido [MP3->Codecs: una introduccion (II) – MP3]; el comando:

ffmpeg -i input.wav -acodec mp3 -ab 32 -ar 44100 output.mp3

Donde -i señala el archivo de entrada, -acodec el codec de salida, -ab el bitrate y -ar la frecuencia de muestreo.

Recuerda que estoy trabajando con grabaciones de voz, para las que no es necesario un bitrate muy alto; en caso de que se trate de música, el bitrate algo más alto (96, 128, 160, 192…)

Codificar un video flash

…tal como los que vemos en YouTube o los que podemos poner con [WordTube->wpTube (traducción al español)].

Esta es una buena opción si quieres subir un video y tu ancho de banda de subida es limitado, puesto que el video flash (.flv) muy probablemente pesará mucho menos que el original. El comando:

ffmpeg -i input.avi -acodec mp3 -ab 32 -ac 1 -ar 44100 output.flv

Bastante parecido al anterior, pero se agrega -ac 1 que indicará un canal de audio de salida (o sea, en mono, no en estéreo). Como el archivo de salida tiene extensión flv, FFmpeg ajusta las demás opciones de manera acorde para generar un video apto para reproductores Flash.