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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/82054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Attu下载 Mac版与Win版

通过Git地址下载 Mac 版选择对于的架构进行安装 其中遇到了安装不成功&#xff0c;文件损坏等问题 一般是两种情况导致 1.安装版本不对 2.系统权限限制 https://www.cnblogs.com/similar/p/11280162.html打开terminal执行以下命令 sudo spctl --master-disable安装包Git下载地…

SpringBoot3集成Oauth2.1——5资源地址配置

配置问题说明 如下所示&#xff0c;代码配置了两个&#xff0c;过滤器&#xff0c;一个是资源保护&#xff0c;一个是不保护。 /** Description: 配置需要保护的资源* author: 胡涛* mail: hutao_2017aliyun.com* date: 2025年5月23日 下午2:28:20*/BeanOrder(2)public Securi…

Python urllib.parse 模块中的 urljoin 方法

Python urllib.parse 模块中的 urljoin 方法 urljoin 是 Python 标准库中 urllib.parse 模块的一个方法&#xff0c;用于将基础 URL 和相对路径拼接成完整的 URL。它会根据传入的基础 URL 自动处理协议、域名以及路径的部分匹配逻辑。 以下是关于该方法的具体说明和示例&…

AI大模型和SpringAI简介

一、Spring AI 简介 SpringAI整合了全球&#xff08;主要是国外&#xff09;的大多数大模型&#xff0c;而且对于大模型开发的三种技术架构都有比较好的封装和支持&#xff0c;开发起来非常方便。 不同的模型能够接收的输入类型、输出类型不一定相同。SpringAI根据模型的输入…

在TIA 博途中下载程序时找不到对应的网卡怎么办?

1. 检查物理连接 确认网线已正确连接PLC和PC&#xff0c;接口指示灯正常。 尝试更换网线或交换机端口&#xff0c;排除硬件故障。 2. 确认网卡驱动已安装 设备管理器检查&#xff1a; 右键点击“此电脑” → “管理” → “设备管理器”。 展开“网络适配器”&#xff0c;确…

Zabbix实践!客户端自动发现

在线答疑&#xff1a;乐维社区 一、客户端状态检查 1.检查客户端的zabbix-agent2是否正常 [rootnode1 ~]# systemctl is-active zabbix-agent2.service active 2.从服务端检查是否可以获得客户端信息 [rootIT-01 ~]# zabbix_get -s ‘192.168.200.135’ -p 10050 -k ‘agent.p…

动态规划中的 求“最长”、“最大收益”、“最多区间”、“最优策略” 双重 for + 状态转移

以最长递增子序列为例 &#x1f3af; 首先明确目标 以最长上升子序列&#xff08;LIS&#xff09;为例&#xff0c;假设输入是&#xff1a; nums : []int{10, 9, 2, 5, 3, 7, 101, 18}我们定义&#xff1a; dp[i]&#xff1a;以 nums[i] 为结尾的最长上升子序列长度目标&…

SEO关键词与长尾词高效布局

内容概要 在SEO优化实践中&#xff0c;关键词布局的科学性与系统性直接影响流量的获取效率与可持续性。本文以核心关键词筛选为起点&#xff0c;结合长尾词挖掘工具与语义关联分析技术&#xff0c;逐步构建覆盖用户全搜索场景的内容矩阵。通过金字塔结构模型&#xff0c;实现高…

考研数一公式笔记

考研数学&#xff08;一&#xff09;核心结论与易错点详细笔记 第一部分&#xff1a;高等数学 一、函数、极限、连续 (一) 重要结论与公式 等价无穷小替换 (仅限乘除运算&#xff0c;极限过程为 x → 0 或某特定值导致因子→0)&#xff1a; sin x ~ x tan x ~ x arcsin x …

Debezium TableSchemaBuilder详解

Debezium TableSchemaBuilder详解 1. 类的作用与功能 1.1 核心作用 TableSchemaBuilder是Debezium中负责构建表Schema的核心类,主要功能包括: Schema构建:将数据库表结构转换为Kafka Connect的Schema定义主键处理:生成表的主键Schema值Schema处理:生成表的非主键字段Sc…

49 python Matplotlib之Pandas 数据可视化

Pandas 是 Python 中用于数据处理的核心库,其内置了基于 Matplotlib 的可视化功能,可通过 DataFrame.plot() 和 Series.plot() 方法快速生成常见图表,无需手动编写绘图代码,大幅提升效率。 一、Pandas 核心绘图方法 基础语法如下:该代码为伪代码,仅做语法说明,无法执行…

《微服务架构设计模式》笔记

思维导图 1-3章 4-6 章 5-13 章 资料 配套代码仓库&#xff1a;https://github.com/microservices-patterns/ftgo-application 作者网站&#xff1a;https://microservices.io/

手写一个简单的线程池

手写一个简单的线程池 项目仓库&#xff1a;https://gitee.com/bossDuy/hand-tearing-thread-pool 基于一个b站up的课程&#xff1a;https://www.bilibili.com/video/BV1cJf2YXEw3/?spm_id_from333.788.videopod.sections&vd_source4cda4baec795c32b16ddd661bb9ce865 理…

手机打电话时由对方DTMF响应切换多级IVR语音菜单(完结)

手机打电话时由对方DTMF响应切换多级IVR语音菜单&#xff08;完结&#xff09; --本地AI电话机器人 上一篇&#xff1a;手机打电话时由对方DTMF响应切换多级IVR语音菜单&#xff08;话术脚本与实战&#xff09; 下一篇&#xff1a;编写中 一、前言 经过前面几个篇章的详细阐…

Android.mk解析

一、变量说明: 1.LOCAL_PATH:= $(call my-dir) 此行代码在Android.mk的开头,用于给出当前文件的路径 LOCAL_PATH 用于在开发树中查找源文件 宏函数’my-dir’, 由编译系统提供,用于返回当前路径(即包含Android.mk file文件的目录) 2.LOCAL_PACKAGE_NAME := SecSettings …

ip地址改了网络还能用吗?ip地址改了有什么后果

当用户发现自己的网络出现异常时&#xff0c;常常会疑惑&#xff1a;如果IP地址被更改&#xff0c;网络是否还能正常使用&#xff1f;要解答这个问题&#xff0c;需要从IP地址的作用、修改方式以及网络配置等多个角度来分析。 一、IP地址的作用 IP地址是设备在网络中的唯一标识…

Python-Django系列—日志

Python 程序员通常会在其代码中使用 print() 作为一种快速和方便的调试工具。使用日志框架只比这多花一点点工夫&#xff0c;但更加优雅和灵活。除了用于调试之外&#xff0c;日志还可以为您提供有关应用程序状态和健康状况的更多信息&#xff0c;而且这些信息结构更清晰。 一…

ArcGIS Pro对图斑进行等比例、等面积、等宽度的分割

ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放_arcgis视频教程我要自学网-CSDN博客 4大遥感软件&#xff01;遥感影像解译&#xff01;ArcGISENVIErdaseCognition_遥感解译软件-CSDN博客 今天介绍一下ArcGIS Pro对图斑进行等比例、等面积、等宽度的分割&#xff0…

”故茗”茶文化网站

摘 要 计算机网络发展到现在已经好几十年了&#xff0c;在理论上面已经有了很丰富的基础&#xff0c;并且在现实生活中也到处都在使用&#xff0c;可以说&#xff0c;经过几十年的发展&#xff0c;互联网技术已经把地域信息的隔阂给消除了&#xff0c;让整个世界都可以即时通话…

【和春笋一起学C++】(十五)字符串作为函数参数

1. char指针作为函数参数 在C语言中&#xff0c;表示字符串的方式有3种&#xff1a; char数组用引号括起的字符串常量char指针 这3种形式都可以将其作为实参传递给函数中的参数&#xff08;char*&#xff09;&#xff0c;因此函数的形参需要使用char*类型。将字符串作为参数…