如何使用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集群

相关推荐
字节跳动视频云技术团队11 小时前
把 AI 视频的钱花在刀刃上,不是每一刀上
人工智能·音视频开发
SendTomo2 天前
send.wang私传网:P2P直连传大文件首选工具
javascript·网络·网络协议·webrtc·p2p
大辉狼_音频架构3 天前
第 02 篇:时域的语言 —— 卷积、LTI 系统与冲激响应
算法·音视频开发
大辉狼_音频架构3 天前
第 01 篇:音频采样与量化 —— 从 I2S 帧到奈奎斯特定理
嵌入式·音视频开发
桑榆4163 天前
WebRTC 本地视频文件推流 Demo 搭建指南 (Ubuntu 24.04)
linux·ubuntu·webrtc
调试到凌晨4 天前
免费配音工具前置验证价值分析:音色选型、参数调优、克隆测试的零成本方案
人工智能·经验分享·实时音视频
深圳元器猫5 天前
从分立到集成:RX8130CE RTC时钟模块架构解析与选型实战
架构·实时音视频
qingmiaozhuan6 天前
区域录屏窗口位移录制框固定?GDI+win32gui动态坐标追踪4种代码方案
音视频开发·录屏工具·录屏技术·电脑录屏
DogDaoDao6 天前
FFmpeg 9.0 “Lei“ 正式发布:十年之后,以你之名
ffmpeg·音视频·实时音视频·视频编解码·ffprobe·ffmpeg 9.0
音视频牛哥7 天前
WebRTC 能解决低延迟直播吗?为什么 RTSP、RTMP、GB28181 仍然不可替代?
音视频·webrtc·低延迟rtsp播放器·音视频sdk·smartmediakit·低延迟rtmp播放器·低延迟音视频