Skip to content

pedoc/GB28181.Solution

 
 

Repository files navigation

GB28181 Standard

  • GB28181开源的目标是:通过代码复用,适当降低工作难度和减少业务代码的重复性,并非替代你的开发工作或者让你几乎不用开发工作。
  • 最新国标是:【GB28181-2016
  • 项目结构、代码结仍存在不少问题,待完善,因为时间问题,也是希望大家能一起完善
  • 希望每一个对本项目感兴趣的朋友,都能成为本项目的共同作者或者贡献者
  • 注意:代码一直在更新,GB28181系列项目,并不是生产就绪的,往往须要根据自己的项目和产品架构,做适当的调整和适配!!

运行环境(environment)

running in docker
running on Linux
running on aspnetcore 3.1+

说明(instruction)

  • Mainly on develop branch ,in order to support .net core3.1+.
    • 以develop分支为主.
  • The windows function part was not maintained .
    • Form Client Project Need to be fixed.
  • you can refer to other branch in this repo , PRs are always welcome.
  • provide grpc interface for other microservice

一些要做的事情(TODO List)

项目希望达到的目标功能,如下:

打勾的是已完成的,没打勾的是正在做的,需要大家一起完成的。

  • Architecture & framework

    • 设计与流媒体服务交互的GRPC接口
    • 设计与系统配置服务(或数据服务)交互的GRPC接口
    • 精简服务模块,调整代码结构关系
    • 为配置接口和流媒体服务接口提供mock数据,使得服务可以独立运行
    • 以GRPC方式对接流媒体服务【monibuca
    • 以GRPC方式从系统配置服务(或者数据服务)中获取GB信令服务的配置信息,包括名称、ID、端口、协议等
    • 使服务注册组件变成可配置的(或者移除),(当前是consul,并且k8s环境中也不需要)
    • 将GRPC服务的实现改为apsnetcore3.1+的内置实现方式.
    • 从GB28181.Sipsorcery项目中将原始的sipsorcery项目分离出来
    • 剥离删除DNS组件,直接使用sipsorcery项目的原始功能.
  • SIP信令服务

    • 对接GB28181设备,实现基本的设备控制(暂不含双向语音和巡航等功能)
      • Device Registering And management
      • Device Controlling Service such as :PTZ
      • Device Catalog Query
      • Device Info Query
      • Device Live Video
      • Device History Video Query
    • 对接GB28181平台,实现完整的平台级联控制。
    • 注册到服务的设备信息缓存
    • 注册到服务的平台信息缓存,待进一步测试
  • Streaming Media(流媒体,以【monibuca】为基础)

    • 修复视频测试工具(WinTool)
    • 完善项目视频组件功能相关的测试流程文档
    • 定义SIP信令服务与流媒体服务交互的RTSP接口
    • 定义SIP信令服务与流媒体服务交互的GRPC接口
    • 实现完整的实时视频播放功能, Video Live Play
    • 实现完整的历史视频搜索功能,History Video Record Search
    • 实现完整的历史视频播放功能, History Video PlayBack

模块在系统内架构关系

下图展示 GB28181.Server 在整个系统架构中设定的、与其他服务的模块关系以及交互方式设计:

GB28181.Server-Assembly-Relationship

需要注意:图示中的架构设计,不一定适合你的项目需求和你的系统架构设计要求,往往需要根据你的项目实际做修改和调整

欢迎共同讨论,共同进步,欢迎PR

讨论、成为共同作者、近距离贡献

微信扫描二维码,添加好友,进入微信讨论群(注明:GB28181+公司+姓名):

qrcode

Inspired By

License

MIT & BSD v2 & BSD v3 & GPL

说明: 由于项目前期License问题的不严谨性,项目采用了诸多协议,如GPL、MIT、BSD v2 BSD v3等,但是,由于GPL License的存在以及GPL License的约束和传染性,这对希望修改后闭源使用的朋友可能会造成较大影响.

项目中用到的 SIPSorcery中明确使用了GPL License, 比如: DNSResponse

针对该License问题:项目的后续计划是将使用的 SIPSorcery中的相关代码更新为原作者使用Code Project Open License (CPOL)的版本, 比如:使用CPOL版本DNSResponse,同时将其他代码的License也做适当的更宽泛化调整

GPL License 有三个版本:GPL(GPL 1.0)GPL 2.0GPL 3.0

关于GPL的更多了解:开源中国GPL百科 GPL

About

Linux & & Netcore & Docker & kubernetes & Chart & GB28181 & 国标测评 & 作为上下级域 & 平台级联互联

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%