Directorio de artículos
Apéndice 2 Compilación de FFmpeg en Linux
1 Instalar dependencias
yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel
2 NASM
NASM es el nombre de un ensamblador, el nombre completo es Netwide Assembler, que admite CPU con arquitectura x86 y x64 (tenga en cuenta que la arquitectura ARM no es compatible).
wget --no-check-certificate https://www.nasm.us/pub/nasm/releasebuilds/2.15/nasm-2.15.tar.gz
tar -xvf nasm-2.15.tar.gz
cd nasm-2.15/
./configure
make && sudo make install
3 yasm
YASM es un ensamblador bajo la plataforma de Windows.
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && sudo make install
4libx264
La biblioteca de codificación x264 libx264 implementa codificación y decodificación de video real. El algoritmo de codificación y decodificación se basa en tecnología de codificación híbrida basada en bloques, es decir, predicción intra-cuadro / entre cuadros, luego transforma y cuantifica el valor predicho y finalmente entropía. codificación. Los tipos de fotogramas codificados se dividen en fotogramas I (x264_type_i), fotogramas P (x264_type_p) y fotogramas B (x264_type_b), que se denominan sectores de imagen en H264.
Es necesario configurar ffmpeg como --enable-gpl --enable-libx264.
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
./configure --enable-shared --enable-static
make && make install
5libx265
Codificador de vídeo H.265/HEVC.
Es necesario configurar ffmpeg como --enable-gpl --enable-libx265.
git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_git
cd x265_git/source
cmake ../source
make && make install
6libfdk_aac
Requiere que ffmpeg esté configurado con --enable-libfdk_aac (y --enable-nonfree si también incluyó --enable-gpl).
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --disable-shared
make
make install
7 libmp3lame
Codificador de audio MP3.
Requiere que ffmpeg esté configurado con --enable-libmp3lame.
wget --no-check-certificate https://sourceforge.net/projects/lame/files/latest/download/lame-3.100.tar.gz
tar xf lame-3.100.tar.gz
cd lame-3.100
./configure --disable-shared --enable-static
make && make install
8 botellas
Decodificador y codificador de audio Opus.
Requiere que ffmpeg esté configurado como --enable-libopus.
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --disable-shared
make
make install
9 libvpx
El codificador y decodificador de video P8/VP9
requiere que ffmpeg esté configurado con --enable-libvpx.
git clone https://github.com/webmproject/libvpx.git
cd libvpx
./configure --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install
10 FFmpeg
wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz
tar xf ffmpeg-5.1.tar.gz
cd ffmpeg
./configure --prefix="/usr/local/ffmpeg" --pkg-config-flags="--static" --extra-libs=-lpthread --extra-libs=-lm --enable-gpl --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
make
make install