Qt音视频开发49-通用截图截屏
2023-09-14 09:01:41 时间
一、前言
采用了回调方式的视频通道,截图只需要对解析好的QImage对象直接保存即可,而对于句柄的形式,需要调用不同的处理策略,比如vlc需要用它自己提供的api接口函数libvlc_video_take_snapshot传入保存路径即可,mpv的内核执行screenshot-to-file命令传入路径参数即可,而ffmpeg就需要设置抓拍标志位,在实时采集解析那边,如果当前是截图标志位真,则需要改成QImage转换的机制发出图片,而不是yuv的数据opengl绘制,海康的sdk调用NET_DVR_CapturePicture函数即可。
一般来说截图都是保存的原始的图片,对应的分辨率也是原始的分辨率,并没有压缩及等比例缩放过的,所以ffmpeg的监控内核必须是最原始的采集到的图片为准,而不是最终绘制后的图片,因为绘制后的很可能已经缩放过的。
有时候还有一种场景需求是不需要原始的图片,只需要当前通道大小的尺寸,这个时候就需要对当前通道进行截屏,采用截屏的形式截图,这种方式可以将设置的OSD等信息都截图进去,相当于扣扣截图。Qt本身提供了grabWindow方法来对指定句柄的窗体控件截屏,Qt4里面放在QPixmap类中的静态方法QPixmap::grabWindow,而Qt5中放在QApplication::primaryScreen()的方法中。
二、功能特点
- 支持多画面切换,全屏切换等,包括1+4+6+8+9+13+16+25+36+64画面切换。
- 支持alt+enter全屏,esc退出全屏。
- 自定义信息框+错误框+询问框+右
相关文章
- Qt 5.14.1 安装详解「建议收藏」
- Qt-网络编程
- 有小伙伴问:上位机用QT还是winform/wpf好?
- 如何在Linux系统中安装Qt开发环境(linux下qt安装教程)
- Qt程序的字符编码方式
- Qt自定义对话框及调用方法(无师自通)
- Linux下编译Qt程序的技术指南(linux编译qt程序)
- 开发Qt在Linux平台开发:新技术与新体验(qtlinux)
- Linux下Qt环境下串口编程实践(linuxqt串口编程)
- Linux下安装QT输入法指南(linuxqt输入法)
- 开发Linux Qt界面开发:拥抱开源世界的应用之旅(linuxqt界面)
- 技术深入探索Linux下的Qt开发(基于linux的qt开发)
- 构建Linux下Qt开发环境,实现跨平台C开发(linuxqt开发环境)
- Linux下的Qt开发编程实践(linux版qt)
- 开发Linux下 Qt开发:从入门到精通.(linux下的qt)
- 「零基础入门」Linux下安装QT教程,助力程序员成为高手!(linux下安装qt教程)
- 如何快速掌握Linux平台下的Qt使用(linuxqt使用教程)
- Linux Qt解决您的开发困扰(linuxqt帮助)
- 快速搭建Qt环境中的MySQL数据库(qt配置mysql数据库)
- 使用Qt在Linux下打造高效控制台应用(qtlinux控制台)
- 使用QT连接MySQL数据库(qt数据库mysql)
- Linux Arm平台适配QT 助力嵌入式领域快速开发(linuxarmqt)
- Qt与SQLServer结合,提升开发效率(qt和sqlserver)
- Linux嵌入式应用Qt快速开发指南(linux嵌入式qt)
- 编辑Linux下使用Qt快速编辑文件(linux下 qt 文件)