实时通信之RTC

1、RTC简介

       RTC(Real-time Communications),实时通信。泛指各种数据的实时传输,包括音频,视频,文本,图片等媒体和非媒体数据的实时传输。

 

2、RTC 和 WebRTC 的区别

       实时通信(RTC)最容易和 WebRTC 混淆,实际上,二者并不相等。一次RTC通信的简要流程如下图所示:

       RTC 从功能流程上来说,包含采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节,上图展现了一次 RTC 通信的简要流程。每一个细分环节,还有更细分的技术模块。比如,前后处理环节 有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有 VP8、VP9、H.264、H.265 等等。

实时通信之RTC_第1张图片

       上图展现了 RTC 与 WebRTC 的关系,WebRTC 是 RTC 的一部分。WebRTC,是 Google 的一个专门针对网页实时通信的标准及开源项目,只提供了基础的前端功能实现,包括编码解码和抖动缓冲等,开发者若要基于 WebRTC 开发商用项目,那么需要自行做服务端实现和部署,信令前后端选型实现部署,以及手机适配等一系列具体工作;在此之外还要在可用性和高质量方面,进行大量的改进和打磨,对自身开发能力的门槛要求非常高。一个专业的 RTC 技术服务系统,需要除了涵盖上述的通信环节外,实际上还需要有解决互联网不稳定性的专用通信网络,以及针对互联网信道的高容忍度的音视频信号处理算法。当然常规云服务的高可用、服务质量的保障和监控维护工具等都只能算是一个专业服务商的基本模块。

所以,WebRTC 仅是 RTC 技术栈中的几个小细分的技术组合,并不是一个全栈解决方案。

 

3、RTC和直播的区别

实时通信之RTC_第2张图片

       上图展现的就是 RTC 与直播的关系,RTC 的一个具体应用是直播场景中的直播连麦,也就是低延时直播。普通直播,一般采用 TCP 协议,使用 CDN 进行内容分发,会有几秒甚至十几秒的延时,主播和观众的互动只能通过文字短消息或送礼来进行。而直播连麦,使用 UDP 协议,内容实时传输,主播和观众可以进行音视频连麦互动,实时沟通,延时一般低至几百毫秒。

 

你可能感兴趣的:(音视频流媒体开发,rtc,webrtc)