如何使用RTCPilot配置一个集群RTC服务

大家好,今天介绍:如何配置和使用RTC集群

RTC Pilot是一个基于C++17开发的WebRTC SFU开源,支持跨平台,支持windows,linux,macos,二次开发效率高;并且是开源中唯一全面支持WebRTC级联的开源服务。

上一期我们介绍RTC pilot如何搭建一个简单视频会议,今天我们介绍如何搭建一个RTC集群,提供分布式的视频会议系统。

支持WebRTC级联其实是硬需求。主要原因有:

1.单个RTC服务进程性能有一定的限制,一旦接入用户们的RTC推流个数和拉流个数大于阈值,系统无法扩展。

2.RTC就近接入的需求,如果需要在全国部署,需要在就近的城市部署,在接入的时候,根据用户的IP地址就近接入。比如在北京,上海,广州建立服务节点,就需要这几个城市的RTC服务进行级联。

3.跨国RTC通信的需要,跨国的RTC因为延时大的特点,需要建立一些节点和专线提供低延时的转发,所以就有了级联的需求。

支持WebRTC级联的RTC Pilot结构图有这几部分:

1.Pilot Center: 接受来自RTC pilot SFU的web socket注册后,同步房间和用户信息,且同步RTC流信息;

2.RTC Pilot SFU:上个视频介绍过如何配置和使用,接受客户端的接入,并转发房间,用户和流信息给Pilot Center;并且转发音频和视频流在不同的SFU之间。

3.Web client前端:用vue3开发,信令通过web socket接入RTC pilot SFU,WebRTC媒体接入SFU。

如图,client 1和client 2接入SFU 1,client 3接入SFU 2,房间和用户加上RTC流的信息通过Pilot center在SFU之间传递,共享流信息后,视频和音频通过RTP直接在RTC Pilot SFU之间传递。

RTC Pilot级联代码:

复制代码
1.Pilot Center(Python):  在RTCPilot代码中pilot_center目录下Github:https://github.com/runner365/RTCPilot/tree/master/pilot_center国内:https://gitee.com/xiaoq_bj/rtcpilot/tree/master/pilot_center
2.RTC Pilot SFU(C++17): Github:https://github.com/runner365/RTCPilot国内:https://gitee.com/xiaoq_bj/rtcpilot
3.Web client(VUE3): Github:https://github.com/runner365/webrtc_js_client国内:https://gitee.com/xiaoq_bj/webrtc_js_client

这次级联配置例子,我们启动两个SFU进程,在同一台设备上,也就是本机。SFU 1的WebSocket信令接入端口为7443,而SFU 2的端口号为7543,两者区分开;

SFU 1的WebRTC的candidate端口号为5000和6000,而SFU 2的WebRTC candidate端口号是5001和6001,两者通过端口号区分开。

级联的媒体RTP传输的端口号范围,SFU 1为10000到19999,SFU 2为20000到29999,在同一台设备UDP范围区分开。

具体如何配置,请观看音视频小话的视频号内容:

如何配置RTC集群

相关推荐
深念Y1 天前
从WebSocket到WebRTC,豆包级实时语音交互背后的技术演进
websocket·网络协议·实时互动·webrtc·语音识别·实时音视频
AI视觉网奇3 天前
webrtc 硬编码
ffmpeg·webrtc
REDcker3 天前
WebRTC 接收端音频流畅低延迟播放:原理与源码对照(NetEQ / Opus)
音视频·webrtc
SUNNY_SHUN3 天前
LiveKit Agents:基于WebRTC的实时语音视频AI Agent框架(9.9k Star)
人工智能·github·webrtc
海水冷却4 天前
2026 主流 RTC SDK 选型参考,7 大维度横向对比
实时音视频·rtc
Pending4 天前
从 400 行到 40 行:一个 WebRTC 播放器的简洁实现之道
开源·webrtc·前端工程化
冬奇Lab5 天前
Camera2 API架构基础:Android视频系统的大门
android·音视频开发·源码阅读
TEL189246224775 天前
IT6636/IT66362(3进1出 / 2进1出 HDMI 2.1 48Gbps Retiming Switch,内置 MCU)
音视频·实时音视频·视频编解码
CrystalShaw5 天前
WebRTC原生PLC VS SILK之PLC
webrtc