音视频直播是众多音视频应用中最亮眼,也是大家最需要的应用。对于不同的行业和领域,在使用音视频直播时,人们往往给直播不同的称谓,比如:在教育领域中使用的直播称为在线教育直播,在远程办公领域的直播称为网络音视频会议,在娱乐领域则称为娱乐直播,等等。
虽然所有的直播底层都是使用音视频和网络传输技术,但由于应用的场景不同、目标不同,所以它们的技术方案也有很大的区别。
对于音视频会议来讲,它关注的是实时通话的质量,也就是说当你开启摄像头、打开麦克风后,远端的用户就可以立即看到你的视频、听到你的声音。同样,你也可以立即看到对方的视频、听到对方的声音。而娱乐直播则与音视频会议不同,它追求的目标是可以让尽可能多的用户观看到节目,视频清晰、不卡顿。但它对音视频延迟要求不高,因此这类直播的实时性比较差。
由此,我们可以知道音视频直播分成了两条技术路线:一条是以音视频会议为代表的实时互动直播;另一条是以娱乐直播为代表的流媒体分发。
所谓实时互动直播,就是指以实时互动为目标的直播。其中1996年朱敏创建的WebEx公司应该是这个领域中影响最广泛的一家公司。在20世纪90年代末就可实现多人实时互动聊天,可见它当时的技术有多么前沿。WebEx仅用四年时间就成功在美国上市,当时引起了不小的轰动。
而娱乐直播是从2002年开始真正发展起来的,当时Adobe推出了基于RTMP的流媒体服务器FMS,它推动了媒体分发技术的广泛应用。从FMS之后,各种流媒体服务器相继上市,如Wowza、Red5、Nginx-Rtmp Module、SRS等。之后各大CDN厂商看到了这个巨大的市场,纷纷推出了各自的直播系统,从而形成了现在以阿里、腾讯为首,多家CDN并存的市场格局。
这两种技术各有优缺点:互动直播主要解决人们远程音视频交流的问题,所以其优点是实时性强,时延一般低于500ms;而娱乐直播则主要解决音视频的大规模分发问题,因此其在大规模分发上更具优势,但实时性比较差,通常时延在3s以上。表1.1中给出了目前常见的几种直播技术。
在表1.1中,只有WebRTC技术用于实时互动直播,而其他几种技术都用于娱乐直播。实际上,最初娱乐直播也只有RTMP这一种方案可选,但后来由于苹果宣布不再支持RTMP,并推出了自己的解决方案HLS,最终导致RTMP走向了消亡。
HLS是基于HTTP的,它首先对媒体流(文件)进行切片,然后通过HTTP传输,接收端则需要将接收到的切片进行缓冲,之后才能将媒体流平稳地播放出来。基于上述机制,HLS在实时性方面比RTMP差很多,但使用它的好处也是显而易见的(苹果产品原生支持),而且娱乐直播本来也对实时性要求不高,因此这种方案被大家广泛采纳。随着Adobe公司宣布不再维护RTMP,那些已经广泛使用RTMP的公司不得不变更方案。
然而,将RTMP换成HLS需要付出高昂的成本,于是有人提出了HTTP-FLV方案,即传输的内容仍然使用RTMP格式,但底层传输协议换成HTTP,这种方案既可以保障其实时性比HLS好,又可以节约升级的成本,因此也受到各方的欢迎。不过HTTP-FLV的扩展性比较差,因此它只是一种临时方案。HLS方案虽然不错(有大量的用户使用),但其他公司也有类似的方案,这使得各直播厂商不得不写多套代码,费时费力。
于是,FFMPEG推出了DASH方案,该方案与HLS类似,也是以切片的方式传输数据,最终该方案成为国际标准,从而使直播厂商只要写一套代码就可以实现切片传输了。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。