即时通信与直播

实时通信与直播

直播和RTC(Real Time Communication)技术一直是以两种完全不同的形态发展的。直播通常应用于广播电视、体育赛事直播、游戏直播、秀场直播等场合,而RTC视频通话最典型的场景就是视频会议和传统的视频通话。随着近些年直播引入更多的互动方式,直播和RTC技术的界限也越来越模糊。

从信息传输的角度,直播是单向的信息传输,而RTC是双向的信息传输,但这个并不构成本质意义上的区别,因为双向的RTC可以拆解成两个单向的信息传输流。带来本质差别的是对延迟的要求,不同的延迟对底层传输协议和分发网络有不一样的挑战。早期的互联网的底层基础设施较差(低带宽、高丢包率、高延迟,通过互联网公网来传输无法满足RTC的指标要求,使得传统RTC应用都采用专网或专线的方式来实现。而大规模的直播技术则利用成熟的CDN基础设施来实现直播的功能(牺牲一定的延迟,比如苹果推出的HLS协议,就是把视频流切成一段一段的分片,利用传统的文件CDN网络来实现分发。

移动设备和4G网络的普及让手机直播成为流行的一种方式,各CDN厂商为了抓住商机,也纷纷进入直播CDN的建设。为了进一步降低延迟,各CDN厂商普遍采用以Adobe公司的RTMPFLV协议为主要传输协议,铺设了新一代的直播CDN分发基础设施。这套基础设施在秀场直播、游戏直播、体育赛事直播领域获得了巨大的成功。

当直播成为一种主流的应用形态后,各种各样纷繁复杂的变化随之而来。最显著的就是引入了主播与粉丝的互动。不管是文字聊天、礼物打赏、直播答题,无一例外的都是更加强调互动的实时性。主播能在第一时间回应粉丝的动作,让观众获得了参与感,极大的提升了用户黏性。更进一步,当观众可以请求与主播进行“现场连麦“时,更是直接以“面对面”的方式进行交流。现场连麦其实已经进入RTC的场合了,只不过在这个场景下,底层技术实现还是以两种不同的架构体系来完成的。

再来看纯RTC最典型的视频会议场景。视频会议的参与方都能与其他人以“完全实时”的方式进行语音、视频、共享桌面等方式进行沟通、交流与互动。对于近几年来兴起的云视频会议,则还可以把会议房间里的音视频流转推出来进行“直播”,供不在会议房间里的人观看。这个时候,整体的参与者就分成了两个部分,一部分是房间内的成员,他们之间是“完全实时”的,另一部分,就是房间外的普通观众。这就构成了一种新型的“场内”和“场外”模式,场内的人能相互感知,场内的人则无法直接感知场外的人,但所有的一举一动又可以被场外的人观看到。

直播可以加入RTC连麦互动,同样视频会议可以转推出来进行直播,不管从哪一个场景,都在往另外一个方向进行延伸。从用户的视角,这两者的界限在逐渐模糊。