参考: 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