Ubuntu22.04安装ffmpeg(v7.0)

需下载文件:ffmpeg-7.0.tar.gz

安装步骤

1. 创建目录

mkdir -p /ffmpeg && cd ffmpeg

2. 下载文件

wget https://ffmpeg.org/releases/ffmpeg-7.0.tar.gz

3. 解压

tar -zxvf ffmpeg-7.0.tar.gz && cd ffmpeg-7.0

4. 安装环境依赖

官网说明:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

sudo apt-get update -qq && sudo apt-get -y install \
  autoconf automake build-essential cmake git-core libass-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

Ubuntu 20.04需额外安装以下环境
sudo apt install libunistring-dev libaom-dev libdav1d-dev


5. 编译安装

推荐编译(二选一)

./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-libx264 --enable-libx265

完整编译(二选一)
参数较多,编译后安装体积较大,请根据下文含义按需删减后再编译

./configure --enable-shared \
  --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig \
  --enable-gnutls --enable-iconv --enable-libass --enable-libbluray \
  --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb \
  --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr \
  --enable-libtheora --enable-libtwolame --enable-libvpx \
  --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 \
  --enable-libxml2 --enable-lzma --enable-zlib --enable-gmp \
  --enable-libvorbis --enable-libvo-amrwbenc --enable-libspeex \
  --enable-libxvid --enable-libaom --enable-avisynth --enable-libopenmpt \
  --enable-libfdk-aac --enable-nonfree

参数解释
编译特性与库支持:

  • --enable-shared: 生成共享库(.so 文件),使FFmpeg库能在多个应用程序间共享。
  • --enable-gpl: 启用使用GNU General Public License (GPL)兼容的组件,允许使用某些可能受GPL约束的编码器或解码器。
  • --enable-version3: 指定启用FFmpeg项目版本3的特性和API。

多媒体框架与图形支持:

  • --enable-sdl2: 启用Simple DirectMedia Layer (SDL)库支持,可能用于FFmpeg的某些工具或测试。
  • --enable-fontconfig: 支持字体配置系统,便于处理字幕和图形中的文字。
  • --enable-gnutls: 启用GnuTLS库支持,用于实现安全的网络传输(如HTTPS)。

编码与解码库:

  • --enable-libass: 支持ASS/SSA字幕格式。
  • --enable-libbluray: 支持Blu-ray Discs的处理。
  • --enable-libmp3lame: 支持LAME MP3编码。
  • --enable-libopencore-amrnb, --enable-libopencore-amrwb: 支持AMR-NB和AMR-WB音频编码/解码。
  • --enable-libopus: 支持Opus音频编码/解码。
  • --enable-libshine: 支持Shine MP3音频编码。
  • --enable-libsnappy: 支持Snappy视频压缩算法。
  • --enable-libsoxr: 支持高质量音频重采样。
  • --enable-libtheora: 支持Theora视频编码/解码。
  • --enable-libtwolame: 支持TwoLAME MP2音频编码。
  • --enable-libvpx: 支持VP8/VP9视频编码/解码。
  • --enable-libwavpack: 支持WavPack音频压缩。
  • --enable-libwebp: 支持WebP图像编码/解码。
  • --enable-libx264, --enable-libx265: 支持H.264和H.265视频编码。
  • --enable-libxvid: 支持Xvid MPEG-4 Part 2视频编码。
  • --enable-libaom: 支持AV1视频编码/解码。
  • --enable-libopenmpt: 支持OpenMPT模块音乐播放。
  • --enable-libfdk-aac: 支持FDK AAC音频编码。
  • --enable-nonfree: 允许使用非*(专有)软件组件。

其他依赖与功能:

  • --enable-libvorbis: 支持Vorbis音频编码/解码。
  • --enable-libvo-amrwbenc: 支持AMR-WB音频编码。
  • --enable-libspeex: 支持Speex音频编码/解码。
  • --enable-libxml2: 支持XML解析,可能用于处理元数据或字幕。
  • --enable-lzma: 支持LZMA压缩算法。
  • --enable-zlib: 支持Zlib压缩算法。
  • --enable-gmp: 支持GNU Multiple Precision Arithmetic Library,可能用于加密或数学运算。

安装

make -j 4 && make install

测试

ffmpeg --version
上一篇:bert论文学习


下一篇:windows ffmpeg7 通过rtsp拉取h265裸流