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原理 》一书中的文章,如需观看更多内容,请购买本书。

相关推荐
JMchen1232 天前
集成第三方 C/C++ 库到 Android NDK 项目:OpenCV 与 FFmpeg 实战指南
opencv·ffmpeg·音视频开发·cmake·jni·ndk·abi 兼容性
qwfy2 天前
从零实现一个 IM + 直播 App:Kotlin + Compose 多模块架构全流程记录
app·音视频开发·直播
音视频牛哥7 天前
鸿蒙 NEXT 下 RTSP/RTMP 播放器如何实时调节音量、亮度、对比度与饱和度?
harmonyos·音视频开发·直播
冬奇Lab7 天前
音视频同步与渲染:PTS、VSYNC 与 SurfaceFlinger 的协作之道
android·音视频开发
冬奇Lab9 天前
MediaPlayer 播放器架构:NuPlayer 的 Source/Decoder/Renderer 三驾马车
android·音视频开发·源码阅读
冬奇Lab11 天前
硬件加速与 OMX/Codec2:解密编解码器的底层世界
android·音视频开发·视频编码
冬奇Lab12 天前
MediaCodec 编解码基础:Buffer 队列、状态机与零拷贝的艺术
android·音视频开发·源码阅读
冬奇Lab12 天前
Camera HAL3 接口:Android 相机的真正底牌
android·音视频开发·源码阅读
runner365.git14 天前
如何使用RTCPilot--跨平台WebRTC开源服务
webrtc·音视频开发
冬奇Lab14 天前
相机录像流程:MediaRecorder与Camera2的协作之道
android·音视频开发·源码阅读