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

相关推荐
xcyxiner2 小时前
DicomViewer24 修复编译bug(window test 失败)
前端·qt
可乐鸡翅yeah_4 小时前
网页端 M3U8 播放器性能监控,怎么看播放卡顿指标
javascript·ffmpeg·音视频·safari·m3u8
开开心心就好8 小时前
超市定时播音软件,免费版支持循环播放
智能手机·ffmpeg·ocr·word·vim·音视频·visual studio
sycmancia8 小时前
Qml——Rectangle元素
qt
企业数字化笔记10 小时前
视频成片怎么稳定导出?编码选择、GPU/CPU降级与媒体交付验收
java·python·ffmpeg
sycmancia11 小时前
Qml——Item元素
qt
企业数字化笔记11 小时前
视觉智能体怎么选技术?目标检测、跟踪、分割、OpenCV和FFmpeg的职责划分
opencv·目标检测·ffmpeg
励志不掉头发的内向程序员12 小时前
【从零写一个CAD 04】中键拖动平移:抓住一个点,让它一直待在鼠标底下
开发语言·c++·qt·学习·系统架构·计算机外设
zhanghaha13141 天前
Qt 中的类是什么?保姆级详解(新手版)
qt
看看我呀看看我1 天前
基于Qt的虚拟键盘
c++·qt·qt5·qt6.3