Skip to content

Latest commit

 

History

History
102 lines (83 loc) · 3.25 KB

README.md

File metadata and controls

102 lines (83 loc) · 3.25 KB

sip-proxy

Maven Central GitHub license

www.isluna.ml

基于sip实现gb28181的通信框架,区分client和server。以便于快速构建发起SIP请求和处理响应。支持级联,告警,订阅等标准协议信令服务。项目不仅限于gb28181协议。也可以利用封装的SIP方法处理其他协议。

实现功能

  • SIP 通用请求构建
  • spring-boot starter自动配置
    • 端口监听
      • UDP 监听
      • TCP 监听
    • 基于javax的xml转化,写bean的方式写xml
  • GB28181
    • Server
      • 设备注册
      • 目录订阅
      • 设备认证
      • 设备控制
      • 云台控制(PTZ)
      • 安放告警
      • 设备查询
      • 实时点播
      • 视频回放点播
      • 视频回放控制
      • 设备移动订阅
    • Client
      • 设备注册
      • 目录更新上报
      • 设备控制响应
      • 告警上报
      • 事件推送
      • 设备状态回复
      • 设备录像上报
      • 心跳检测
      • 实时点播响应
      • 实时回放控制响应
      • 视频回放点播
  • 基于gb28181-proxy 实现平台级操作。搭建信令服务平台
  • 基于流媒体搭建完整的视频监控级联平台 voglander 进行中
  • 基于ZLM的start框架 zlm-spring-boot-starter 进行中
  • 基于客户端搭建本地NVR平台管理
  • wike教程
  • 其他。。。

如何使用

文档链接

全量包

<dependency>
    <groupId>io.github.lunasaw</groupId>
    <artifactId>gb28181-proxy</artifactId>
    <version>${last.version}</version>
</dependency>

按需引入 基于sip的请求封装包。注意:因为涉及到github action打包识别问题。故sip-common永远比client和sever小一个版本

<dependency>
    <groupId>io.github.lunasaw</groupId>
    <artifactId>sip-common</artifactId>
    <version>${last.version}</version>
</dependency>

gb28181设备client

<dependency>
    <groupId>io.github.lunasaw</groupId>
    <artifactId>gb28181-client</artifactId>
    <version>${last.version}</version>
</dependency>

sip服务器server

<dependency>
    <groupId>io.github.lunasaw</groupId>
    <artifactId>gb28181-server</artifactId>
    <version>${last.version}</version>
</dependency>

代码规范

  • 后端使用同一份代码格式化膜模板ali-code-style.xml,ecplise直接导入使用,idea使用Eclipse Code Formatter插件配置xml后使用。
  • 前端代码使用vs插件的Beautify格式化,缩进使用TAB
  • 后端代码非特殊情况准守P3C插件规范
  • 注释要尽可能完整明晰,提交的代码必须要先格式化
  • xml文件和前端一样,使用TAB缩进