1.在windows下配置ffmpeg的环境
1.1 在工程目录下创建bin文件夹,将ffmpeg相关的dll文件放入bin文件夹中
1.2 将ffmpeg相关的头文件库放入工程目录中
1.3在pro最后添加代码
DESTDIR+=bin # 目标文件生成位置
LIBS += $$PWD/lib/sqlite3.lib \ #sqlite3依赖
$$PWD/ffmpeglib/lib/avcodec.lib \
$$PWD/ffmpeglib/lib/avdevice.lib \
$$PWD/ffmpeglib/lib/avfilter.lib \
$$PWD/ffmpeglib/lib/avformat.lib \
$$PWD/ffmpeglib/lib/avutil.lib \
$$PWD/ffmpeglib/lib/swresample.lib \
$$PWD/ffmpeglib/lib/swscale.lib \
INCLUDEPATH += $$PWD/ffmpeglib/include #头文件路径
这段代码中有sqlite3的依赖大家可以根据自己的需要去选择。
1.4引入ffmpeg相关的头文件
// extern "C"是为了实现类C和C++的混合编程
// 因为ffmpeg是用C写的,故而在C++引入ffmpeg的C函数库需加此声明
extern "C"
{
#include "libavcodec/avcodec.h" //编解码库
#include "libavdevice/avdevice.h" //输入输出设备库;读取摄像头的
#include "libavfilter/avfilter.h" //音视频滤镜库;进行音视频处理与编辑
#include "libavformat/avformat.h" //文件格式和协议库
#include "libavutil/avutil.h" //音视频处理
#include "libswresample/swresample.h" //音频重采样
#include "libswscale/swscale.h" //图像进行格式转换
}
根据自己的需要去选择库
1.5最后可以通过qdebug去打印ffmpeg的版本号确定环境配置是否正常
2.linux环境的配置
过程与windows一致。pro添加代码有区别:
INCLUDEPATH += /usr/local/ffmpeg/include
LIBS+= -L/usr/local/ffmpeg/lib \
-lavcodec \
-lavdevice \
-lavfilter \
-lavformat \
-lavutil \
-lswresample \
-lswscale