Compilación de FFmpeg en Linux

Este artículo explica como compilar FFmpeg en Linux, Ubuntu o Debian.

Desintalar versiones anteriores

En el caso de que ya exista una versión de FFmpeg y x264 instalada, es necesario eliminarlas para no causar conflictos con la nueva versión que se instalará. Para ello, se deben ejecutar los siguientes comandos:

sudo apt-get remove ffmpeg x264 libx264-dev

Instalar dependencias

Para compilar FFmpeg, se necesita una serie de librerías, las cuales se pueden instalar con el siguiente comando:

sudo apt-get updatesudo apt-get install build-essential git-core checkinstall yasm texi2html libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev

Instalar librería x264

Para instalar la librería x264, se deben ejecutar los siguientes comandos, los cuales descagarán la última versión desde los repositorios git de ffmpeg y luego se compilará e instalará la versión.

cd
git clone git://git.videolan.org/x264
cd x264
./configure
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --default

Instalar FFmpeg

Para instalar FFmpeg, se deben ejecutar los siguientes comandos, los cuales descargan, compilan e instalan la última versión de FFmpeg.

cd
git clone git://git.videolan.org/ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default
hash x264 ffmpeg ffplay ffprobe

Probar FFmpeg

Una vez instalado, para realizar pruebas se pueden utilizar los siguientes videos:

El comando de FFmpeg para probar, es el siguiente:

ffmpeg -i VideoPrueba.avi -y -vcodec libx264 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method umh -subq 8 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 2 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -directpred 3 -trellis 1 -coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8+mbtree -level 30 -maxrate 10000000 -bufsize 10000000 -wpredp 0 -g 25 -b 600000 -acodec libfaac -ar 44100 -ab 96k -f mp4 VideoPrueba.mp4