FFmpeg开发需要完整(不完整也行)的C/C++知识。
软件配置:
我的操作系统是Manjaro Linux,所有的软件直接从Manjaro软件仓库中安装,保持更新。
Makefile
如果是纯C/C++开发的话,使用Makefile或者CMake编译。
模板Makefile文件:
无
CMake
如果使用cmake编译的话:
无
Qt配置
如果使用Qt开发(我用的就是Qt),在*.pro文件中添加:
unix{
#FFmpeg部分
INCLUDEPATH+=/usr/include
LIBS += -L/usr/lib \
-lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc \
-lswresample -lswscale
#SDL2部分
INCLUDEPATH+=/usr/include/SDL2/
LIBS+=-L/usr/lib \
-lSDL2
}
这样Qt会自动寻找头文件和库文件位置.
在文件中包含头文件以便编程时使用:
extern "C"{
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavformat/avformat.h"
#include "libavutil/avutil.h"
#include "libavutil/ffversion.h"
#include "libswresample/swresample.h"
#include "libswscale/swscale.h"
#include "libpostproc/postprocess.h"
}
#include "SDL2/SDL.h"
参考资料
FFmpeg开发时会遇到不会等地方,最好的参考手册就是官方等手册.
官方教程:官方教程
官方在线参考手册: 官方在线参考手册(带搜索功能)
本系列GitHub项目地址(源代码):ffmpeg_Beginner
下一篇:FFmpeg4入门1:编译