一、编译环境
1、系统:WSL2 Ubuntu20.04
2、FFmpeg版本:4.3.1
二、安装必要依赖
sudo apt-get update
sudo apt-get install -y \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libfreetype6-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
pkg-config \
texinfo \
wget \
zlib1g-dev
三、安装相关库
NASM — 部分库使用到汇编程序,需要安装
sudo apt-get install -y nasm
YASM — 部分库使用到该汇编库
sudo apt-get install -y yasm
libx264 — H.264视频编码器,一般需要
sudo apt-get install -y libx264-dev
libx265 — H.265/HEVC视频编码器,不一定需要,按需安装
sudo apt-get install -y libx265-dev libnuma-dev
libvpx — VP8/VP9视频编解码器,不一定需要,按需安装
sudo apt-get install -y libvpx-dev
libfdk-aac — AAC音频编码器,不一定需要,按需安装
sudo apt-get install -y libfdk-aac-dev
libmp3lame — MP3音频编码器,不一定需要,按需安装
sudo apt-get install -y libmp3lame-dev
libopus — opus音频编解码器,不一定需要,按需安装
sudo apt-get install -y libopus-dev
四、下载FFmpeg
wget https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.bz2
tar xvf ffmpeg-4.3.1.tar.bz2
cd ffmpeg-4.3.1
五、按需配置ffmpeg的编译项
ffmpeg可以按照自己的需求配置各种编译项,也就是你可以根据自己的需求对ffmpeg的功能进行一些裁剪,比如支持哪些格式的编解码等。 下面是我的一个简单配置,可供参考:
./configure --enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
六、编译
编译:
make -j8
安装:
make install
七、安装完成
可以简单运行一下ffmpeg程序,如下命令,看看是否编译好的程序能运行:
ffmpeg -version
运行结果大致如下,可以看到一些信息:
ffmpeg -version
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
configuration: --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
至此,Ubuntu上搭建FFmpeg开发环境就基本完成了,可以在这个环境上开发一些ffmpeg相关代码程序,然后运行。

