SrsHybridServer 顾名思义,就是混合服务,目前他里面有 3 个 Server 服务,分别是 Server,SrtServer,RtcServer,如下:

全局变量 _srs_hybrid 就是 SrsHybridServer 的实例,_srs_hybrid 实际上是一个管理器,register_server() 可以注册外部的 Adapter 模块进去。
_srs_hybrid 执行 initialize 初始化方法的时候,就会同时遍历所有的 Adapter 模块,执行他们的 initialize 初始化方法。
_srs_hybrid 执行 run 方法的时候,就会同时遍历所有的 Adapter 模块,执行他们的 run 方法。
我也不知道这种设计模式叫什么名称,如果有读者知道,请告知我补充上去。SrsHybridServer 的整个逻辑是比较简单的,流程图如下:

下面简单介绍一下 3 个 Server 服务的功能。
Server,这个主要是 RTMP,HTTP 服务的 Server。但是 WebRTC over TCP 的功能也在这里RtcServer,这是 WebRTC UDP 流媒体服务器SrtServer,这是 SRT 流媒体服务器
本文是《 SRS原理 》一书中的文章,如需观看更多内容,请购买本书。