一、编译环境
1、系统:WSL2 Ubuntu20.04
2、FFmpeg版本:4.3.1
二、安装必要依赖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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 — 部分库使用到汇编程序,需要安装
1 |
sudo apt-get install -y nasm |
YASM — 部分库使用到该汇编库
1 |
sudo apt-get install -y yasm |
libx264 — H.264视频编码器,一般需要
1 |
sudo apt-get install -y libx264-dev |
libx265 — H.265/HEVC视频编码器,不一定需要,按需安装
1 |
sudo apt-get install -y libx265-dev libnuma-dev |
libvpx — VP8/VP9视频编解码器,不一定需要,按需安装
1 |
sudo apt-get install -y libvpx-dev |
libfdk-aac — AAC音频编码器,不一定需要,按需安装
1 |
sudo apt-get install -y libfdk-aac-dev |
libmp3lame — MP3音频编码器,不一定需要,按需安装
1 |
sudo apt-get install -y libmp3lame-dev |
libopus — opus音频编解码器,不一定需要,按需安装
1 |
sudo apt-get install -y libopus-dev |
四、下载FFmpeg
1 2 3 |
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的功能进行一些裁剪,比如支持哪些格式的编解码等。 下面是我的一个简单配置,可供参考:
1 2 3 4 5 6 7 8 9 10 11 |
./configure --enable-gpl \ --enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-nonfree |
六、编译
编译:
1 |
make -j8 |
安装:
1 |
make install |
七、安装完成
可以简单运行一下ffmpeg程序,如下命令,看看是否编译好的程序能运行:
1 |
ffmpeg -version |
运行结果大致如下,可以看到一些信息:
1 2 3 4 5 6 7 8 9 10 11 12 |
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相关代码程序,然后运行。