一、下载FFmpeg

打开​​FFmpeg官网下载地址​​,下载Dev版本和Shared版本

Qt搭建FFmpeg开发环境_头文件


在此也提供百度网盘分享地址:

链接:​​https://pan.baidu.com/s/1LLXY7lx1EMgRlup__aMnHg​​​ 提取码:​​0b1e​


二、新建Qt工程,并配置文件

2.1、将Dev中的include文件夹和lib文件夹复制到Qt工程中的Dev文件夹中

Qt搭建FFmpeg开发环境_#include_02


Qt搭建FFmpeg开发环境_c++_03


2.2、将Shared文件夹中的bin文件夹中的所有.dll复制到Qt工程对应的.exe所在文件夹中

Qt搭建FFmpeg开发环境_头文件_04

Qt搭建FFmpeg开发环境_#include_05


三、工程配置,并测试

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

Qt搭建FFmpeg开发环境_c++_06


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
#define
#ifdef
#undef
#endif
#include<stdint.h>
#endif
}

Qt搭建FFmpeg开发环境_数据结构_07

3、输出FFmpeg版本测试环境部署是否成功

avcodec_configuration();
unsigned version = avcodec_version();
QString ch = QString::number(version,10);
qDebug()<<"version: "<<version;

Qt搭建FFmpeg开发环境_头文件_08

如果出现FFmpeg的版本号则说明部署成功:

Qt搭建FFmpeg开发环境_#include_09