学习
实践
活动
工具
TVP
写文章

Qt音视频开发17-海康sdk解码

一、前言 在视频监控行业领域,海康当之无愧是老大,稳坐第一的宝座很多年了,近期需要将视频监控系统改成采用海康sdk的内核,于是特意去查阅了sdk的使用手册,sdk相关的文档和文件可以直接官网下载到,而且是经常更新的 由于本人习惯用Qt来做开发,所以直接编译了VC的demo,一步到位跑起来了,界面相对来说简单丑陋了点,但是要的大部分的功能还是有的,可能很多按钮也没摆摆整齐呢,管他呢,我们要的就是功能,演示如何使用对应的方法函数等 官方把他们常用的大类设备的sdk都封装到一起了,一个头文件老大了,光HCNetSDK.h这个头文件都47451行,我的乖乖,估计是为了方便用户使用,都放到一个头文件里面了,其实这些sdk不光只是支持摄像机 ,NVR/CVR等设备也都是支持的,兼容性比价好,用同一个sdk都可以,官方只是对一个大类的都统一起来了,不同大类的硬件产品之间的sdk还是有点区别出入,比如现在流行的人脸识别、红外测温等,那都是新增加的硬件和功能 解码处理流程: 调用NET_DVR_Init初始化sdk,一个项目中只需要初始化一次。

60440

Windows下使用海康相机SDK获取图像并在Qt显示

如果对你有帮助,可以点个在看,让它可以帮助到更多同志 一、一些基础信息 MVS 版本 V3.1.0 SDK 版本:V3.2.0.3 1. 之后关闭软件,准备使用相机的SDK来获取图像。 二、Qt 使用SDK 显示图像 恰好有黑白相机与彩色相机,所以就把这两个合二为一,全部测试了。 获取图像数据是使用SDK中的回调函数方式完成的,优点是无需自己控制获取频率,图像获取完成后自动调用。 Qt 显示图像使用的是QLabel setPixmap(QImage),QImage将图像字节数据根据参数转为图像给setPixmap。 1. 使用SDK操作相机流程 1> 初始化相机 具体流程可直接参考MVS里面的SDK接口手册,我在这里简单说下流程。

2.4K31
  • 广告
    关闭

    2022腾讯全球数字生态大会

    11月30-12月1日,邀您一起“数实创新,产业共进”!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt音视频开发18-海康sdk回调

    一、前言 海康sdk显示实时视频流除了支持句柄方式以外,也支持回调的方式拿到每一张图片自己绘制处理,当然回调除了拿到视频数据,其实音频数据也一块拿到了,自行调用音频设备播放就行,关于海康sdk回调这块, 还着实折腾了一阵子才搞定,可能最开始没有参照提供的demo以及没有彻底的搜索吧,只是单单看sdk的文档折腾来折腾去的,搞了一星期居然没搞定,后面找到了正确的办法才发现,原来就差一点点一丢丢呢,这又让我联想到很多事情 海康sdk回调流程: 调用NET_DVR_RealPlay_V40设置回调处理函数。 在回调处理函数RealDataCallBack中依次处理打开、播放、解码。

    73630

    Qt音视频开发19-海康sdk录像存储

    一、前言 关于调用海康sdk来进行录像存储,整体的框架架构处理流程沿袭了之前vlc内核、ffmpeg内核、mpv内核的做法,定时存储这块,开个定时器判断,到了时间则先关闭原来的录像存储,然后在开始一个新的录像存储 所以这块的代码直接拷贝过来就能使用,要做的就是替换两行代码即可,一行是开始录像存储的函数NET_DVR_SaveRealData,一行是停止录像存储的函数NET_DVR_StopSaveRealData,海康sdk 和录像存储功能同一大类的还有个截图功能,这个在vlc内核、ffmpeg内核、mpv内核这些内核中都实现了,截图总结了三种,第一种是句柄模式下的截图,这个需要调用相关sdk的函数去执行,分辨率大小为原图; 当然如果是只有英文路径那就无需做任何处理,但是对于国人使用来说,中文路径肯定是避免不了的,有两种可能的需要的处理,一个是路径要转成utf8格式,还有一种是要用QTextCodec指定gb2312格式重新转一下路径才能生效,比如海康sdk

    37230

    QT移植腾讯云C-SDK结合实现OTA更新

    、打开代码抽取功能 2、将编译工具链修改为Window环境 最后点击Build实现代码抽取,如下图所示,然后会在SDK的output目录下生成抽取的代码: 接下来创建一个QT工程,然后将C SDK包含进来: 在添加完相应的文件到QT中后编译会产生报错,如下图,注释重定义代码再重新编译: 除此之外,编译还会有大量的警告产生,这是由于C++11和C之间编译规则的原因导致, 添加腾讯云三元组(产品ID、设备名称、设备密钥) 然后在QT的pro文件中添加: #添加代码抽取的C SDK路径 INCLUDEPATH += .. /qcloud_iot_c_sdk/sdk_src/internal_inc #包含网络库、线程库等,以支持CSDK在QT下的编译环境 win32 { LIBS += -luser32 LIBS += -lpthread libwsock32 libws2_32 } 接下来,创建一个QT线程,然后将C SDK目录下example中的OTA更新例程进行修改,具体工程详见Github仓库

    8930

    瑞芯微RV1109 SDK编译&支持QT程序开发

    1、Rockchip SDK架构图 2、RV1126_RV1109开发环境搭建 2.1、搭建过程中遇到的问题 我用的是韦东山老师的ubuntu18.04虚拟机来编译的。 开发环境 sudo apt-get install cmake qt5-default qtcreator 2.4、安装编译rockchip sdk必要的软件 sudo apt-get install 先 SDK 根目录查看 Board Config 对应的 rootfs 是哪个配置 . /build.sh rootfs # Rootfs 编译命令 2.5.4、SDK整体编译 进行整体编译时遇到相应的错误,这个是为了跟RK原厂SDK同步的代码,由于我这个是从第三方买来的,故下面这个功能需要屏蔽掉 3.3、Buildroot开发 3.3.1、buildroot配置qt5和tslib 其它的功能都可以选配,配置完以后,在SDK根目录执行完成编译即可: make savedefconfig .

    1.7K31

    QT应用编程: 基于mdk-sdk开发视频播放器

    一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 二、mdk-sdk 介绍 github 首页地址: https://github.com/wang-bin See https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime mdk-sdk的API使用介绍: https://github.com/wang-bin /mdk-sdk/wiki/Player-APIs mdk-sdk的使用例子(CSDN): https://download.csdn.net/download/xiaolong1126626497/ 16273881 mdk-sdkSDK包(CSDN)--截止当前是最新版本: https://download.csdn.net/download/xiaolong1126626497/16273875 MDK_SDK = $$PWD/mdk-sdk INCLUDEPATH += $$MDK_SDK/include MDK_ARCH = x86 LIBS += -L$$MDK_SDK/lib/$

    11020

    Qt开发-QT Widgets

    前言 Qt Quick和Qt Widgets这两种技术,官方是强推Qt Quick的。 https://download.qt.io/official_releases/QtForPython/ 注意: Qt Widgets使用Python结合PySide2开发的时候,窗口的缩放,内部的组件不会随之缩放 所以目前我就不太建议用Qt Widgets形式开发,建议Qt Quick. 常见属性 结合控件的SizePolicy属性,来控制布局管理中的控件的尺寸自适应方式。 Widget() widget.show() sys.exit(app.exec_()) 窗口设置 去掉顶部按钮 from PySide2.QtCore import QFile, Qt self.setWindowFlags(Qt.FramelessWindowHint)

    25250

    QT软件开发: 基于QT设计的完整版视频播放器、多媒体播放器(mdk-sdk)

    一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 播放器底层接口: mdk-sdk库 完整工程源码下载地址(下载即可编译运行): https:// See https://github.com/wang-bin/mdk-sdk/wiki/FFmpeg-Runtime mdk-sdk的API使用介绍: https://github.com/wang-bin /mdk-sdk/wiki/Player-APIs mdk-sdkSDK包(CSDN)--截止当前是最新版本: https://download.csdn.net/download/xiaolong1126626497 基于MDK-SDK接口开发.

    " "

    这是MDK-SDK的github地址: <a href=\"https://github.com/wang-bin/mdk-sdk/\"> https://github.com

    83430

    Qt开发-QT Quick

    前言 QT Quick和Qt widgets这两种技术,官方是强推QT Quick的。 QT Quick中布局一般有如下四种方式, 绝对坐标:x、y、z、width、height、top、left 锚(anchors) 布局 定位器(Row、Column、Grid、Flow) 布局管理器( #00000000 为窗口透明 //QML支持black 等颜色样式(没有#) //QML支持#11cfff 等颜色样式 //QML同样支持RGB格式 flags: Qt.Window //窗口标志 说明是什么窗口 使用 | 分割,缺省为Qt.Window //Qt.Window 普通窗口模式,带标题栏 //Qt.FramelessWindowHint 隐藏标题栏窗口 opacity:1 } opacity这个属性是对当前组件以及子组件都设置不透明度,所以不太适用 color: Qt.rgba(0,0,0,0)是对当前设置透明度,不会传到子组件 组件 基本组件

    29340

    Qt编写的项目作品29-RTSP播放器+视频监控(海康SDK版本)

    53430

    Qt widget vs Qt Quick

    我为什么从web转向qt? (Qt4版本是qt gui Application , Qt5之后, gui界面用widgets可以做, 用qml也可以做, 就分开了。 故widgets Application 选项 就是qt GUI Application) Widgets适合传统桌面程序 Qt Quick 是 Qt 4.7 主推的技术 Qt 官网介绍:Qt 众所周知,Qt 为跨平台而生,而 QML/Qt Quick 作为 Qt 新生力量,完完全全继承了 Qt 包罗万象的特点,它的诞生为 Qt 进军移动领域迈出了历史性的一步。 随着 Qt 的不断迭代,QML/Qt Quick 也可用于开发传统的桌面程序,而且效率越来越高,这样以来,便可以用 QML/Qt Quick 做任何你想做的事情。

    5.6K11

    qt操作json(QT 教程)

    以故事方式来学习如何使用Qt接口来操作JSON数据。 JSON三兄弟 老大哥QJsonValue 主要用于封装JSON值,类似于QVariant。 请关注下篇Qt之JSON教程-实战篇。 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126528.html原文链接:https://javaforall.cn

    19930

    Platform SDK、Windows SDK简介

    .html(可可西-Platform SDK、Windows SDK简介) https://en.wikipedia.org/wiki/Microsoft_Windows_SDKSDK版本列表wiki 更新版本的Windows SDK: Windows SDK for Windows 7 and .NET Framework 4 Windows 8.1 SDK Windows SDK文档包含如下内容: (1)核心SDK (2).NET Framework SDK (3)IIS SDK (4)Internet Development SDK (IE SDK) (5)MDAC SDK (6)Windows Installer SDK (7)WMI SDK (8)Windows Media Service SDK (9)Microsoft Speech SDK (10)DirectShow SDK 除了.Net SDK之外,SDK文档主要是以C语言规范提供,但是SDK函数的调用方法和语言无关,仅受编程语言的类型系统限制。

    11730

    Qt源码笔记】深谈 Qt 绘制

    之前写了一篇 浅谈Qt控件绘制 。之所以叫浅谈是因为调用都是比较表层的调用。其实 Qt 的绘制,可以说用 Qt 的人都有用到,但是对于绘制底层,了解的人并不见得很多。 这让我对 Qt 的性能又放心了一些。 探究过程 其实研究这个,比其他的更好溯源。附上三段堆栈信息。 Qt5Guid.dll! qt_span_fill_clipRect(int count, const QT_FT_Span_ * spans, void * userData) 行 4229 C++ Qt5Guid.dll! 这是 Qt 作为一个高级框架的闪光点,在其他的 Qt 模块也有类似发现,比如控件的绘制上。这样看来 Qt 这个框架能给我们的,除了代码逻辑本身,还有设计。 后记 对于 Qt 绘制的深入探究,可以说是受益匪浅,这篇文章只是描述了冰山一角,其实整个流程比这个简要概括要高级的多。从研究 Qt 源码至今,对整个 Qt 项目的感受与评价,已和往日截然不同。

    58940

    Java开发SDK详解->SDK开发

    2.2.6 HopeResponse 2.2.7 ApiRequest 2.3 打包 2.3.1 设置 2.3.2 构建 三、最后 一、前言 前面已经将服务端开发好了(服务端开发),现在我们来开发SDK Artifacts Build(第一次构建) Rebuild(重新构建,会先自定清理上次构建jar包) Clean(清理构建好的jar包) jar生成在out文件夹下 三、最后 现在一个简单的SDK 已经开发打包好了,服务端之前也已经开发并启动了,现在就剩下最后一步客户端引用SDK测试了。

    8020

    Qt5.12配置Android环境 只有platform sdk installed error的解决办法「建议收藏」

    Qt for Android 环境配置 platform sdk installed error的解决方案 时隔一年半,又被Qt配置Android环境被这个强大的软件狠狠的按在地上摩擦。都是泪呀! 因为项目需要,需要在高一点版本的Qt上面开发Android软件,本来我用Qt5.12.9用的好好的,但是因为配置Android环境要多了个openssl,而且一直就platform sdk installed 因为我对sdk build tools的各种瞎弄,为了适用platform sdk安装了android 10 与Android 8。老开心了,四十个G,要不是我固态够大,不够你瞎闹的。 5 配置Qt 进入Qt 中 工具 ->选项 ->设备,将sdk的路径选择你安装的Android studio的路径,nkd选择到你解压的路径下,如图配置。 然后对于Qt Android的创建配置提一下,与我之前的说的有点区别。现在都不用use ministro to install qt 了,不用勾选这个。其他都照样写就行了。

    13120

    Qt属性系统(Qt Property System)

    Qt提供了巧妙的属性系统,它与某些编译器支持的属性系统相似。然而,作为平台和编译器无关的库,Qt不能够依赖于那些非标准的编译器特性,比如__property 或者 [property]。 Qt的解决方案能够被任何Qt支持的平台下的标准C++编译器支持。它依赖于元对象系统(Meta_Object Sytstem),元对象系统通过信号和槽提供了对象间通讯的机制。 1. Qt中怎么声明属性?    对QT中属性的理解   一个属性的表现就像一个普通的数据成员一样,但是它有额外提供元对象系统访问的特性 (1)如果MEMBER关键子没有被指定,则一个READ访问函数是必须的,它被用来访问数据成员的值。 如果信号和槽使用Qt::QueuedConnection连接,则还需要使用qRegisterMetaType<T>()函数注册。 此外,Qt的状态机框架和动画框架依赖属性系统。

    40740

    QT qt 3d 绘图

    qt 3d 绘图 首先不得不说,要感谢北京邮电大学的阿科。感谢他慷慨的分享和极具科学态度的记录,将自己搜集到的众多资料收集整理发布,拯救众多苦逼寻找方案的程序员于苦海之中。 qwtplot3d(http://qwtplot3d.sourceforge.net/web/navigation/feature_frame.html) 2 Sapphire-3D-Surfaces(http://qt-apps.org content=118944) 注意这里我使用的开发环境是Qt,语言为C++。 第二个下载源代码,再win7的Qt Creator一下就编译通过了。

    85720

    扫码关注腾讯云开发者

    领取腾讯云代金券