一、下载FFmpeg
打开FFmpeg官网下载地址,下载Dev版本和Shared版本
在此也提供百度网盘分享地址:
链接:https://pan.baidu.com/s/1LLXY7lx1EMgRlup__aMnHg
提取码:0b1e
二、新建Qt工程,并配置文件
2.1、将Dev中的include文件夹
和lib文件夹
复制到Qt工程中的Dev文件夹中
2.2、将Shared文件夹
中的bin文件夹
中的所有.dll
复制到Qt工程对应的.exe
所在文件夹中
三、工程配置,并测试
3.1、在工程文件中导入头文件和库文件
INCLUDEPATH += $$PWD/Dev/include
LIBS += $$PWD/Dev/lib/avcodec.lib\
$$PWD/Dev/lib/avdevice.lib\
$$PWD/Dev/lib/avfilter.lib\
$$PWD/Dev/lib/avformat.lib\
$$PWD/Dev/lib/avutil.lib\
$$PWD/Dev/lib/postproc.lib\
$$PWD/Dev/lib/swresample.lib\
$$PWD/Dev/lib/swscale.lib
3.2、环境测试
1、包含头文件,注意QT为C++开发环境,FFMpeg用的是C 开发的,在CPP导入C的特性,需加关键词extern “C”
extern "C"
{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <libavdevice/avdevice.h>
#include <libavformat/version.h>
#include <libavutil/time.h>
#include <libavutil/mathematics.h>
}
2、定义相关宏,否则就报错,如error: #error missing -D__STDC_CONSTANT_MACROS”
extern "C"
{
#ifdef __cplusplus
#define __STDC_CONSTANT_MACROS
#ifdef _STDINT_H
#undef _STDINT_H
#endif
#include<stdint.h>
#endif
}
3、输出FFmpeg版本测试环境部署是否成功
avcodec_configuration();
unsigned version = avcodec_version();
QString ch = QString::number(version,10);
qDebug()<<"version: "<<version;
如果出现FFmpeg的版本号则说明部署成功: