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

相关推荐
NodeMedia9 小时前
如何用WHIP协议WebRTC推流到NodeMediaServer
webrtc·音视频开发
码流怪侠1 天前
实时模式下 libaom 与 x264 编码对比实验
音视频开发
伶俜monster2 天前
音频炼金术:Threejs 让 3D 场景「听」起来更真实
three.js·音视频开发
非典型程序猿2 天前
【Vulkan 入门系列】创建 Vulkan 实例、Surface 和选择物理设备(二)
gpu·音视频开发
非典型程序猿2 天前
【Vulkan 入门系列】什么是 Vulkan API?(一)
游戏开发·音视频开发
码流怪侠2 天前
libaom 码率控制实验:从理论到实践的深度探索
音视频开发
_XU4 天前
使用FFmpeg和MediaMTX实现本地推流
前端·ffmpeg·音视频开发
字节跳动视频云技术团队4 天前
CVPR 2025 | 火山引擎获得NTIRE 视频质量评价挑战赛全球第一
llm·音视频开发
声知视界5 天前
音视频基础能力之 iOS 视频篇(六):使用Metal进行视频渲染
ios·音视频开发
路漫漫心远6 天前
音视频学习笔记十六——图像处理之OpenCV基础一
音视频开发