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后,在"应用程序输出"部分会输出一串数字。

相关推荐
FlightYe1 天前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
慧都产品智能化2 天前
Qt 表格升级攻略:复用已有编辑器,减少重复开发
c++·qt·编辑器·qt6.3
ShineWinsu2 天前
对于Qt:QTableWidget常见属性以及QTableWidgetItem类的解析
开发语言·c++·qt·gui·客户端·表格·qtablewidget
ShineWinsu2 天前
对于Qt:QListWidget常见属性以及QListWidgetItem类的解析
开发语言·c++·qt·客户端·列表·qlistwidget·qlistwidgetitem
架构师伯子明2 天前
ffmpeg学习4:opencv在音视频领域常用指令
opencv·学习·ffmpeg
ShineWinsu3 天前
对于Qt:QDial常见属性以及信号的解析
开发语言·c++·qt·gui·客户端·旋钮·qdial
宛 禾3 天前
Qt 事件系统完全指南:从事件循环到实战避坑
qt
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
敲上瘾3 天前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
MOONICK4 天前
QT元数据
开发语言·qt