Skip to content

项目需求和TODO列表

Edward edited this page Jun 5, 2020 · 11 revisions

打勾的是已完成的,没打勾的是正在做的或者计划做的,有时间有兴趣的朋友,我们来一起完成的.

  • Architecture & framework

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

    • 对接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平台,实现完整的平台级联控制。
    • 缓存注册上来的的设备信息
    • 缓存注册到上来的平台信息,待进一步测试
    • 使用appsetting.json统一配置平台信息。
  • Streaming [Golang] [以【monibuca】为基础]

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

    • 发布一个GB28181的JS初级版本.
  • Streaming [C#/netcore] [目前只是想法]

    • 拆分StreamingKit 形成单独的媒体流服务模块
    • 增加单独的GRPC服务承载Streaming
    • 提供流的接收和转发能力

如果觉得上面,比较难,欢迎先来一起改warning!

目前的warnings 主要有以下几类:

  • 1,变量声明了,但是没用,这一类comment掉,不要删,因为后续基本很多变量会用到。
  • 2,culture 选项缺失,比如字符串比较时候,会警告,可以指定一个,不过我想,应该有一个可以配置全局culture的地方,发现,csproj,assembely,startup,三个地方都不行,看看大家有什么好办法,不然就要一个个改了。
  • 3, getter,setter用法不合规范,这个按照标准的用法该就行了。
  • 4, 大小写用法符合style约束。
  • 5, CLR兼容性,我们只兼容C#不需要支持VB/F#。
  • 6, Idispose接口使用不符合规范,没有控制好对于托管和非托管资源的释放关系,要修正过来,具体做法就是声明一个protected virtual Dispose( bool isDisposeNative){}
  • 7, 有一些引用到非托管资源的类,在出现异常的时候或者在某些逻辑流程里,没有办法正常释放的,会造成泄露,比如file/sem相关的,这种情况下最好使用using,或者捕获异常后手动释放。