基于Qt+FFmpeg的视频监控系统

19 篇文章 7 订阅
该文介绍了一个利用Qt和FFmpeg实现的监控软件,支持RTSP视频流拉取、录制和多画面显示。软件设计用于演示,实际应用广泛,如学校、公安等。功能包括分页显示(8/12/24/28人画面),单人放大,同时播放和录制48路视频。依赖于Windows环境、VS2019及Qt5.12以上版本,且计划优化GPU解码和渲染。
摘要由CSDN通过智能技术生成

github源码

需求分析

假设一个业务场景:每个员工工位旁有两个网络摄像头。老板需要一个员工监控软件,在上班时软件可以拉取RTSP视频流,也可以随时录制视频。这样老板就可以知道谁在摸鱼了 ◕‿◕
为防有人上纲上线,在此特别声明:上面的场景是开玩笑的。监控软件有很多使用场景:学校,公安,交通,考试,零售等等。

功能

  • 支持画面按人数分页(8/12/24/28),默认24人画面
  • 支持单人切换大屏(鼠标右键)
  • 可同时播放和录制48路视频

UI

单页24人
请添加图片描述

3页,每页8人
请添加图片描述

单人大屏
请添加图片描述

使用

目前配置文件BetaVideoMonitorClient.ini可配置两路地址:leftUrl和rightUrl,24人共用这两个地址。
leftUrl=rtsp://user:password@192.168.1.20:554/Streaming/Channels/101
rightUrl=rtsp://user:password@192.168.1.20:554/Streaming/Channels/101

如果你没有网络摄像头,可以用在线HTTP地址测试,例如:
https://media.w3.org/2010/05/sintel/trailer.mp4

技术实现

  • 界面实现用Qt
  • 拉流解码播放用FFmpeg
  • 大屏播放和视频存储用IPC主码流,小屏播放用IPC子码流
  • 使用DXVA2+D3d9实现纯GPU解码渲染

环境依赖

windows

VS:推荐VS2019以后的版本
Qt:推荐Qt5.12以后的版本

解决方案仅支持64位的Debug/Release,32位可自行适配

TODO

  • GPU解码和渲染
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值