程序聚合 软件案例 基于Qt+FFmpeg的视频监控与告警接收上位机系统

基于Qt+FFmpeg的视频监控与告警接收上位机系统

2026-01-20 10:59:04
行业:音视频、工业互联网
载体:Windows应用
技术:C++、Qt、FFmpeg

业务和功能介绍

在工业安防场景中,原有监控系统仅支持实时查看,无本地存储和告警联动能力,设备异常时无法追溯视频录像,运维响应延迟超 30 分钟。本项目旨在开发一款基于 Qt 的视频监控上位机,实现视频实时播放、多协议数据接收、告警联动存储,目标将运维响应时间缩短至 5 分钟内,支持 30 天以上视频本地归档。
软件功能、核心功能模块的介绍
核心功能包括 4 个模块:
视频播放模块:基于 FFmpeg 封装实现网络 / 本地视频流解码与实时渲染,支持暂停、重启等控制;
多协议数据接收模块:通过 WebSocket 接收设备状态数据,通过 ZeroMQ 接收告警事件(如设备离线、画面异动);
视频存储模块:支持手动 / 告警触发的视频本地存储,按设备 ID + 时间戳自动命名文件;
告警联动模块:接收到 ZeroMQ 告警后自动弹出弹窗、闪烁状态栏,并触发对应时段视频存储。
业务流程、功能路径描述
设备端推送视频流→上位机通过 FFmpeg 解码后渲染到 UI 界面;
服务端通过 WebSocket 推送设备在线状态→上位机解析后更新状态栏;
服务端通过 ZeroMQ 推送告警信息→上位机弹窗提醒并自动启动视频存储;
用户可手动选择时段或触发条件,导出本地存储的视频文件。

项目实现

整体架构和设计思路
项目采用Qt MVC 架构,分为 UI 层、业务逻辑层、底层工具层:
UI 层:使用 Qt Widgets 构建界面,通过信号槽实现跨线程通信;
业务逻辑层:封装 FFmpegPlayer、WebSocketClient、ZmqReceiver 三个核心工具类,解耦业务与底层实现;
底层工具层:FFmpeg 负责音视频编解码,Qt WebSocket 负责常规数据通信,ZeroMQ 负责高并发告警接收,多线程处理耗时操作避免 UI 阻塞。
负责FFmpeg 封装与视频存储模块的开发:
封装 FFmpegPlayer 类,实现视频流解码、渲染,支持 1080P@30fps 视频流畅播放,CPU 占用率控制在 20% 以内;
实现视频存储功能,支持告警联动存储,单文件最大支持 2 小时连续录制,存储文件完整率达 99.5%;
优化解码缓存逻辑,将视频首帧加载时间从 2s 缩短至 0.8s。
难点 1:FFmpeg 解码线程与 UI 线程渲染不同步,导致画面卡顿。
解决方案:使用 Qt 的QThread将解码逻辑放到子线程,通过signal/slot传递解码后的QImage,在 UI 线程异步渲染,避免阻塞。
难点 2:ZeroMQ 告警接收时高并发消息导致 UI 假死。
解决方案:将 ZeroMQ 的消息循环放到独立线程,通过QMetaObject::invokeMethod()在 UI 线程更新告警提示,保证 UI 响应流畅。
难点 3:视频存储时中途断电导致文件损坏。
解决方案:在停止存储时调用 FFmpeg 的av_write_trailer()写入文件尾,同时定期检查磁盘剩余空间,不足时自动停止存储并提示用户。

示例图片视频


QtCoder
30天前活跃
方向: 桌面端-Qt、
交付率:100.00%
相似推荐
内部AI问答平台
系统集成 AI 知识助手、多模态助手、企业知识库三大核心能力,支持仪表板快速生成、拖拽式大屏搭建、智能报告生成与剧本化编辑,并提供 AI 机器人聊天及自定义指标配置,打造覆盖智能交互、数据分析与可视化应用的全链路企业级平台。
HR系统
为全面提升人力资源运营效率并实现集团人才流动数据的深度洞察,人力资源部正式向信息部提出HR数据分析首页及报表系统开发需求,旨在通过数据整合与可视化分析,构建集团级人才管理决策中枢。
财务系统
针对财务部门在资金管理系统上的业务需求,打通财务内部数据流转,对接第三方系统等等。 资金计划模块支持多维度预算编制与执行分析,强化资金统筹能力;票据管理实现应收应付票据全生命周期跟踪,降低票据风险;银企直连稳定对接多家银行,实现资金实时监控与归集。系统整体运行平稳,有效支撑集团资金精细化管理需求。
低代码平台
架构设计:基于.NET 8 + SqlSugar框架设计低代码平台后端,实现模块化、多租户、动态API生成能力。 核心功能: 动态表单引擎:支持用户自定义数据表结构,后端自动生成增删改查API; 工作流引擎:支持可视化流程配置,节点类型包括审批、抄送、条件分支,动态解析审批人; 优化多租户隔离:采用数据库级隔离方案,租户数据独立存储。
再生平台项目
1、立项背景 再生资源行业传统模式存在信息不对称、交易链路繁琐、监管追溯难、资金流转慢等痛点,中小商户与企业间对接效率极低,行业数字化转型需求迫切。同时,国家大力推动循环经济发展,亟需一款集信息服务、业务协同、数据管控于一体的平台,打通再生资源从回收、加工到交易、融资的全链条。 2、核心目标 整合行业资源:汇聚再生资源供需方、物流服务商、金融机构等多方主体,构建行业资源生态; 实现业务闭环:覆盖从立项、合同签订到订单执行、对账、融资的全流程,提升交易效率; 强化监管与风控:通过数据采集与分析,实现交易全流程追溯,降低行业风控风险; 推动数字化升级:为行业提供标准化、智能化的信息服务与业务工具,助力再生资源行业规范化、高效化发展。 1)软件整体功能 平台以 “信息服务 + 业务协同 + 数据管控” 为核心,面向商户、企业、监管 / 管理端三类用户,提供全场景功能支撑。前端基于 Vue3+Vite+TypeScript 构建多端界面,后端以 Spring Boot 为核心拆解为启动、公共、核心、业务、数据抓取五大模块,支撑高可用、高扩展的系统架构。 2)核心功能模块 基础管理模块(核心模块):覆盖用户 / 角色 / 菜单 / 部门管理、日志、文件、字典配置、定时任务等基础能力,保障平台权限与基础运营,是全系统的支撑底座。 再生资源业务模块(业务模块):平台核心业务闭环,包含身份管理、合同、订单、发货、收货、对账、发票、应收、融资、风控等全链路功能,实现再生资源业务从发起至完结的全流程管控。 数据采集与对接模块(数据抓取模块):对接外部 ERP 系统,通过 AI 识别、HTML 解析等技术采集行业外部数据,同步补充平台信息,提升数据完整性。 信息服务模块:提供再生资源行情查询、供需信息发布、行业资讯推送等功能,满足用户信息获取需求,构建行业信息生态。 3、业务流程和功能路径描述 交易协同路径:商户 / 企业发布供需信息→身份认证审核→签订电子合同→生成交易订单→发起发货 / 收货→确认收货→发起对账→开具发票→完成应收结算; 数据采集路径:外部 ERP 系统数据请求→AI 识别验证码→解析业务数据→定时同步至平台数据库→平台数据校验与展示; 风控与融资路径:交易数据汇总→平台风控规则校验→生成企业信用报告→金融机构基于数据提供融资服务→融资回款跟踪。 功能路径支撑 用户端路径:用户登录→权限校验→进入对应功能界面(商户端侧重业务操作,企业端侧重资源管理,管理端侧重监管与配置)→执行功能操作→数据实时同步至数据库; 系统端路径:前端请求→后端接口处理(调用对应模块服务)→数据读写(MySQL / 文件存储)→返回结果→前端展示; 外部对接路径:外部系统请求→数据抓取模块解析→数据校验→存入
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服