ffmpeg是作为音视频开发者必不可少的核心技术。本文主要阐述如何下载ffmpeg源码并在Ubuntu环境上进行编译并搭建ffmpeg开发环境,从而可以在Ubuntu上运行ffmpeg相关程序。
在Ubuntu上搭建ffmpeg开发环境,更多的是作为服务端开发的人员使用的,若是客户端开发人员,则其实不需要用到,或者是可以作为一个用于测试和运行一些ffmpeg的效果来使用。
一、我的编译环境
1、系统:Ubuntu18.04.6
2、ffmpeg: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
我这边下载的ffmpeg是ffmpeg-4.3.1版本:
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-4.3.1目录下内容大致如下:
可以简单运行一下ffmpeg程序,如下命令,看看是否编译好的程序能运行:
ffmpeg -version
运行结果大致如下,可以看到一些信息:
还可以再运行一下ffprobe,测试ffprobe可否显示出音视频文件的相关信息,如测试文件test111.mp4,如下结果:
至此,Ubuntu上搭建ffmpeg开发环境就基本玩车了,可以在这个环境上开发一些ffmpeg相关代码程序,然后运行。