前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2018,WebRTC在流媒体上的应用

2018,WebRTC在流媒体上的应用

作者头像
用户1324186
发布2018-06-07 11:34:22
1.5K0
发布2018-06-07 11:34:22
举报
文章被收录于专栏:媒矿工厂媒矿工厂

WebRTC已经陪伴我们走了六年了,在这段时间里,它已经变得越来越流行了,现在已经被广泛地使用。但是我们仍然需要思考一些问题,WebRTC是如何融入世界上的媒体流以及融入在哪方面,以及在2018年我们需要期待它有哪些新的表现。

由IETF和W3C共同制定标准的WebRTC 已经被HTML5接纳成自身的一部分。本质上,WebRTC能够直接通过浏览器实时传送音视频以及任意的数据文件,你只需写一些JSP代码,使用几个服务器,就能创建属于你的一个视频聊天服务。

那么WebRTC在过去几年是怎么在媒体流领域引起广泛地关注呢?有这么几个方面:

(1)Flash已经渐渐消失,Adobe也准备在2020年停止对Flash的支持。

(2)MPEG-DASH和HLS的实现经常伴随的时间上的延迟,大部分超过了10秒。

(3)直播交互变得越来越重要。

(4)视频广播提供商需要直接在浏览器上推送他们的媒体,因为这不需安装任何东西。

(5)不断成长的视频需求拉动了流服务以及迅速拉高了视频广播提供商的带宽消耗。

(6)WebRTC被强制要求添加H.264编码,使得它在各种浏览器中都更容易提供流服务。

这段时间已经能发现有一些平台使用WebRTC进行流媒体服务,而且WebRTC与其他的流媒体服务很不一样。为了理解它是怎么运作的,我们需要明白WebRTC在流媒体服务中是怎么运作的,如下图所示。

图1. WebRTC在流媒体中运作的原理图

浏览器会使用一个信令通道和应用进行通信。应用会决定怎么通过WebRTC连接浏览器以及决定连接到哪里去。在不同的情况下,应用和使用它的方式都是不一样的。

WebRTC的实时音视频能够在CDN或者媒体服务器之前用于传输接收媒体的工作,这能用作低延迟传输的情况下。

WebRTC的数据通道能够直接在浏览器之间创建ad-hoc P2P CDN连接,这个能够减少缓存和广播的压力。

了解了这么多关于WebRTC的特性,我们来看看它是怎么融入以下五种不同的流媒体场景。

1. 无需安装的广播

WebRTC在流媒体上运作时有一个优点,就是十分方便简洁。视频直播提供者无需安装任何插件便可以分享他们的媒体流。

目前WebRTC是唯一一个允许浏览器使用用户的摄像头和麦克风的可用途径。Flash已经被时代所抛弃,各种插件也不再流行。用户只能使用一些专门的软件来进行实时视频传输,或者也可以使用WebRTC。

在过去,WebRTC只支持VP8,所以使用H264传输时需要转码成VP8,但现在WebRTC都支持H264和VP8了。

图2. 通过WebRTC连接上CDN服务器传输HLS流

2. 采访

随着视频的互动性越来越强,创造视频的方式也越来越多。在一些特定的活动,例如网络研讨会和一些新闻相关的视频,都需要直播采访的能力,把采访当作一个特定单独的单元部分来播放给用户。但是,直播者和主持人可能不在同一个房间,所以他们需要通过现场的视频通讯,再把双方的画面做一个混流,最后播放给观众。

图3. 一个多人视频采访的结构

图3中的媒体服务器现在不仅仅是一个媒体网关,它接收来自所有活跃用户(直播者和主持人)的实时媒体流,管理他们之间的视频实时通讯,并混合所有输出用以创建一个CDN可以接收的媒体流,一般是RTMP格式的媒体流。

YouNow是最早提供这种服务的服务商之一。最近,Facebook live和Instagram也支持把用户添加进直播活动中。

在企业中,来自不同主机加入的网络研讨会已经非常普遍了。近年来,网络研讨会已经从音频转成视频了。所以直播采访的需求也在这种背景下不断产生,同时,低延迟直播的需求也在不断增加。

3. 低延迟直播

在某种意义上来说,前面两个例子可以看作是这一个功能的铺垫。在后Flash时代,低延迟直播已经实现了。由于WebRTC是为实时通信而设计与实现的,所以它在提供低延迟的实况流方面上是十分强大的。

在过去的一两年里,我们看到许多公司开始为低延迟直播使用WebRTC。而解决这个技术问题的供应商正在从两个方向入手:

(1)使用视频会议的方法,通过使用一种媒体路由器(SFU)来使WebRTC支持更大的组。

(2)从现在有的RTMP流技术开始,优化加强这些技术以支持WebRTC。

两个方向都是行之有效的,并且具有不同的技术优势和挑战。但是两者都需要解决规模的问题:怎么把单个流传给大量的观众?即使我们假定单个媒体服务器可以向数以千计的观众进行广播,但是如果有数以万计,十万计的观众呢,这时候会发生什么情况?

图4. 单个直播流在到达观众之前经过了多个媒体服务器

这个解决方案是级联的,这与今天CDN的工作方式十分类似,图4显示了这样的架构。这是Beam在被微软收购前做的级联SFU基础设施,而2018年将有更多的技术公司提供这样的解决方案和产品,以及会出现一两个提供这种商业服务的CDN。

4. P2P大规模流媒体

有时候有几秒钟的延迟并不是坏事,但是如果你想在某个特定时刻为大量的用户提供服务呢,例如在权力的游戏大结局的时候呢?

这里面临的难题是数百万观众聚在一起观看一个单一资源,这个难题有这么一些挑战:

(1)你需要将你的基础架构建设为能够处理单一高峰流量,以及能够随时提供管理。

(2)你需要为这些带宽付费。

一种比较好的方法是使用点对点(P2P)流。

图5. 使用WebRTC进行点对点流传输

图5展示了这么一种架构,视频提供者将媒体流推给服务器,例如CDN,然后服务器将内容发送给观众,前面的过程都和之前的方法一样,但是有一点不同。那就是观众能够在他们之间互相合作和共享内容,减少服务器的负担。

这种方法在高峰人数观看视频时候有极佳的效果,这时候许多人在大致相同的时间观看相同的内容,这种方法使用了WebRTC的数据通道来实现P2P传输数据。

直到2017年,这都是Peer5和Streamroot这些创业公司的领域,但是现状已经发生改变。Akamai的一个总监在IBC 2017的采访中表示,他们公司已经在研究这种解决方案。

预计之后会有更多的网络直播服务提供商开始试用这种解决方案,来提高他们的媒体质量同时降低带宽成本。

5. 企业P2P流媒体

P2P大规模流媒体也能用于企业之间。这项技术几乎是相同的,但是在问题空间和技术封装上有所不同。

这里的问题空间是围绕着企业内部发生的社会活动展开的,例如,CEO每季更换一次的直播。所以在大型跨国企业中,当许多员工收看视频直播时,会在公司网络上造成负担。

图6. 企业环境中的P2P流媒体

在图6中,我们看到这是一个拥有两个办公室的公司,每个办公室里的多名员工在观看相同的视频流。如果使用传统的云视频流技术,每个办公室维护直播服务所需要的比特率将是员工数乘以码流的比特率。如果使用高清视频进行直播,企业内部的服务器可能并不足以支撑。

其中一个解决方案是在每个办公室内部创建一个临时的P2P网络,让部分流媒体通过员工之间共享,从而减少了办公室互联网连接的压力。

以前这种服务都需要下载专用的软件,而现在只需使用WebRTC便可以在浏览器中实现。在这个领域中最著名的公司是Hive Streaming。

随着视频在企业之间变得越来越重要,我们可以期待这种类型的技术能够成为企业服务的一部分。

用于流传输的WebRTC的不断增长

在2018年,我们将看到用于流传输的WebRTC不断的增长。因为现在已经有各种公司在不断探索挖掘着WebRTC,他们正在寻找新的方法来解决他们技术上的挑战,并为客户提供更好的体验。

随着Flash渐渐退出舞台,WebRTC将受到更广泛的关注。

原文:

http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=124068&PageNum=1

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档