Linux和Macos ffmpeg开发环境配置
声明,此文档针对macos和linux开发环境,但操作流程同样适用于windows
ffmpeg项目组成
- 源代码项目主要由
libav开源库
(下面以lib开头的文件夹)和文档
以及诊断程序
(./configure)组成
libavutil
libavcodec
libavformat
libavdevice
libavfilter
libswscale
libswresample
libpostproc
如图所示
安装依赖
- 在终端输入以下指令安装依赖
macos
brew install yasm nasm pkg-config
ubuntu
apt install -y nasm yasm pkg-config
Yasm is a complete rewrite of the NASM assembler
配置x264, x265
macos
brew install x264 x265
linux
apt install -y libx264-dev libx265-dev
输入pkg-config --libs x264 x265
命令,若有输出则确认无误
编译并配置FFmpeg
下载源代码
- 源代码下载官网
选择你需要的版本,比如ffmpeg-3.4.1.tar.gz
或ffmpeg-3.4.1.tar.xz
- 解压 如果是Linux或MacOS,可以使用命令
tar -xzvf ffmpeg-3.4.1.tar.gz
或者tar -xzvf ffmpeg-3.4.1.tar.xz
自行build项目
- 下载的源代码项目主要由一些代码文件(.c和.h文件)和文档以及诊断程序组成,如果想要使用该项目的库,是需要手动build的,在Macos或Linux下,Terminal cd到该项目目录下。
- 在项目目录下运行诊断工具并build项目(分别运行以下指令)
./configure --enable-gpl --enable-libx264 --enable-libx265
make clean
make -j8
make install
./configure
指运行该目录下congigure程序,此程序会自动诊断项目完整度make clean
是清空此前build的文件 首次build可以不输入这行指令make -j8
是build项目的指令,-j8
中的8
是指调用8个线程来build项目,可依据硬件性能自行修改此数字make install
将二进制、库、头文件安装在系统环境里
验证是否能用调用库
pkg-config --libs libavformat
若有输出则表明配置成功
在任意目录下新建一个代码文件
touch test.c
输入以下代码
#include <libavformat/avformat.h>
int main()
{
return 0;
}
在代码所在目录下编译
gcc test.cpp -o test `pkg-config --libx libavformat`
如果编译成功,说明我们的ffmpeg开发环境配置完成
结语
笔者整理了一些使用ffmpeg libav api的代码 欢迎访问代码仓 https://github.com/TSGU-OSC/Learn_FFmpeg_the_Hard_Way