Qt+MinGW32+Windows+FFmpeg集成指南:RTSP预览编译踩坑实录

发布时间:2026/9/3 4:36:34

Qt+MinGW32+Windows+FFmpeg集成指南:RTSP预览编译踩坑实录
简介这是一套基于Qt与MinGW32工具链面向Windows平台的FFmpeg RTSP视频流播放示例工程主要帮助开发者快速掌握在Qt中集成FFmpeg并实时显示RTSP流的方法。项目代码精简在Windows下可直接编译通过运行且视频响应速度明显优于VLC、QTAV等常见播放方案适合需要自研轻量级视频预览或监控界面的Qt中级开发者参考。压缩包共103个文件约11.58MB其中包含81个C头文件、4个cpp源文件、5个FFmpeg动态库及5个静态导入库并附带工程文件、UI界面、图标、样式表和说明文档结构清晰便于定位。示例支持三通道同步显示同一视频流可单击截图按钮把画面保存至最后通道双击单通道可最大化显示。需要注意打开工程后务必取消影子构建若切换到Linux则需替换对应FFmpeg库文件。资源已有1163人学习具备较高的实用参考价值。 前一阵子我把一个 Windows 上的 RTSP 摄像头预览小工具换到新电脑重新编译Qt 是现成的MinGW 也是现成的结果 FFmpeg 一接进来就各种亮红灯。要说功能代码本身并不复杂真正折腾人的是 Qt MinGW32 Windows FFmpeg 这套组合里的版本、位数、链接方式必须严丝合缝。下面这套环境从报错报到麻木到最终跑通的完整记录给同样正在搭这个组合的人一个参考。适合刚把 Qt 装好、正打算集成 FFmpeg 做 RTSP 拉流播放或者已经卡在某一个编译错误上的朋友。1. 先拆一下“保证编译可用”到底卡在哪1.1 网上的轮子很多装上却转不起来搜这个关键词的时候你会看到大量教程。但实际照着做很多人会卡在同一个地方教程用的是 MSVC 版的 Qt你装的是 MinGW 版教程在 Linux 上演示你在 Windows 上搞教程默认你会自己编译 FFmpeg你只是想要一个能用的库文件。这些差异叠加起来就是“我明明按照步骤做了为什么还是编译不过”。我见过的最典型翻车三连装错了 Qt 工具链。Qt 安装器里组件很多有人图省事勾了 MSVC 2019结果后面用 MinGW 语法写.pro链接阶段大量报错。FFmpeg 位数和 Qt 不一致。Qt 是 32 位FFmpeg 下的是 win64 包链接时出现各种undefined reference而且报错信息不会直接告诉你“位数不匹配”。编译过了运行却提示缺avformat-*.dll。这是库路径和运行时 DLL 的问题跟代码一点关系都没有但足够让人怀疑人生。这些现象说明一件事“编译可用”不是“我代码写完了”的意思而是整个工具链、依赖库、运行环境都对齐了。等这几个环节全部理顺后面的开发反而很顺。1.2 “可用”的三重匹配位数、工具链、API我把这套组合拆成三个必须匹配的维度位数匹配Qt 编译出来的程序是多少位FFmpeg 库就必须是多少位。MinGW32 配 win32 库MinGW64 配 win64 库混用必挂。工具链匹配MinGW 使用 GCC 的库格式通常是.a或者.dll.aMSVC 使用.lib。这两种格式不能混着链接。很多人从 MSVC 教程里复制了avformat.lib的写法拿到 MinGW 下自然找不到。API 版本匹配FFmpeg 的大版本更新会调整接口。比如老教程里的avcodec_decode_video2在新版本里已经移除了av_register_all在 4.0 之后变成了空操作。你用的头文件和库版本必须和你参考的代码对得上。理解了这三条后面每一步都不会莫名其妙。接下来我按顺序讲怎么把这套组合配稳妥。2. 版本选型与安装锁定组合是省时间的开始2.1 Qt与MinGW工具链建议锁5.15.2 MinGW 8.1.0如果你没有特殊理由我建议直接锁Qt 5.15.2 LTS Qt 安装器自带的 MinGW 8.1.0。这套组合网上资料最多踩坑别人都踩完了哪怕是五年前的教程大部分也适用。在 Qt 官方安装器里勾选组件时除了要选Qt 5.15.2下面的MinGW 8.1.0 32-bit或者64-bit还要记得展开Tools节点勾选对应的MinGW 8.1.0编译器工具链。很多新手只勾了 Qt 库没勾编译器打开 Qt Creator 后发现 Kit 列表里没有任何可用的工具链这就是原因。这里要特别说明标题里的 MinGW32。如果你说的 MinGW32 是指 32 位工具链那就在安装器里明确选MinGW 8.1.0 32-bit如果只是大家叫顺口的“MinGW 环境”那 64 位也一样用。下面的流程两者通用关键是后面位数必须自洽。2.2 FFmpeg的Windows二进制从哪下载、选哪个包FFmpeg 官方只提供源码Windows 下一般用社区预编译包。我常用的是 BtbN 的 GitHub releases或者 gyan.dev 的构建。以 BtbN 为例下载时会看到类似这样的命名ffmpeg-master-latest-win32-gpl-shared.zipffmpeg-master-latest-win64-gpl-shared.zip注意两个关键词win32/win64决定位数shared决定包结构。我建议选shared而不是static。shared 包解压后有三个目录include头文件、lib导入库、bin运行时 DLL。编译时用前两个运行时依赖第三个。static 包只有一个超大 exe开发期不好用分发时反而是一种选择。版本方面我推荐 FFmpeg5.1.x 或 6.1.x。这两个版本 API 相对成熟本文下面给的代码在这两个版本上都能编译通过。不建议一上来就用 7.x 最新版新版本可能有接口调整容易把时间浪费在无关的兼容性问题上。2.3 32位还是64位这个坑必须第一时间排除为了不重蹈“折腾两天最后发现位数不对”的覆辙先做一次检查。打开命令行进入 Qt 自带的 MinGW bin 目录执行gcc -dumpmachine输出i686-w64-mingw32代表 32 位输出x86_64-w64-mingw32代表 64本文还有配套的精品资源点击获取

相关新闻

C++多线程日志库ylog:从printf到可靠落盘的工程实践

C++多线程日志库ylog:从printf到可靠落盘的工程实践

2026/9/3 4:36:34

简介:ylog 是一份基于标准库实现的 C 轻量级日志类源码包,面向需要在 Windows 与 Linux 平台快速集成日志功能的 C 开发者,特别适合中小型项目、工具类程序或日志模块启蒙学习。整个核心实现只集中在一个头文件中,全程序仅 60 多行…

Keil C51与uVision2实用指南:避开破解坑,从安装到调试一次讲清

Keil C51与uVision2实用指南:避开破解坑,从安装到调试一次讲清

2026/9/3 4:36:34

简介:这是面向51单片机初学者的Keil C51完全破解版uVision2压缩包,用来解决开发软件安装与授权限制的常见痛点,让用户跳过环境配置的烦琐步骤,专注于C语言编程和硬件控制。uVision2是Keil C51的经典版本,界面简洁、功能…

Unity动作游戏技能系统架构设计:数据驱动与事件通信实战

Unity动作游戏技能系统架构设计:数据驱动与事件通信实战

2026/9/3 4:26:33

开发动作游戏,最绕不开的就是技能系统。技能本身并不可怕,麻烦的是随着角色越来越多、技能越来越花哨,代码开始频繁互相引用,一个技能改起来,其他技能跟着遭殃。这篇文章记录一次以 Unity 为基底的动作游戏技能系统架构…

安装 CMake、选择生成器并跑通命令行工作流

安装 CMake、选择生成器并跑通命令行工作流

2026/9/3 5:26:36

欢迎拜访:雾里看山-CSDN博客 本篇主题:安装 CMake、选择生成器并跑通命令行工作流 发布时间:2026.9.2 隶属专栏:CMake 目录这一篇要解决的问题安装 CMake在 Linux 上安装在 macOS 上安装在 Windows 上安装方式一:官方安…

STM32F103裸机综合测试程序:硬件自检与任务调度实战

STM32F103裸机综合测试程序:硬件自检与任务调度实战

2026/9/3 5:26:36

简介:本资源是一款面向嵌入式初学者与STM32裸机开发者的综合测试工程,专为PZ6806D开发板搭载ILI9481驱动的TFT-LCD显示屏设计,解决裸机环境下显示驱动验证、外设协同调试及硬件功能快速评估等核心问题。压缩包共313个文件,包含135…

共模电感与差模电感:从噪声路径到EMC滤波的工程实践

共模电感与差模电感:从噪声路径到EMC滤波的工程实践

2026/9/3 5:26:36

你有没有遇到过这样的情况:一个电路板明明原理图、PCB布局都检查了好几遍,元器件也选得“高大上”,但一上电测试,或者一到某些复杂电磁环境里,系统就莫名其妙地重启、通信误码、屏幕闪烁?排查了半天电源、时…

Spring Boot线上教学平台实战:从架构设计到核心模块实现

Spring Boot线上教学平台实战:从架构设计到核心模块实现

2026/9/3 5:26:36

简介:本资源是一套完整的基于Spring Boot开发的线上教学平台系统实现方案,面向计算机专业本科生毕业设计与Java Web开发初学者,解决在线教育场景下的课程管理、师生协同与教学服务数字化问题。压缩包共816个文件,30.67MB&#xff…

MongoDB从入门到实践:核心知识点与实战指南

MongoDB从入门到实践:核心知识点与实战指南

2026/9/3 5:26:36

一、MongoDB 是什么:核心概念与架构MongoDB 是一款开源的、面向文档的 NoSQL 数据库,由 MongoDB 公司开发,采用 C 编写。与传统的 MySQL、Oracle 等关系型数据库不同,MongoDB 不强制要求预定义表结构,而是将数据以类似…

鸿蒙PC上hdc不可用?我们的修复方案与二进制分发

鸿蒙PC上hdc不可用?我们的修复方案与二进制分发

2026/9/3 5:16:35

鸿蒙 PC 上 HDC 不可用?我们的修复方案与二进制分发 省流:npm i -g hdcc (仅限aarch64) 官方 HDC 二进制在鸿蒙 PC 上无法正常运行。我们对其做了四处关键修改,编译出可在 PC 端稳定工作的版本,并通过 npm …

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/2 10:08:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/2 12:11:52

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/9/1 23:49:08

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

【原创】基于微信小程序+AI大模型+uni-app的宠物用品商城小程序(设计与实现)

【原创】基于微信小程序+AI大模型+uni-app的宠物用品商城小程序(设计与实现)

2026/9/3 0:06:18

摘要:随着电子商务与本地生活服务的普及,线上交易与店铺运营管理已成为常规业态。传统分散式进销存与人工对账方式存在流程割裂、库存难同步、促销规则难落地、经营数据难沉淀等弊端,难以支撑一体化的数字化运营。同类课题亦多见多商户在线商…

【原创】基于AI大模型+SpringBoot+Vue的宠物用品商城(设计与实现)

【原创】基于AI大模型+SpringBoot+Vue的宠物用品商城(设计与实现)

2026/9/3 0:06:18

摘要:随着电子商务与本地生活服务的普及,线上交易与店铺运营管理已成为常规业态。传统分散式进销存与人工对账方式存在流程割裂、库存难同步、促销规则难落地、经营数据难沉淀等弊端,难以支撑一体化的数字化运营。同类课题亦多见多商户在线商…

【原创】基于微信小程序+AI大模型+uni-app的节日礼品定制商城小程序(设计与实现)

【原创】基于微信小程序+AI大模型+uni-app的节日礼品定制商城小程序(设计与实现)

2026/9/3 0:06:18

摘要:随着电子商务与本地生活服务的普及,线上交易与店铺运营管理已成为常规业态。传统分散式进销存与人工对账方式存在流程割裂、库存难同步、促销规则难落地、经营数据难沉淀等弊端,难以支撑一体化的数字化运营。同类课题亦多见多商户在线商…

远程协作的工作台整理

远程协作的工作台整理

2026/9/2 6:21:32

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/2 6:21:32

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/3 5:20:28

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…