FFmpeg es una suite multiplataforma para grabar, convertir y transmitir audio y video. Utilizando FFmpeg es posible codificar, decodificar, transcodificar, multiplexar, demultiplexar, transmitir (streaming), filtrar y reproducir casi cualquier formato existente. Soporta desde los formatos más obsoletos hasta los más modernos, sin importar si han sido desarrollados por un estándar, la comunidad, o una corporación.

Gracias a FFmpeg, convertir videos es tan fácil como (por ejemplo, para convertir de formato mp4 a avi):

$ ffmpeg -i input.mp4 output.avi

FFmpeg hace todo el trabajo automágicamente, aunque por supuesto el usuario avanzado tiene la posibilidad de configurar todos y cada uno de los parámetros disponibles de cada formato contenedor, codec, filtro, etc.

FFmpeg está disponible tanto para GNU/Linux, como para Windows y OS X. CentOS no provee un paquete oficial para instalar FFmpeg desde sus repositorios, por lo que es necesario compilarlo desde su código fuente.

Descargar la última versión disponible desde su sitio oficial: ffmpeg.org/releases/.

$ wget http://ffmpeg.org/releases/ffmpeg-2.3.1.tar.bz2

Extraer el contenido del paquete con tar:

$ tar xf ffmpeg-2.3.1.tar.bz2 

Cambiar al directorio descomprimido:

$ cd ffmpeg-2.3.1/

Las instrucciones de instalación se encuentran en el archivo INSTALL.md:

$ less README.md
$ less INSTALL.md

FFmpeg compila ciertas secciones de código utilizando el ensamblador yasm (para mejorar el rendimiento). Por ello es necesario instalarlo ejecutando:

$ sudo yum install yasm

Antes de configurar y compilar, es posible revisar detenidamente las opciones de configuración ejecutando:

$ ./configure --help

FFmpeg posee una vasta cantidad de opciones de configuración, que permiten habilitar/deshabilitar una infinidad de características. En mi caso dejé la mayoría de las opciones por defecto, sólo decidí habilitar el soporte para formatos y codecs libres y nonfree, habilité el uso de hilos, y el soporte para capturar video desde X11:

$ ./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-x11grab

Finalmente, compilar e instalar

$ make
$ sudo make install

Esta vez necesité capturar sólo una sección de video del escritorio en GNU/Linux. Para ello utilicé el siguiente comando:

ffmpeg -f x11grab -s `xdpyinfo | grep dimensions | awk '{print $2}'` -r 25 -i :0.0 -vf crop=800:600:200:100 /tmp/outvideo.mkv

Mediante -f x11grab se indica que capture video del escritorio, -s especifica el tamaño del escritorio (xdpyinfo | grep dimensions | awk '{print $2}), el frame ratio es 25, -i :0.0 indica que capture de la pantalla 0 (en caso de tener múltiples monitores), y (la parte más interesante de este comando) mediante el filtro de video "crop" se indica que recorte el rectángulo de 800x600 píxeles desde la posición horizontal 200 píxeles (desde la derecha) y vertical 100 píxeles (desde arriba).

Espero que les haya gustado.


Tal vez pueda interesarte


Compartí este artículo