Skip to content

系统组成&编译后哪些文件有用?

chatop2020 edited this page Nov 27, 2020 · 1 revision

系统组成

StreamNodeWebApi

  • 全局的流媒体管理API服务,包含了所有流媒体功能的控制,如摄像头注册,录制计划,rtp推流,ptz控制等。
  • 此服务全局只存在一份,负责收集来原于StreamMediaServerKeeper的流媒体服务信息,并进行流媒体服务的管理。

StreamMediaServerKeeper

  • 用于流媒体的相关控制,如控制流媒体服务器的启动,停止,重启,获取某个录制文件是否存在,裁剪与合并任务的执行等。
  • 此服务针对于流媒体进行部署,每一个流媒体服务都需要部署一个StreamMediaServerKeeper,此服务与StreamNodeWebApi通过WebApi进行通讯。
  • 此服务启动时,将自己的状态以心跳的方式汇报给StreamNodeWebApi,并帮助StreamNodeWebApi服务控制ZLMediaKit流媒体服务器。

其他内容

  • LibGB28181SipGate GB28181 SIP信令服务网关
  • GB28181.SIPSorcery GB28181 SIP信令协议栈
  • CommonFunctions 通用方法与通用结构
  • Logger4Net 部分组件用到的日志工具
  • sipsorcery SIP协议栈
  • StreamNodeCtrlApis 控制API集合
  • Test_* 测试的工程

我会用到哪些文件?

  • StreamNode-GB28181在开发中使用了模块化开发概念,将类似功能组合成lib包的形式向其他需要的组件注入并供调用,因此StreamNode-GB28181会有很多工程组成并在共同的作用下来实现整个系统的完美运行。
  • 如上一章系统组成中提到,StreamNode-GB28181最重要的部分是StreamNodeWebApi和StreamMediaServerKeeper两部分,除Test_*以外的工程都服务于这两个工程,在正确编译后,所有工程的可执行文件都会被自动链接并发布到StreamNodeWebApi和StreamMediaServerKeeper两个工程的bin目录中,因此我们只关心这两个工程的bin目录,其他工程我们不需要关心。