美文网首页
即时通讯开发之实时音视频中的基本架构和协议栈

即时通讯开发之实时音视频中的基本架构和协议栈

作者: 可爱的小云朵 | 来源:发表于2022-11-09 10:30 被阅读0次

为了便于理解,我们来看一个最基本的三角形WebRTC架构(见下图):

在这个架构中,移动电话用“浏览器M”表示,笔记本电脑用“浏览器L”表示,通过Web服务器将它们连接起来。要建立一个实时媒体通讯,两台设备需要了解彼此的媒体功能,通过交换呼叫信令控制协议实现。

诸如这样的信令协议在WebRTC标准中并非事先规定,而是由开发者自行制定。在浏览器RTC会话的步骤如下:

首先,两个浏览器都从Web服务器下载了WebRTC程序(HTML5/JavaScript);

其次,两个浏览器通过Web服务器交换控制信令信息(使用嵌入式信令服务器),建立媒体功能功能互通。

最后,两个浏览器直接建立RTC媒体的音频、视频和数据通道。

WebRTC使用P2P媒体流,音频、视频和数据的连接直接通过浏览器实现。但是,浏览器却隐藏在NAT(网络地址翻译)和防火墙的后面,这增加了建立P2P媒体会话的难度。这些流程和协议,如ICE或Trickle ICE,STUN和TURN,在建立P2P媒体流都是必不可少的。即时通讯开发https://www.wecloud.cn/

如何使用STUN协议建立一个P2P RTC媒体,简化版的ICE流程如下:

1.两个浏览器通过自己的公网IP地址,使用STUN协议信息和STUN服务器建立联系;

2.两个浏览器通过SDP提供/应答机制,使用呼叫控制信令消息交换它们已发现的公共IP地址(ICE候选);

3.两个浏览器执行连接检查(ICE冲孔),确保P2P可以连接;

4.建立连接后,RTC媒体会话和媒体交换就可以实现了。

5.但是,假如在一个高度限制的NAT或防火墙,这种直接的路径将无法建立,只能到达TURN服务器。结果是媒体通过TURN服务器分程传递(如下图所示)。

并非由WebRTC实现规定,而是由开发者自行决定。在这个例子中,我们将使用SIP-over-WebSocket(SIPoWS)作为信令栈。HTTP协议用于浏览器下载HTML5/JavaScript程序内容;NAT栈解决P2P连接问题;媒体栈用于发送和接收RTC的音频和视频。

LETF标准规定G.711和Opus作为音频/视频解码器。视频解码器尚未授权,但是H.248和VP8已经获得授权。媒体栈也用于交换RTC数据。本例中,实时信息采用消息会话中继协议(MSRP),实时会议采用二层控制协议(BFCP),实时文本服务采用T.140。

相关文章

  • 音视频开发进阶—— DSP视频编解码

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙。原因在于:实时音视频技术 = 音视频处理技术...

  • 音视频开发资源汇总

    即时通讯网 即时通讯音视频开发 系列文章: 即时通讯音视频开发(一):视频编解码之理论概述即时通讯音视频开发(二)...

  • 实时音视频技术资料

    《即时通讯音视频开发(一):视频编解码之理论概述》 《即时通讯音视频开发(二):视频编解码之数字视频介绍》 《即时...

  • WebRTC学习(一)

    WebRTC 什么是WebRTC音视频处理+即时通讯的开源库 WebRTC能干什么音视频实时互动游戏、即时通讯、文...

  • 到底什么是高并发?

    在即时通讯网社区里,多是做IM、消息推送、客服系统、音视频聊天这类实时通信方面的开发者,在涉及到即时通讯技术时聊的...

  • 【二】iOS蓝牙开发(BLE4.0)技术信息-蓝牙协议栈

    技术信息 蓝牙协议栈 主要文章:蓝牙协议栈和蓝牙协议 蓝牙被定义为协议层架构,包括核心协议、电缆替代协议、电话传送...

  • 视频直播网站开发千万不能忘的一个知识点

    对于视频直播网站开发的技术人员来讲,音视频即时通讯技术是需要熟练掌握的。毕竟像直播这样重视互动和实时性的应用场景,...

  • 音视频开源网站

    18个实时音视频开发中会用到开源项目 实时音视频的开发学习有很多可以参考的开源项目。一个实时音视频应用共包括几个环...

  • 协议栈笔记 | 2G/3G/4G

    协议栈笔记 | 2G/3G/4G 精通LTE协议栈软件开发 材料补充中

  • ubuntu上kamailio+rtpproxy+mediapr

    前言 最近项目中需要用SIP协议栈实现实时音视频通信。因为服务器段暂时没人做,所以就用kamailio搭建了一个S...

网友评论

      本文标题:即时通讯开发之实时音视频中的基本架构和协议栈

      本文链接:https://www.haomeiwen.com/subject/jobotdtx.html