0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解融云的RTC建连过程

kCKU_new_audiop 来源:YXQ 2019-08-14 17:16 次阅读

如上图所示包含有五个角色,分别是Client A、Client A对应的Media Server、IM Server、Client B对应的Media Server、Client B。Client A是通信的发起方,IM Server就是我们的Signal Server。在这个架构里面,我们引入Pub/Sub模型来实现解耦,下面将分两部分讲解。

Pub过程:Client A会利用Smart DNS直接找到自己对应的Media Server,然后调用该Media Server上开放的一个HTTP接口,调用该接口是为了传递传Token、Room ID/Channel ID,以及交换SDP,这个在后面会详细解释。调用完之后,Media Server会返回该Media Server的IP地址和Client A在Media Server上注册后所分配的Resource ID,Resource ID是Client A在Media Server上唯一的身份标识。Client A接收到Media Server返回的信息后就可以直接与Media Server建立RTC连接,接着就可以开始利用信令通道了。之后IM Server要将Client A呼叫Client B的指令Push给Client B,并且会将Media Server返回给Client A的信息直接Send给Client B。此时,Pub过程就完成了。

Sub过程:与前面相同,Client B也要通过Smart DNS找到一个相对来说质量最好的Media Server,然后调用其另外一个接口将刚才传过来的信息告诉这个Media Server。当Client B对应的Media Server拿到了Client A对应的Media Server的信息后,由Resource ID就可以知道要将Client A和Client B之间建立连接,在内部建立关联后返回一个ACK,说明已经调用成功。一旦Client A和Client B建立RTC连接成功后,Client A对应的Media Server和Client B对应的Media Server就建立起了级联。

当RTC的通道连接建立成功后,去中心化完成,此时我们就完成了Media Server和Signal Server之间的解耦。

总结一下,融云的RTC建连过程采用了极简的接口设计。如上述的时序图,有几次HTTP调用实际上全都是通过一个HTTP接口来实现的,而这一个HTTP接口通过传递不同的参数就非常简单的实现了发布/取消发布流,SFU和MCU的订阅/取消订阅。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    505

    浏览量

    31227
  • RTC
    RTC
    +关注

    关注

    2

    文章

    538

    浏览量

    66529

原文标题:新音响精选系列图书即将出版,现有少量广告位预留!

文章出处:【微信号:new_audiophile,微信公众号:新音响】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RTC与WebRTC的主要区别

    在数字通信领域,实时通信(RTC)和WebRTC是两个经常被提及的术语。它们都旨在提供即时的、高质量的通信体验,但它们在实现方式、应用场景和技术支持上有所不同。 1. 定义与起源 1.1 实时通信
    的头像 发表于 12-11 15:41 295次阅读

    RTC技术在实时通信中的应用 RTC与VoIP的区别

    在数字化时代,实时通信(RTC)技术已经成为我们日常生活和工作中不可或缺的一部分。从视频会议到在线教育,从远程医疗到社交网络,RTC技术都在发挥着重要作用。 一、RTC技术在实时通信
    的头像 发表于 12-11 15:38 462次阅读

    元与焱科技AI分布式存储软硬件完成兼容性互认证

    元与焱科技AI分布式存储软硬件完成兼容性互认证
    的头像 发表于 11-20 16:36 173次阅读
    星<b class='flag-5'>融</b>元与焱<b class='flag-5'>融</b>科技AI分布式存储软硬件完成兼容性互认证

    RTC时钟使用指南:简单步骤,实用成果

    今天展示的是RTC时钟使用指南,轻松学习,完美成果。
    的头像 发表于 11-08 11:40 309次阅读
    <b class='flag-5'>RTC</b>时钟使用指南:简单步骤,实用成果

    提升效率:RTC时钟实用设置

    今天来给大家讲解的是RTC时钟实用性,提升绝对的效率。
    的头像 发表于 11-04 16:35 790次阅读
    提升效率:<b class='flag-5'>RTC</b>时钟实用设置

    如何理解计算?

    :**用户可以使用计算来开发和部署各种应用程序,通过平台可以提供灵活的计算资源来支持软件开发和部署的过程。 **数据存储和备份:**用户可以使用计算来存储和备份大量的数据,通过
    发表于 08-16 17:02

    中科驭数“驭”解决方案入选2024中国生态典型应用案例

    2024年7月4日,在全球数字经济大会以“中国生态”为主题的技术创新引领论坛上,中科驭数凭借其卓越的创新能力和深厚的技术积累,其“驭”高性能
    的头像 发表于 08-02 11:30 728次阅读
    中科驭数“驭<b class='flag-5'>云</b>”解决方案入选2024中国<b class='flag-5'>云</b>生态典型应用案例

    什么是RTC模块?

    什么是“RTC”?“RTC”是实时时钟的缩写,它是一种测量时间的电子设备。什么是“RTC模块”?“RTC模块”是一个集成了RTCIC、振荡器电路和主时钟的单封装模块。无需自行设计振荡器
    的头像 发表于 07-24 14:14 414次阅读
    什么是<b class='flag-5'>RTC</b>模块?

    科股份碳匠产品平台获TÜV南德产品碳足迹系统评审声明

    可持续发展之路"主旨论坛,常州市建筑科学研究院集团股份有限公司(以下简称"科股份")中心研究院副院长顾磊博士莅临并做主题发言。论坛期间,TÜV南德为科股份自主研发的碳匠产品平台颁发产品碳足迹系统评审声明。
    的头像 发表于 06-11 09:18 477次阅读
    <b class='flag-5'>建</b>科股份碳匠产品<b class='flag-5'>云</b>平台获TÜV南德产品碳足迹系统评审声明

    RTC和CPU有什么关系

    在现代计算机系统中,实时时钟(RTC, Real-Time Clock)和中央处理单元(CPU, Central Processing Unit)是两个至关重要的组成部分。它们各自承载着不同的功能
    的头像 发表于 05-30 17:07 690次阅读

    eclipse自己的工程,无法编译通过怎么解决?

    eclipse自己的工程,无法编译通过
    发表于 04-28 07:12

    爱普生实时时钟模块RTC

    爱普生是一家IC和晶体自主研发的公司,有自己的IC和晶振产线。所以我们能将RTC IC+晶体单元+外结电容封装在一起,组成独立RTC模块。外围不需要在接晶体和匹配电容。爱普生RTC能够简化客户
    发表于 04-17 11:10 0次下载

    RTC碰到LXTAL低频晶振停振怎么办?

    GD32F303的RTC模块框图如下图所示,RTC时钟源可选择HXTAL/128、LXTAL或IRC40K,一般为了实现更精准的RTC时间,MCU系统均会外挂32.768KHz LXTAL低频晶振,
    的头像 发表于 03-29 09:58 595次阅读
    <b class='flag-5'>RTC</b>碰到LXTAL低频晶振停振怎么办?

    RTC电池寿命的评估考虑因素

    本案例是一个带RTC功能的工业产品,RTC部分的供电电路如下下图,产品发往市场半年以后,就提示更换RTC电池,远远低于设计寿命5年。
    发表于 03-15 10:29 650次阅读
    <b class='flag-5'>RTC</b>电池寿命的评估考虑因素

    如何在KW45-EVK上使用RTC

    电子发烧友网站提供《如何在KW45-EVK上使用RTC.pdf》资料免费下载
    发表于 01-03 09:41 0次下载
    如何在KW45-EVK上使用<b class='flag-5'>RTC</b>