安装步骤
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