安装步骤
1. 创建目录
bash
mkdir -p /ffmpeg && cd ffmpeg
2. 下载文件
bash
wget https://ffmpeg.org/releases/ffmpeg-7.0.tar.gz
3. 解压
bash
tar -zxvf ffmpeg-7.0.tar.gz
4. 安装环境依赖
官网说明:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
bash
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. 安装x264依赖(非必须)
安装编译依赖
bash
apt-get -y install git-core cmake build-essential
下载源码并编译安装
bash
git clone https://code.videolan.org/videolan/x264.git \
&& cd x264 && ./configure --enable-shared --disable-asm --enable-pic \
&& make -j4 && make install && x264 --version
6. 编译安装
推荐编译(二选一)
若未安装上文x264,则从参数中删除--enable-libx264即可
bash
cd ffmpeg-7.0 && ./configure --enable-shared --enable-libx264 --enable-gpl --enable-version3 --enable-libxcb
完整编译(二选一)
参数较多,编译后安装体积较大,请根据下文含义按需删减后再编译
bash
cd ffmpeg-7.0 && ./configure --enable-shared --enable-libxcb \
--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,可能用于加密或数学运算。
安装
bash
make -j 4 && make install
测试
bash
root@86780383202d:/ffmpeg/ffmpeg-7.0# ffmpeg -version
ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration:
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100