Cómo instalar FFmpeg en Linux


FFmpeg es uno de los mejores marcos multimedia que contiene varias herramientas para diferentes tareas. Por ejemplo, ffplay es un reproductor multimedia portátil que se puede usar para reproducir archivos de audio/video, ffmpeg puede convertir entre diferentes formatos de archivo, ffserver se puede usar para transmitir transmisiones en vivo y ffprobe es capaz de analizar transmisiones multimedia.

Este framework es realmente poderoso debido a la diversidad de herramientas disponibles en él, que brindan la mejor solución técnica para el usuario. Según la descripción de FFmpeg en el sitio web oficial, la razón de tener un marco multimedia tan bueno es la combinación de las mejores opciones de software gratuito disponibles.

El framework FFmpeg ofrece alta seguridad y la razón de esto es la seriedad de los desarrolladores cuando revisan el código, siempre se hace teniendo en cuenta la seguridad.

Estoy muy seguro de que este marco le resultará muy útil cuando desee realizar una transmisión o grabación de audio y video digital. Hay muchas otras cosas prácticas que puede hacer con la ayuda del marco FFmpeg, como convertir su archivo wav a mp3, codificar y decodificar sus videos o incluso escalarlos.

Según el sitio web oficial, FFmpeg puede hacer lo siguiente.

  1. decodificar archivos multimedia
  2. codificar archivos multimedia
  3. transcodificar archivos multimedia
  4. archivos multimedia múltiples
  5. archivos multimedia demux
  6. transmitir archivos multimedia
  7. filtrar archivos multimedia
  8. reproducir archivos multimedia

Permítanme tomar un ejemplo, uno muy simple. El siguiente comando convertirá su archivo mp4 en un archivo avi, así de simple.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

El comando anterior solo es útil para la explicación, no se recomienda su uso en la práctica porque el códice, la tasa de bits y otros detalles no están declarados.

En la siguiente parte practicaremos con algunas de las herramientas del framework multimedia FFmpeg, pero antes de hacerlo tenemos que instalarlo en nuestra caja Linux.

Cómo instalar FFmpeg Multimedia Framework en Linux

Dado que los paquetes FFmpeg se ofrecen para las distribuciones de Linux más utilizadas, la instalación será relativamente fácil. Comencemos con la instalación del marco FFmpeg en distribuciones basadas en Ubuntu.

Instalaré FFmpeg a través del PPA recomendado en el blog oficial. Abra una nueva terminal (CTRL + ALT + T) y luego ejecute los siguientes comandos.

$ sudo add-apt-repository ppa:mc3man/trusty-media
$ sudo apt-get update
$ sudo apt-get install ffmpeg
$ ffmpeg -version

Para instalar FFmpeg, primero debe agregar la siguiente línea a su archivo /etc/apt/sources.list . Según su distribución, cambie " " por "stretch", "jessie" o "wheezy".

deb http://www.deb-multimedia.org <mydist> main non-free deb-src http://www.deb-multimedia.org <mydist> main non-free

Luego actualice las fuentes del paquete del sistema e instale FFmpeg con los siguientes comandos.

$ sudo apt-get update
$ sudo apt-get install deb-multimedia-keyring
$ sudo apt-get update
$ sudo apt-get install ffmpeg
$ ffmpeg -version

Para instalar FFmpeg en distribuciones CentOS y RHEL, debe habilitar el repositorio EPEL y RPM Fusion en el sistema mediante los siguientes comandos.

Para instalar y habilitar EPEL, use el siguiente comando.

# yum install epel-release

Para instalar y habilitar RPM Fusion, use el siguiente comando en su versión de distribución.

-------------- On CentOS & RHEL 7.x -------------- 
# yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm

-------------- On CentOS & RHEL 6.x --------------
# yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm

Después de habilitar los repositorios, ejecute el siguiente comando para instalar FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

En Fedora, debe instalar y habilitar RPM Fusion para instalar FFmpeg como se muestra.

$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
$ sudo dnf install ffmpeg ffmpeg-devel
$ ffmpeg -version

Compilar software desde la fuente no es la cosa más fácil del mundo, pero con las instrucciones adecuadas podremos hacerlo. Primero asegúrese de que su sistema cumpla con todas las dependencias. La instalación de estas dependencias se puede realizar con la ayuda de los siguientes comandos.

Primero, dígale al sistema que despliegue los paquetes más recientes.

$ sudo apt-get update

Instale las dependencias con el siguiente comando.

-------------- On Debian & Ubuntu --------------
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev \
libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev
-------------- On CentOS and RHEL --------------
# yum install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig SDL-devel \
a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel freetype-devel giflib gsm gsm-devel \
imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel libXau-devel libXdmcp-devel \
libXext-devel libXrandr-devel libXrender-devel libXt-devel libogg libvorbis vorbis-tools mesa-libGL-devel \
mesa-libGLU-devel xorg-x11-proto-devel zlib-devel libtheora theora-tools ncurses-devel libdc1394 libdc1394-devel \
amrnb-devel amrwb-devel opencore-amr-devel

Luego use el siguiente comando para crear un nuevo directorio para las fuentes FFmpeg. Este es el directorio donde se descargarán los archivos fuente.

$ mkdir ~/ffmpeg_sources

Ahora compile e instale el ensamblador yasm usado por FFmpeg ejecutando los siguientes comandos.

$ cd ~/ffmpeg_sources
$ wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
$ tar xzvf yasm-1.3.0.tar.gz
$ cd yasm-1.3.0
$ ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
$ make
$ make install
$ make distclean
$ export "PATH=$PATH:$HOME/bin"

Una vez que haya instalado correctamente el ensamblador de yasm, es hora de instalar varios codificadores que se utilizarán con las herramientas específicas de FFmpeg. Utilice los siguientes comandos para instalar el codificador de video H.264.

$ cd ~/ffmpeg_sources
$ wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
$ tar xjvf last_x264.tar.bz2
$ cd x264-snapshot*
$ ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
$ make
$ make install
$ make distclean

Otro codificador útil y agradable es el codificador de audio libfdk-aac AAC.

$ cd ~/ffmpeg_sources
$ wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master
$ unzip fdk-aac.zip
$ cd mstorsjo-fdk-aac*
$ autoreconf -fiv
$./configure --prefix="$HOME/ffmpeg_build" --disable-shared
$ make
$ make install
$ make distclean

Instale el decodificador y codificador de audio libopus.

$ cd ~/ffmpeg_sources
$ wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz
$ tar xzvf opus-1.1.tar.gz
$ cd opus-1.1
$ ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
$ make
$ make install
$ make distclean

Ahora es el momento de instalar ffmpeg desde la fuente.

$ cd ~/ffmpeg_sources
$ wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
$ tar xjvf ffmpeg-snapshot.tar.bz2
$ cd ffmpeg
$ PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
$ export PKG_CONFIG_PATH
$ ./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" \
   --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl \
   --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus \
   --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
$ make
$ make install
$ make distclean
$ hash -r

Nota: Si no ha instalado ciertos codificadores, asegúrese de eliminar "–enable-encoder_name" del comando "./configure" anterior para que la instalación se realice sin ningún problema.

Hay muchos codificadores que puedes instalar, pero para el propósito de este artículo no voy a instalarlos todos, pero puedes instalarlos usando las siguientes guías oficiales.

  1. Guía de compilación de FFmpeg para Ubuntu
  2. Guía de compilación de FFmpeg para CentOS

Conclusión

En esta primera parte actualizamos a nuestros lectores con las últimas novedades según el framework multimedia FFmpeg y les mostramos cómo instalarlo en sus máquinas Linux. La siguiente parte tratará totalmente de aprender a usar las increíbles herramientas dentro de este marco multimedia líder.

Actualización: Se publica la Parte 2 de esta serie FFmpeg, que muestra algunos usos útiles de la línea de comandos ffmpeg para realizar varios procedimientos de conversión de audio, video e imágenes: 15 Comandos "FFmpeg" útiles para la conversión de video, audio e imágenes en Linux.