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

相关推荐
老孙讲技术19 小时前
把工地遮挡和掉线接进项目部:setMessageCallback 订 alarm 与 deviceStatus
后端·物联网·音视频开发
老孙讲技术19 小时前
关店后有人进门,监控值班群却没响:用 setMessageCallback 订 human,再用 aiHuman 打开人形
后端·物联网·音视频开发
老孙讲技术19 小时前
把园区几百路摄像头收进值班台账:bindDevice 入账与 listDeviceDetailsByPage 翻页
后端·物联网·音视频开发
老孙讲技术19 小时前
把没网没电的户外点位接进出画值班台:unBindDeviceInfo 核 SIMCard 与 bindDeviceLive
后端·物联网·音视频开发
字节跳动视频云技术团队21 小时前
从出片到出海:AI MediaKit 重塑短剧全链路生产力
人工智能·音视频开发
深圳市宝华视联2 天前
医院内网部署手术示教系统注意事项
嵌入式硬件·实时互动·音视频·实时音视频·视频编解码·嵌入式实时数据库
SendTomo2 天前
send.wang:基于浏览器WebRTC实现无客户端文件互传
网络·python·网络协议·webrtc·p2p
Funny_AI_LAB4 天前
Sparrow-2:超越轮流发言,迈向全场景对话理解
人工智能·语言模型·语音识别·实时音视频
Multipath7124 天前
5G CPE vs 5G聚合路由器 该怎么选
网络·5g·安全·智能路由器·实时音视频·信息与通信
小小杨树5 天前
【C++】学习:双缓冲视频流水线深解析
c++·性能优化·音视频开发