Android平台GB28181设备接入模块之球机/云台控制探究
技术背景
好多开发者在做GB28181设备接入的时候,问云台控制是否可以处理(亦或拉取外部RTSP摄像头,通过命令中转的方式,控制摄像头),实际上云台控制命令相对来说还是比较好处理的。协议规范有明确说明,云台控制命令不需要发送应答命令,实现相对简单,和我们之前做的远程启动命令(TeleBoot)类似。
在实现云台控制命令之前,我们先回顾下设备控制的基本要求:
源设备向目标设备发送设备控制命令,控制命令的类型包括球机/云台控制、远程启动、录像控制、 报警布防/撤防、报警复位、强制关键帧、拉框放大、拉框缩小、看守位控制、设备配置等。
设备控制采用 IETFRFC3428中的 Message方法实现。
源设备包括SIP客户端、网关或者联网系统,目标设备包括SIP设备、网关或者联网系统。
源设备向目标设备发送球机/云台控制命令、远程启动命令、强制关键帧、拉框放大、拉框缩小命令后,目标设备不发送应答命令。
源设备向目标设备发送录像控制、报警布防/撤防、 报警复位、看守位控制、设备配置命令后,目 标设备应发送应答命令表示执行的结果。
无应答命令流程
命令流程描述如下:
a) 1:源设备向SIP服务器发送设备控制命令,设备控制命令采用 Message方法携带;
b) 2:SIP服务器收到命令后返回200OK;
c) 3:SIP服务器向目标设备发送设备控制命令,设备控制命令采用 Message方法携带;
d) 4:目标设备收到命令后返回200OK。
PTZ指令
PTZ指令中,其中 Bit5和 Bit4不应同时为1,Bit3和 Bit2不应同时为1;Bit1和 Bit0不应同 时为1。镜头变倍指令、云台上下指令、云台左右指令三者可以组合。
PTZ指令举例 
技术实现
GB28181的云台控制命令,对Android平台设备接入端来说,难度不大,只需要把相应的云台控制命令字段回调到上层,上层做个解析,然后进行相应的命令控制即可,这里不再赘述。
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2021-05-18 公网可用的RTMP、RTSP测试地址(更新于2021年3月)
2021-05-18 rtmp/rtsp/hls公网真正可用的测试地址
2021-05-18 Windows平台RTMP|RTSP播放器实现画面全屏功能
2021-05-18 Windows平台RTMP|RTSP播放器为什么要兼容GDI绘制
2021-05-18 Windows平台RTMP推送|轻量级RTSP服务实现本地摄像头|屏幕|叠加数据预览
2021-05-18 Android对接实现内网无纸化会议|智慧教室|实时同屏功能
2021-05-18 QT实现低延迟的RTSP、RTMP播放器