參考: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
Linux (Ubuntu)
-
下載 FFmpeg 源碼,并將其解壓,這里我將它放在
~/ffmpeg_source
目錄下;cd ~/ffmpeg_sources wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 tar xjvf ffmpeg-snapshot.tar.bz2 cd ffmpeg
-
進入到解壓后的源碼目錄下,配置編譯環境;這里先直接將官網上提供的默認配置命令粘貼到命令行中運行;
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \--prefix="$HOME/ffmpeg_build" \--pkg-config-flags="--static" \--extra-cflags="-I$HOME/ffmpeg_build/include" \--extra-ldflags="-L$HOME/ffmpeg_build/lib" \--extra-libs="-lpthread -lm" \--ld="g++" \--bindir="$HOME/bin" \--enable-gpl \--enable-gnutls \--enable-libaom \--enable-libass \--enable-libfdk-aac \--enable-libfreetype \--enable-libmp3lame \--enable-libopus \--enable-libsvtav1 \--enable-libdav1d \--enable-libvorbis \--enable-libvpx \--enable-libx264 \--enable-libx265 \--enable-nonfree
-
(Optional) 第2步如果你運行下來沒問題,這步就直接跳過。第2步運行的結果大概率會出現如下錯誤提示:
nasm not found or too old. Please install/update nasm or use --disable-x86asm for a build without hand-optimized assembly.
依然參考 FFmpeg 安裝指南中的步驟進行源碼編譯,當然你也可以執行
sudo apt-get install nasm
命令進安裝。wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.bz2 tar xjvf nasm-2.16.01.tar.bz2 cd nasm-2.16.01 ./autogen.sh PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" make make install
執行
nams --version
查看是否編譯成功,若編譯成功,會顯示如下信息:NASM version 2.16.01 compiled on Feb 16 2025
你也使用
nasm --help
命令查看使用 nasm 命令的信息。 -
(optional),減少不必要安裝的包,在 FFmpeg 的安裝指南中,提供的默認安裝配置選項中,會安裝一些可選的特性,通過
./configure --enable-xxx
打開,對于不需要的特性,可以去除--enable-xxx
配置選項。下面提供了精簡后的配置命令:PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \--prefix="$HOME/ffmpeg_build" \--pkg-config-flags="--static" \--extra-cflags="-I$HOME/ffmpeg_build/include" \--extra-ldflags="-L$HOME/ffmpeg_build/lib" \--extra-libs="-lpthread -lm" \--ld="g++" \--bindir="$HOME/bin" \--enable-gpl \--enable-nonfree
-
通過 2、3、4步后,編譯安裝 FFmpeg;
PATH="$HOME/bin:$PATH" make -j4 make install hash -r
-
編譯完成后,執行
ffmpeg --help
命令查看是否安裝成功,安裝成功后會顯示 ffmpeg 的版本信息。 -
ffmpeg 添加到系統路徑中;
vim ~/.bashrc# 在文件末尾添加如下兩行 export PATH="$HOME/bin/":$PATH export LD_LIBRARY_PATH="$HOME/ffmpeg_build/lib":$LD_LIBRARY_PATH# 保存編輯 source ~/.bashrc