Ubuntu 编译FFmpeg源码 + FDK-aac
脚本
#!/bin/bash
sudo apt-get update
sudo apt-get update -qq && sudo apt-get -y install \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libaom-dev \
libdav1d-dev \
libunistring-dev \
libfreetype6-dev \
libgnutls28-dev \
libmp3lame-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
meson \
ninja-build \
pkg-config \
texinfo \
wget \
yasm \
zlib1g-dev \
libx264-dev \
libx265-dev \
libvpx-dev \
libopus-dev \
libfdk-aac-dev \
mkdir ~/ffmpeg_sources
# cd ~/ffmpeg_sources
# git clone --depth 1 https://github.com/mstorsjo/fdk-aac
# cd fdk-aac
# autoreconf -fiv
# ./configure --prefix="/usr/local/ffmpeg" --disable-shared
# sudo make -j8
# sudo make install
# sudo make distclean
# cd ~/ffmpeg_sources
# git clone --depth 1 https://github.com/xiph/opus.git
# cd opus
# ./autogen.sh
# ./configure --prefix="/usr/local/ffmpeg" --disable-shared
# sudo make -j8
# sudo make install
# sudo make distclean
# cd ~/ffmpeg_sources
# git clone --depth 1 https://code.videolan.org/videolan/x264.git
# cd x264
# ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/bin" --enable-static --enable-pic
# sudo make -j8
# sudo make install
# sudo make distclean
# sudo apt-get install libnuma-dev
# cd ~/ffmpeg_sources
# wget -O x265.tar.bz2 https://bitbucket.org/multicoreware/x265_git/get/master.tar.bz2
# tar xjvf x265.tar.bz2
# cd multicoreware*/build/aarch64-linux
# cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/usr/local/ffmpeg" -DENABLE_SHARED=off ../../source
# PATH="/usr/bin:$PATH"
# sudo make -j8
# sudo make install
# sudo make distclean
# cd ~/ffmpeg_sources
# git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git
# cd libvpx
# ./configure --prefix="/usr/local/ffmpeg" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
# sudo make -j8
# sudo make install
# sudo make distclean
# cd ~/ffmpeg_build
# wegt https://www.nasm.us/pub/nasm/releasebuilds/2.16.02rc1/nasm-2.16.02rc1.tar.bz2
# tar xjvf nasm-2.16.02rc1.tar.bz2
# cd nasm-2.16.02rc1
# ./autogen.sh --prefix"/usr/local/ffmpeg" --disable-shared
# sudo make -j8
# sudo make install
# sudo make distclean
# cd ~/ffmpeg_sources
# wget https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
# tar xzvf lame-3.100.tar.gz
# cd lame-3.100
# ./configure --prefix="/usr/local/ffmpeg" --enable-nasm --disable-shared
# sudo make -j8
# sudo make install
# sudo make distclean
cd ~/ffmpeg_sources
wget https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz
tar -xf ffmpeg-6.0.tar.xz
cd ffmpeg-6.0
PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure \
--prefix="/usr/local/ffmpeg" \
--pkg-config-flags="--static" \
--extra-cflags="-I/usr/local/ffmpeg/include" \
--extra-ldflags="-L/usr/local/ffmpeg/lib" \
--extra-libs="-lpthread -lm" \
--ld="g++" \
--bindir="/usr/bin" \
--enable-gpl \
--enable-gnutls \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libdav1d \
--enable-libvorbis \
--enable-libx264 \
--enable-libx265 \
--enable-libvpx \
--enable-nonfree
sudo make -j8
sudo make install
sudo make distclean
hash -r
查看安装结果
ffmpeg -version
安装完成