前言
本篇,我们将介绍如何在QT中搭建FFmpeg环境,包括FFmpeg库下载及具体搭建步骤。
一、下载FFmpeg库
下载链接:《FFmpeg环境搭建包》
- 该库与FFmpeg官网下载的资源不同,是经过windos下编译FFmpeg生成dll、lib库,可以帮助读者更快搭建FFmpeg环境,下载后的FFmpeg环境搭建包内所含文件如下图所示。
二、具体搭建步骤
1.文件移植
- 将下载好的bin和ffmpeg两个文件夹移入工程文件目录下,如下图所示。
2.添加引用
- 在工程的.pro文件中,添加FFmpeg的引用路径,引用库,以及exe文件生成位置。
添加代码如下:
DESTDIR=bin
INCLUDEPATH += $$PWD/ffmpeg/include \
LIBS += $$PWD/ffmpeg/lib/avcodec.lib \
$$PWD/ffmpeg/lib/avdevice.lib \
$$PWD/ffmpeg/lib/avfilter.lib \
$$PWD/ffmpeg/lib/avformat.lib \
$$PWD/ffmpeg/lib/avutil.lib \
$$PWD/ffmpeg/lib/postproc.lib \
$$PWD/ffmpeg/lib/swresample.lib \
$$PWD/ffmpeg/lib/swscale.lib \
添加位置如下:
3.引用头文件
- 在使用FFmpeg库之前,需要对头文件进行引用(include)。并且为了能够方便使用,我们将一次性引用FFmpeg的所有重要的头文件。引用代码和引用位置如下所示。
添加代码如下:
//当前C++兼容C语言
extern "C"
{
//avcodec:编解码(最重要的库)
#include <libavcodec/avcodec.h>
//avformat:封装格式处理
#include <libavformat/avformat.h>
//swscale:视频像素数据格式转换
#include <libswscale/swscale.h>
//avdevice:各种设备的输入输出
#include <libavdevice/avdevice.h>
//avutil:工具库(大部分库都需要这个库的支持)
#include <libavutil/avutil.h>
}
添加位置如下:
4.环境测试
- 环境搭建完成后,我们需要调用FFmpeg库中的API函数打印FFmpeg版本号,确认环境搭建成功。
main函数如下:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qDebug()<<"—————ffmpeg音视频库环境配置测试—————";
qDebug()<<"环境配置成功,ffmpeg版本号:"<< avcodec_version();
return a.exec();
}
添加位置如下:
运行程序结果:
ffmpeg版本号输出成功,即代表QT+FFmpeg环境搭建成功。
总结
以上就是浅显易懂 FFmpeg学习(01)— QT+FFmpeg环境搭建的所有内容,希望大家阅读后都能有所收获!原创不易,转载请标明出处,若文章出现有误之处,欢迎读者留言指正批评!