登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. 未分类
  3. 正文

ZLMediaKit、GB28181及海康摄像头的集合使用

2023-08-07

本计划给我们现有的平台使用Zlmediakit支持GB28181协议,但因为没有用过GB28181,所以捣鼓了一天Zlmediakit也没明白怎么能把海康的流推上来。试用了几个GB28181测试工具,发现都不好使。最后试用了华为好望云,才大致搞清楚了GB28181的逻辑。

GB28181需要流媒体服务器和SIP信令服务器的结合才可以使用,但ZLMediakit仅支持流媒体服务,不支持SIP信令。所以仅使用Zlmediakit是无法推流的。ZLMediakit官网与wvp-GB28181-pro项目合作,由wvp-GB28181-pro项目实现了SIP信令部分。

链接:
https://github.com/648540858/wvp-GB28181-pro
https://github.com/ZLMediaKit/ZLMediaKit/

经过了两天的测试,终于完成了zlm+wvp的验证,实现了gb28181的推流及网页的播放。

一、核心过程

Zlmediakit按需推流流程

wvp-pro点播流程

以下为WVP-PRO点播流程。点播成功前的任何一个环节出现问题都可能出现点播超时,这也是排查点播超时的依据。

注册流程描述如下:

  1. 用户从网页或调用接口发起点播请求;
  2. WVP-PRO向摄像机发送Invite消息,消息头域中携带 Subject字段,表明点播的视频源ID、发送方媒体流序列号、ZLMediaKit接收流使用的IP、端口号、 接收端媒体流序列号等参数,SDP消息体中 s字段为“Play”代表实时点播,y字段描述SSRC值,f字段描述媒体参数。
  3. 摄像机向WVP-PRO回复200OK,消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容。
  4. WVP-PRO向设备回复Ack, 会话建立成功。
  5. 设备向ZLMediaKit发送实时流。
  6. ZLMediaKit向WVP-PRO发送流改变事件。
  7. WVP-PRO向WEB用户回复播放地址。
  8. ZLMediaKit向WVP发送流无人观看事件。
  9. WVP-PRO向设备回复Bye, 结束会话。
  10. 设备回复200OK,会话结束成功。

相机注册流程

WVP-PRO目前仅支持国标中描述的基本注册流程,也是最常用的,

基本注册即采用IETFRFC3261规定的基于数字摘要的挑战应答式安全技术进行注册.

注册流程描述如下:

  1. 摄像机向WVP-PRO服务器发送 Register请求;
  2. WVP-PRO向摄像机发送响应401,并在响应的消息头 WWW_Authenticate字段中给出适合摄像机的认证体制和参数;
  3. 摄像机重新向WVP-PRO发送 Register请求,在请求的 Authorization字段给出信任书, 包含认证信息;
  4. WVP-PRO对请求进行验证,如果检查出 摄像机身份合法,向摄像机发送成功响应 200OK,如果身份不合法则发送拒绝服务应答。

流程总结

二、验证过程

zlm最新版使用docker安装在ubuntu22服务器中,ip为192.168.6.277。wvp使用代码编译后,在我本地windows11运行,本地的ip是192.168.99.1202。

标签: 暂无
最后更新:2023-08-08

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号