Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【技术教程】如何添加大华SDK用来控制云台?

【技术教程】如何添加大华SDK用来控制云台?

原创
作者头像
TSINGSEE青犀视频
修改于 2021-11-12 07:48:11
修改于 2021-11-12 07:48:11
3.1K0
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频

EasyCVR 目前对大华 SDK 的接入开发已经差不多完成了,现在可以通过 EasyCVR 控制大华设备的云台了。本文和大家分享一下开发流程。首先需要有一台带云台控制的大华设备,查看大华 SDK 文档,流程图如下:

流程步骤:

  • 调用 CLIENT_Init 完成 SDK 初始化流程。
  • 初始化成功后,调用 CLIENT_LoginWithHighLevelSecurity 登录设备。
  • 根据需求调用 CLIENT_DHPTZControlEx2 接口操作云台。不同的云台命令可能需要不 同的参数,部分操作命令需要调用相应的停止命令。
  • 业务使用完后,调用 CLIENT_Logout 登出设备。
  • SDK 功能使用完后,调用 CLIENT_Cleanup 释放 SDK 资源。

下面就需要集成到 EasyCVR 项目中。集成到 EasyCVR 项目中需要将大华 SDK 封装一层,方便 GO 语言调用。封装需要暴露几个接口给 GO 调用:初始化大华设备、释放 SDK 资源、登录大华设备、退出登录、是否支持云台控制和控制云台设备。

封装完成会生成.dll文件:

只要在go层添加.h文件和.dll文件即可

将以上几个接口的方法使用 cgo 调用(cgo 控制云台调用,其他接口调用差不多):

这样前端视频页面中使用大华 SDK 接入设备就可以操控大华摄像机的云台控制。

前端接口会传入一个 channelId 过来。从数据库找所匹配的此id,来获取 cgo 传入大华的句柄。前端传 speed 在转换移动速度。调用 SDKSetPTZ 方法来移动大华摄像机云台(以下是 go 移动大华云台的代码)。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Flink应用案例统计实现TopN的两种方式
窗口的计算处理,在实际应用中非常常见。对于一些比较复杂的需求,如果增量聚合函数 无法满足,我们就需要考虑使用窗口处理函数这样的“大招”了。 网站中一个非常经典的例子,就是实时统计一段时间内的热门 url。例如,需要统计最近 10 秒钟内最热门的两个 url 链接,并且每 5 秒钟更新一次。我们知道,这可以用一个滑动窗口 来实现,而“热门度”一般可以直接用访问量来表示。于是就需要开滑动窗口收集 url 的访问 数据,按照不同的 url 进行统计,而后汇总排序并最终输出前两名。这其实就是著名的“Top N” 问题。 很显然,简单的增量聚合可以得到 url 链接的访问量,但是后续的排序输出 Top N 就很难 实现了。所以接下来我们用窗口处理函数进行实现。
Maynor
2022/06/30
1.5K0
Flink应用案例统计实现TopN的两种方式
零基础学Flink:实时热销榜Top5(案例)
如前文所预告的一样,今天我们来分析一下,如何通过flink完成实时热销榜单Top5的计算,本文案例,需要使用前文一些内容,如果不了解的同学,请移步《零基础学Flink:Join两个流》。
麒思妙想
2020/07/10
6330
Flink最难知识点再解析 | 时间/窗口/水印/迟到数据处理
时间、窗口、水印、迟到数据这四个知识点几乎是Flink这个框架最难点。我之前发了很多文章来解释。很多同学仍然理解不了。
王知无-import_bigdata
2020/02/24
5.1K3
【基于Flink的城市交通实时监控平台】需求二:卡口的实时拥堵情况-滑动窗口
卡口的实时拥堵情况,其实就是通过卡口的车辆平均车速和通过的车辆的数量,为了统计实时的平均车速,我设定一个滑动窗口,窗口长度是为5分钟,滑动步长为1分钟。
火之高兴
2024/07/25
2300
全网最详细4W字Flink入门笔记(中)
Flink是一个有状态的流式计算引擎,所以会将中间计算结果(状态)进行保存,默认保存到TaskManager的堆内存中,但是当task挂掉,那么这个task所对应的状态都会被清空,造成了数据丢失,无法保证结果的正确性,哪怕想要得到正确结果,所有数据都要重新计算一遍,效率很低。想要保证 At -least-once 和 Exactly-once,需要把数据状态持久化到更安全的存储介质中,Flink提供了堆内内存、堆外内存、HDFS、RocksDB等存储介质。
BookSea
2023/07/21
6050
基于Flink快速开发实时TopN
TopN 是统计报表和大屏非常常见的功能,主要用来实时计算排行榜。流式的TopN可以使业务方在内存中按照某个统计指标(如出现次数)计算排名并快速出发出更新后的排行榜。
王知无-import_bigdata
2019/12/19
3.1K0
全网最详细4W字Flink入门笔记(下)
Flink是一个有状态的流式计算引擎,所以会将中间计算结果(状态)进行保存,默认保存到TaskManager的堆内存中,但是当task挂掉,那么这个task所对应的状态都会被清空,造成了数据丢失,无法保证结果的正确性,哪怕想要得到正确结果,所有数据都要重新计算一遍,效率很低。想要保证 At -least-once 和 Exactly-once,需要把数据状态持久化到更安全的存储介质中,Flink提供了堆内内存、堆外内存、HDFS、RocksDB等存储介质。
BookSea
2023/10/16
1.1K0
全网最详细4W字Flink入门笔记(下)
Flink处理函数实战之三:KeyedProcessFunction类
本文是《Flink处理函数实战》系列的第三篇,上一篇《Flink处理函数实战之二:ProcessFunction类》学习了最简单的ProcessFunction类,今天要了解的KeyedProcessFunction,以及该类带来的一些特性;
程序员欣宸
2021/04/18
1.2K0
Flink处理函数实战之三:KeyedProcessFunction类
Flink处理函数实战之二:KeyedProcessFunction类
本文是《Flink处理函数实战》系列的第二篇,上一篇《Flink处理函数实战之一:ProcessFunction类》学习了最简单的ProcessFunction类,今天要了解的KeyedProcessFunction,以及该类带来的一些特性;
程序员欣宸
2020/05/26
3.1K0
刁钻导师难为人?我转手丢给他一个Flink史上最简单双十一实时分析案例
上期带大家用StructredStreaming做了双十一实时报表分析,没看过的朋友可以看看,这是链接: StructredStreaming+Kafka+Mysql(Spark实时计算| 天猫双十一实时报表分析)
Maynor
2021/06/29
4610
Flink基础:时间和水印
本篇终于到了Flink的核心内容:时间与水印。最初接触这个概念是在Spark Structured Streaming中,一直无法理解水印的作用。直到使用了一段时间Flink之后,对实时流处理有了一定的理解,才想清楚其中的缘由。接下来就来介绍下Flink中的时间和水印,以及基于时间特性支持的窗口处理。
用户1154259
2020/11/24
1.1K0
Flink基础:时间和水印
Flink的双流处理(CoProcessFunction)
接下来咱们开发一个应用来体验CoProcessFunction,功能非常简单,描述如下:
程序员欣宸
2021/07/22
6910
Flink的双流处理(CoProcessFunction)
2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计
在大数据的实时处理中,实时的大屏展示已经成了一个很重要的展示项,比如最有名的双十一大屏实时销售总价展示。除了这个,还有一些其他场景的应用,比如我们在我们的后台系统实时的展示我们网站当前的pv、uv等等,其实做法都是类似的。
Lansonli
2021/10/11
1.2K0
网站日志实时分析之Flink处理实时热门和PVUV统计
实时热门统计 操作步骤: 先从Kafka读取消费数据 使用map算子对数据进行预处理 过滤数据,只留住pv数据 使用timewindow,每隔10秒创建一个20秒的window 然后将窗口自定义预聚合,并且兹定于窗口函数,按指定输入输出case操作数据 上面操作时候返回的是DataStream,那么就根据timestampEnd进行keyby 使用底层API操作,对每个时间窗口内的数据进行排序,取top package com.ongbo.hotAnalysis import java.sql.Times
王知无-import_bigdata
2020/08/12
1.6K0
一网打尽Flink中的时间、窗口和流Join
首先,我们会学习如何定义时间属性,时间戳和水位线。然后我们将会学习底层操作process function,它可以让我们访问时间戳和水位线,以及注册定时器事件。接下来,我们将会使用Flink的window API,它提供了通常使用的各种窗口类型的内置实现。我们将会学到如何进行用户自定义窗口操作符,以及窗口的核心功能:assigners(分配器)、triggers(触发器)和evictors(清理器)。最后,我们将讨论如何基于时间来做流的联结查询,以及处理迟到事件的策略。
王知无-import_bigdata
2021/09/22
1.9K0
Flink 的窗口指定者和函数
窗口是处理无限流的核心。窗口拆分将流拆为有限数量数据的bucket,这样就可以应用计算。
前Thoughtworks-杨焱
2021/12/07
8950
Apache Flink:Keyed Window与Non-Keyed Window
Apache Flink中,Window操作在流式数据处理中是非常核心的一种抽象,它把一个无限流数据集分割成一个个有界的Window(或称为Bucket),然后就可以非常方便地定义作用于Window之上的各种计算操作。本文我们主要基于Apache Flink 1.4.0版本,说明Keyed Window与Non-Keyed Window的基本概念,然后分别对与其相关的WindowFunction与WindowAllFunction的类设计进行分析,最后通过编程实践来应用。
王知无-import_bigdata
2019/08/06
1.5K0
Flink1.4 窗口函数
在定义窗口分配器之后,我们需要在每个窗口上指定我们要执行的计算。这是窗口函数的责任,一旦系统确定窗口准备好处理数据,窗口函数就处理每个窗口中的元素。
smartsi
2019/08/07
1.7K0
Flink处理函数实战之一:ProcessFunction类
如下图,在常规的业务开发中,SQL、Table API、DataStream API比较常用,处于Low-level的Porcession相对用得较少,从本章开始,我们一起通过实战来熟悉处理函数(Process Function),看看这一系列的低级算子可以带给我们哪些能力?
程序员欣宸
2020/05/26
1.1K0
Flink实战(七) - Time & Windows编程
掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flink中的watermark。
JavaEdge
2022/11/30
8700
Flink实战(七) - Time & Windows编程
推荐阅读
相关推荐
Flink应用案例统计实现TopN的两种方式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档