SRS的混合服务SrsHybridServer—SRS源码分析

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

全局变量 _srs_hybrid 就是 SrsHybridServer 的实例,_srs_hybrid 实际上是一个管理器,register_server() 可以注册外部的 Adapter 模块进去。

_srs_hybrid 执行 initialize 初始化方法的时候,就会同时遍历所有的 Adapter 模块,执行他们的 initialize 初始化方法。

_srs_hybrid 执行 run 方法的时候,就会同时遍历所有的 Adapter 模块,执行他们的 run 方法。

我也不知道这种设计模式叫什么名称,如果有读者知道,请告知我补充上去。SrsHybridServer 的整个逻辑是比较简单的,流程图如下:


下面简单介绍一下 3 个 Server 服务的功能。

  1. Server,这个主要是 RTMP,HTTP 服务的 Server。但是 WebRTC over TCP 的功能也在这里
  2. RtcServer,这是 WebRTC UDP 流媒体服务器
  3. SrtServer,这是 SRT 流媒体服务器

本文是《 SRS原理 》一书中的文章,如需观看更多内容,请购买本书。

相关推荐
冬奇Lab12 小时前
Android 15音频子系统(五):AudioPolicyService策略管理深度解析
android·音视频开发·源码阅读
冬奇Lab1 天前
AudioFlinger混音机制深度解析
android·音视频开发·源码阅读
冬奇Lab2 天前
AudioRecord音频录制流程深度解析
android·音视频开发·源码阅读
心走10 天前
WebRTC音视频连接中黑屏问题解决思路
音视频开发
冬奇Lab12 天前
AudioTrack音频播放流程深度解析
android·音视频开发·源码阅读
冬奇Lab13 天前
AudioFlinger架构基础:Android音频系统的心脏
android·音视频开发·源码阅读
RandySu90015 天前
Soundly 音频DSP流程核心逻辑说明
音视频开发
程序员_Rya17 天前
语聊房如何选择实时语音SDK?一文说清楚决策要点!
实时音视频·音视频开发·技术选型·音视频sdk·音视频sdk对比
ZengLiangYi20 天前
用 AudioContext.suspend()/resume() 作为流式音视频的同步门控
前端·音视频开发
leafyyuki24 天前
如何优雅地上传大文件?分片上传实战指南
前端·音视频开发