因为项目需要,从某宝采购了一个pipivision HDMI采集卡,该采集卡为USB3.0接口,支持HDMI输入和环出,还有混音功能,以下是示例源码下载链接

github下载

网盘分享提取码n6sh

查看QT示例源码,在文件DevManager.h中包装了设备的很多操作,使用起来非常方便,我们只需要把源文件DevManager.cpp添加到工程并包含该头文件即可,内部的层次结构如下图所示。

查看对应的资料发现,可叠加的OSD包括时间、文字、图片、矩形、圆和直线等,而且支持位置动态修改,这样能呈现一些实时的效果。
OSD还能进行其他控制,比如使能、颜色、透明度、裁剪等等,使用方便而且还支持Windows/Linux跨平台,堪称码农利器。

要操作对应的设备,我们先在自定义的类里面声明一个对象:
CDevSDK dev;

然后在自定义类的构造函数初始化列表中初始化对象时打开第0个采集卡:
dev(0)

如果设备打开成功我们就启动该设备
if (dev) dev.DeviceStart();

接下来我们根据需要使用OSD叠加功能,示例代码如下:

Dialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog), dev(0) // open device 0
{ui->setupUi(this);if (dev){dev.DeviceStart();}
}// 时间OSD
void Dialog::on_timeosd_clicked(bool checked)
{if (dev){/* %M month, %D month of day, %H 24 hours, %h 12 hours, %m minute, %s second, %Y year,* %t AM/PM, %N month name, %n month short name, %W week name, %w week short name, %% % */QString str("%Y-%M-%D %H:%m:%s");uvs_font_info_tX info;currentFont(info); // 字体dev.SetTimeOSD(timeindex, 20, 20, _string(str), info);}
}// 文字OSD
void Dialog::on_textosd_clicked(bool checked)
{if (dev){QString str("Text Sample");uvs_font_info_tX info;currentFont(info); // 字体dev.SetTextOSD(textindex, 20, 100, 0, 0, _string(str), info);}
}// 图片OSD
void Dialog::on_imageosd_clicked(bool checked)
{if (dev){QString str("image file path");dev.SetImageOSD(imageindex, 20, 160, 0, 0, 192, _string(str));}
}Dialog::~Dialog()
{dev.DeviceClose();delete ui;
}

QT实现HDMI视频预览

QT叠加HDMI采集视频OSD相关推荐

  1. 音视频OSD——将64*64的GB2312字库的信息叠加至YUV图像

    目录 前言 制作字库 编码方式 分析 拿出一个字模 .h文件 .c文件 效果 通过输入来自动获取区位码 .c 效果 最终代码 .c .h 效果 前言 之前我们学习了Ascii字库的叠加操作 音视频OS ...

  2. C#实现HDMI音视频采集和处理

    今天来说说C#如何采集和处理HDMI数据,主角依旧还是某宝入手的那块pipivision的USB3.0的HDMI采集卡,USB3.0接口,支持HDMI环出和混音功能,本文的示例源码来自于 https: ...

  3. 音视频OSD——修改叠加在yuv420p图像上信息的颜色

    目录 预备知识 准备图片 分析 映射关系 代码 效果 代码优化 .c .h 效果 预备知识 字符编码--一些基本概念 字符编码--详解常用字符集(ASCII,ISO8859-1,GB2312,GBK, ...

  4. [转]GStreamer资料(摄像头采集,视频保存,远程监控)DVR

    http://blog.csdn.net/wzwxiaozheng/archive/2010/12/26/6099397.aspx GStreamer资料整理(包括摄像头采集,视频保存,远程监控,流媒 ...

  5. GStreamer资料(摄像头采集,视频保存,远程监控)DVR

    转载自:http://blog.chinaunix.net/uid-10747583-id-282761.html http://blog.csdn.net/wzwxiaozheng/archive/ ...

  6. 《Sony Vegas Pro 12标准教程》——2.2 使用Vegas采集视频

    本节书摘来自异步社区<Sony Vegas Pro 12标准教程>一书中的第2章,第2.2节,作者 糜正磊,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 ...

  7. Linux下dvi驱动名字,vga/dvi/hdmi采集卡linux驱动支持到最新2.6.38内核

    经过VGAIC畅通员工的不懈努力,目前VGAIC采集卡(VGA/DVI/HDMI)已提供最新2.6.38内核linux系统的驱动.从而实现国内首家运行在2.6.38内核Linux系统的VGA采集卡,D ...

  8. OpenCV 笔记(03)— 读取视频、通过摄像头采集视频、采集视频 canny 边缘检测

    我们本节学习如何利用 OpenCV 中的 VideoCapture 类,来对视频进行读取显示,以及调用摄像头. VideoCapture 它提供了从摄像机或视频文件捕获视频的 C++ 接口, 作用是从 ...

  9. android 音视频流采集,Android 音视频开发(四):使用 Camera API 采集视频数据(示例代码)...

    本文主要将的是:使用 Camera API 采集视频数据并保存到文件,分别使用 SurfaceView.TextureView 来预览 Camera 数据,取到 NV21 的数据回调. 注: 需要权限 ...

最新文章

  1. linux代码动态分析软件,举例分析Linux动态库和静态库
  2. css画三角形和提示框
  3. python asyncio_Python 的异步 IO:Asyncio 简介
  4. java实现加减乘除运算符随机生成十道题并判断对错_2020年Java面试题(3年的工作总结),最全的知识点总结...
  5. \pages\WxPay\WxPay.js
  6. SQL 关于apply的两种形式cross apply 和 outer apply(转)
  7. element ui 菜单右侧展开_Elementui Vue 菜单固定展开的问题
  8. Mysql学习笔记(一)数据类型
  9. Pyinstaller打包过程中报错“AttributeError: module 'enum' has no attribute 'IntFlag'”问题解决
  10. 算法:Longest Valid Parentheses(最长有效的括号)
  11. 教学小结:我这样帮助学生提出疑问
  12. Xdebug中文文档-基础特性
  13. 电脑网页压力测试软件,网站压力测试工具
  14. nginx配置地址端口
  15. NLP学习笔记(四) Seq2Seq基本介绍
  16. esxi虚拟机的显卡怎么来的_关于ESXI显卡直通(VmDirectPath),使虚拟机变成HTPC的若干经验...
  17. 可以测试体育跑步的软件,某高校现跑步打卡神器 能检测出是在走还是跑
  18. 利用gantt-elastic 实现简易项目甘特图
  19. 通用积分在积分运营中的含义是什么
  20. PHPExcel用法总结

热门文章

  1. 甲骨文的云计算转型成功 市值首超2000亿美元
  2. 转移到ios下载安卓_转移到ios官方app下载|转移到IOS安卓版下载_v2.10.0_9ht安卓下载...
  3. Cris 小哥哥的大数据项目之 Hive 统计 YouTube 热门视频
  4. 报错:ERROR: for nginx Cannot start service proxy;for proxy Cannot start service proxy;......
  5. /dev下面存在设备,却open 失败的问题open: No such device or address
  6. linux www服务器配置
  7. UA-DETRAC BITVehicle车辆检测数据集(含下载地址)
  8. 2022爱分析・采购数字化厂商全景报告 | 爱分析报告
  9. c语言中进行大小排序的问题(少量排序)
  10. Opencores上的i2c controller core代码解析