RTCPilot的信令流程

大家好,今天介绍:RTCPilot的信令流程

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

这个系列的内容。

•如何部署和使用一个简单的视频会议

•如何部署一个分布式多服务级联的视频会议

•介绍RTCPilot的信令流程

•介绍RTCPilot级联的信令流程

•RTCPilot实现会议实时语音转文字(RTCPilotMCU)

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

今天我们介绍RTC pilot的信令流程,方便开发者做二次开发。

视频地址:

如何配置RTC集群

信令基于websocket,信令类型有两类:

•Request消息

有发送和返回消息Response,消息是双向的

•Notify消息

仅发送,没有回复消息,消息是单向的

信令流程如图,有三个角色:两个客户端client A和client B;一个RTC pilot SFU,也就是WebRTC服务端。

信令流程如下:

1.Join Request: client A在web socket连接成功后,发送join request消息。因为房间内没有其他用户,返回用户信息为空

2.Push Request: client A在join后,发送push request消息,将自己的WebRTC peer connection的SDP发送给SFU;SFU收到后,通过response消息返回自己支持的SDP信息。Client A收到后,就可以开始建立WebRTC通道和开始推流

3.client B开始web socket连接SFU,并发送join request消息,因为房间里面已经有了client A,client B将收到带有client A用户信息和流信息的response消息。

4.SFU收到client B的join消息后,会向整个房间广播client B的用户信息,这里会向client A发送new User notify消息

5.Client B因为通过join的response得到Client A的推流信息,所以发送pull request消息,进行拉流

6.Client B拉流成功后,同样可以进行推流,发送push request开始推流;

7.SFU收到Client B的push request后,将其流信息在房间内广播,这里向client A发送new pusher notify消息

8.Client A收到new pusher notify消息后,得到client B的流信息,就可以发送pull request进行拉流操作。

信令具体的json内容:

具体的信令json内容,在开源markdown文档中。websocket信令设计文档地址:

复制代码
https://github.com/runner365/RTCPilot/blob/master/ws_design.md

国内镜像

复制代码
https://gitee.com/xiaoq_bj/rtcpilot/blob/master/ws_design.md

关注音视频小话,关注抖音号,视频号,带来更多音视频技术

相关推荐
福大大架构师每日一题4 小时前
mediamtx v1.21.2发布:UDP、JWT、RTSP、RTMP、HLS、WebRTC全面修复,稳定性与安全性再提升
网络协议·udp·webrtc
草根大哥2 天前
08-横向扩容与突发高并发:加机器到底买到了什么
运维·webrtc·srt·横向扩容·whip·自建cdn
音视频牛哥2 天前
人形机器人的未来发展趋势是什么?从VLA、实时视觉到规模化运营
机器学习·机器人·音视频开发
草根大哥2 天前
07-P2P 直连与节点池调度
webrtc·p2p·srt·whip·whep·自建cdn
草根大哥2 天前
06-可观测性:端到端延迟、稳定性与画质
webrtc·srt·whip·自建cdn·ppcdn
大文说跨境2 天前
用 Python 自动化检测浏览器环境指纹:WebRTC 泄露、Canvas 哈希与时区一致性校验
python·自动化·webrtc
霍营_托尼3 天前
纯前端播 40GB 本地视频?我把浏览器改造成了「磁盘流式」播放器
前端·javascript·音视频开发
EasyDSS3 天前
基于WebRTC的视频会议系统:私有化视频会议平台EasyDSS视频会议到底能干什么
音视频·webrtc·easydss
福大大架构师每日一题6 天前
RustDesk 1.5.0发布:WebRTC、HDR 色调映射、剪贴板同步与百余项修复全面汇总
webrtc
福大大架构师每日一题11 天前
webrtc-rs/webrtc v0.21.0发布:API 可扩展、异步集成、确定性时间、ICE 重启与 SCTP 全面修复
webrtc