Windows 下 Qt 项目配置 FFmpeg 简明指南

一、作用

在qt项目中配置ffmpeg库

二、步骤

1、直接使用已经编译好的ffmpeg库文件,分为win32版本和win64版本;

2、win32版本下载地址:https://github.com/sudo-nautilus/FFmpeg-Builds-Win32/releases/tag/latest

3、win64版本下载地址:

https://ffmpeg.org/download.html

三、测试

1、创建qt项目,名称为untitled1,确保该项目能正常运行;

2、创建空文件夹:在.pro的同级目录下创建lib空文件夹,在lib文件夹中创建ffmpeg的空文件夹,在ffmpeg文件夹中创建win32和win64文件夹;

3、将下载的ffmpeg文件夹中的lib文件和include文件夹分别放置到对应的空文件夹中,文件目录如下

复制代码
untitled1
|
|--.pro
|--lib/
|  |
|  |--ffmpeg/
|     |
|     |--win32/
|     |  |--include/
|     |  |--lib/
|     |
|     |--win64/
|        |--include/
|        |--lib/

4、在.pro文件中配置

如果选用win32编译,则

复制代码
INCLUDEPATH += $$PWD/lib/ffmpeg/win32/include
LIBS += -L$$PWD/lib/ffmpeg/win32/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale

如果选用win64编译,则

复制代码
INCLUDEPATH += $$PWD/lib/ffmpeg/win64/include
LIBS += -L$$PWD/lib/ffmpeg/win64/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale

5、选择debug模式构建项目,并在debug文件中加入ffmepg文件夹中bin文件夹中的dll文件

三、测试

修改main.cpp文件如下

复制代码
#include "mainwindow.h"

#include <QApplication>

// 为了使用qDebug函数
#include <QDebug>

// FFmpeg是C语言库
// 有了extern "C",才能在C++中导入C语言函s数

extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
}

int main(int argc, char *argv[]) {
    // 打印版本信息
    qDebug() << avcodec_version();

    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

正确配置ffmpeg后,在"应用程序输出"部分会输出一串数字。

相关推荐
酷飞飞7 小时前
Qt Designer与事件处理
开发语言·qt·命令模式
mkhase8 小时前
9.12-QT-基本登陆界面实现
java·jvm·qt
简鹿办公8 小时前
FFmpeg vs 去水印软件:哪种方式更适合你?
ffmpeg·怎样去除视频水印·如何去视频logo视频水印
咕噜咕噜啦啦9 小时前
Qt之快捷键、事件处理、自定义按键——完成记事本项目
开发语言·qt
Quz9 小时前
QML Charts组件之折线图的鼠标交互
qt
眠りたいです12 小时前
基于脚手架微服务的视频点播系统-数据管理与网络通信部分的预备工作
c++·qt·ui·微服务·云原生·架构·媒体
bikong713 小时前
Qt/C++,windows多进程demo
c++·windows·qt
油炸自行车15 小时前
【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio)
qt·visual studio·qt6·msvc2022·qt creator 17.0
枫叶丹416 小时前
【Qt开发】显示类控件(三)-> QProgressBar
开发语言·qt
小狮子安度因19 小时前
ffplay数据结构分析
数据结构·ffmpeg