• 结合实战,浅析GB/T28181(七)—— 球机云台控制


    1 简介说明

    28181设备控制包括球机/云台控制、录像控制、报警布放/撤防及复位、设备配置等类型,本节主要介绍球机/云台控制流程、协议规定,及实战对接时碰到的常见问题和排查思路。

    依据规范定义,球机/云台控制又分为PTZ操作、FI操作、预置位操作、巡航操作、扫描操作、辅助开关控制这些业务操作。其中,巡航操作和扫描操作不常用,我们主要聊聊常用的几种控制操作。

    序号

    球机/云台操作类型

    细则

    是否常用

    1

    PTZ操作

    镜头变倍(缩小、放大)

    云台水平和垂直方向控制(上、下、左、右4个方位的开始移动及停止移动)

    2

    FI操作

    光圈控制(放大、缩小)

    聚焦控制(调远、调近)

    3

    预置位操作

    设置预置位

    调用预置位

    删除预置位

    4

    辅助开关控制

    开启雨刷

    关闭雨刷

    5

    巡航操作

    加入巡航点

    删除一个巡航点

    设置巡航速度

    设置巡航停留时间

    开始巡航、停止巡航

    6

    扫描操作

    开始自动扫描

    设置自动扫描左边界

    设置自动扫描右边界

    设置自动扫描速度

    2 协议举例

    以上协议截图来自《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》文档。是不是看起来不形象,不容易理解呢。下边以PTZ指令的开始向左转动,停止向左转动为例,介绍一下对控制协议的理解。

    下边是28181文档上对PTZ指令的说明:

    控制命令消息,是以8字节长度的十六进制大写字符串格式传输的,比如云台开始向左转动、停止转动的消息分别如下:

    A50F010290000047

    A50F0100000000B5

    以开始转动为例:

    字节1:A5H,固定值。

    字节2:0FH,高字节0H为固定值,低字节FH,根据定义,是这么算来的

    FH = (AH + 5H + 0H) % 16,所以字节2的0FH,也是固定值。

    字节3:01H,一般为固定值。

    字节4:02H,表示云台开始向左转动。

    字节5:90H,表示云台向左转动的速度为90H,水平方向转动速度范围为00H ~ FFH。

    字节6:00H,水平方向转动时,该值为0。

    字节7:00H,水平方向转动时,该值为0。

    字节8:47H,是校验码,根据定义,是这么算来的
    47H = (A5H + 0FH + 01H + 02H + 90H + 00H + 00H) % 256

    明白了云台开始向左转动消息的含义,停止转动、其它PTZ和控制操作消息,结合28181文档定义,也就容易明白了,这里不再多说。

    3 控制流程

    依据协议规定,球机/云台控制中的PTZ操作、FI操作、预置位操作、辅助开关控制过程,都遵循无应答命令流程,如下图所示:

    说明:

    1:上级SIP信令网关向下级SIP域发送设备控制命令,设备控制命令采用Message方法携带;

    2:下级SIP域收到命令后,回复200 OK。

    4 信令抓包

    抓包对象:上级SIP信令网关,与下级SIP域服务(网络摄像机)之间的信令。

    4.1 PTZ转动

    云台开始向左转动、停止转动:

    云台开始向右转动、停止转动:

    4.2 预置位

  • 相关阅读:
    tcpdump使用技巧
    微信小程序修改van-popup的背景颜色
    DOS攻击-ftp_fuzz.py
    配置fail2ban的记录
    matlab|计及源荷不确定性的综合能源生产单元运行调度与容量配置随机优化模型
    Java Reflection构造器的示例简介说明
    Javascript知识【案例:复选框操作】
    (一)DepthAI-python相关接口:OAK Device
    SpringBoot定时任务 - 什么是ElasticJob?如何集成ElasticJob实现分布式任务调度?
    聊聊logback的DuplicateMessageFilter
  • 原文地址:https://blog.csdn.net/chexlong/article/details/126425358