前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LL-HLS的演进

LL-HLS的演进

作者头像
用户1324186
发布2020-07-21 10:45:01
2K0
发布2020-07-21 10:45:01
举报
文章被收录于专栏:媒矿工厂媒矿工厂

本文来自THEO网站的博客文章,原标题为LL-HLS Series: The Evloution of LL-HLS。主要内容为讨论低延迟HLS系列。

HTTP实时流媒体,也就是HLS,是苹果为了解决扩展问题在2009年发布的。HLS协议目前成为非常流行的协议并且被广泛应用。和其他基于HTTP的流媒体协议一样,它的最大缺点是延迟。本文讨论了低延迟HLS的出现,变量如何变化,更新如何随时间改变,和它们如何影响流媒体传输。

01

更低延迟的需求

尽管HLS被广泛应用,但是延迟成为日渐严重的问题,会带来糟糕的体验。工业界开始提出一些对抗延迟的策略,并积极寻找更低延迟视频交付的办法。Twitter’s Periscope平台首先提出了一系列改进并在2016年提出LHLS。Periscope提出的是专利的版本,它旨在提供2~5秒的延迟并确实解决了HLS的一些问题。该协议可以和HLS标准兼容,因此跨平台的播放器可以恢复到标准HLS。LHLS提出了两个方法来降低延迟:

1、 利用HTTP/1.1分块传输进行片段

2、 在片段可用之前声明片段

尽管减少片段的大小是另一个可行的方法,但是它有诸多限制。在一个最佳的场景中,每个片段起始于I帧,这让播放器可以迅速开始播放一个片段,而不用等待和下载一个更早的片段。因为I帧比P帧大很多,因此减少片段大小并增加I帧数目,将提升总体利用的带宽。

Periscope使用的方法解决了大缓冲区的问题,因为该缓冲区的一部分预先声明了,但是不可用。因此,这实际上减少了实时点的强制退避,也减少了建立缓冲的能力。因此播放器需要迅速知道一个分块的位置。通过预期分块的创建和已经列出的未来分块的位置,一个播放器可以预测哪个文件需要被导入。尽早声明这些片段可以让不使用LHLS的播放器像正常的HLS流一样播放,并且改善延迟。

这个更新消除了通过分割视频流引入的延迟和播放列表引入的延迟。此外该方法可支持CDN,因为它们支持HTTP/1.1分块传输。

02

工业界的回答

根据Periscope在LHLS方面取得的进展,大批公司开始尝试分块传输和HLS的组合。在此基础上起草了基于社区的L-HLS规范。虽然它和Periscope的LHLS基于相同的概念,但是它为未来的片段引入了新标签,而不是替换播放列表中的最后一个片段。这样可以消除和L-HLS规范不兼容的播放器的影响,并且使这些播放器可以构建和普通HLS一样的大缓冲区。

Apple在2019年发布了低延迟HLS,也就是LL-HLS。该扩展仍提供与常规HLS的向后兼容性,但是提供了Apple认可的方法来降低HLS的延迟。不了解该协议扩展的播放器将以较高延迟播放相同的流。这使得发布者可以为优化和非优化播放器提供单一的HLS解决方案。从本质上说,该更新很简单:允许片段分为更小的部分,也可以构建为更大的片段下载。

LL-HLS的首个版本的最大挑战是HTTP/2的推送要求。随着协议扩展公告的发布,Apple表示CDN将广泛采用此要求,但是实际并非如此。新的协议扩展需要许多HTTP/2功能,包括多流控制,H2推送和H2 ping。然而许多主要的CDN并未做好准备,这使得大型可扩展性仍然是工业界面对的问题。

工业界感觉Apple错过了使用分块传输编码(CTE)的简单解决方案。使用基于CTE的解决方案将简化在HLS和MPEG-DASH流上交付低延迟内容的过程。该扩展也意味着实施的延迟。对于SSAI,该规范要求播放列表操控器和CDN之间密切合作。将播放列表生成和数据交付结合在一起,将需要CDN提供程序采用新的算法和可伸缩性策略。

03

最新的LL-HLS更新

2020年初,Apple宣布对LL-HLS规范草案进行更新。在业界关心和摩擦之后,此更新删除了HTTP/2 Push要求,而是引入了一个新标签来宣布即将出现的片段。此更新使LL-HLS协议与低延迟L-HLS的社区版本非常相似。

新提出的标签称为#EXT-X-PRELOAD-HINT。借助此标签,发布低延迟HLS流的服务器可以宣布继续播放所需的下一个媒体数据的最可能位置。这允许播放器客户端执行请求,从而允许数据段的下一部分可用时立即流入。然后可以重复此过程,从而在加载新媒体数据时可以消除额外的往返时间(也是使用HTTP/2 push的主要原因)。

更新的规范要求对已经开始实施LL-HLS工具的人员(包括THEO)进行重大更改。但是,新更改带来的优势对于行业而言意义重大,并且将消除HTTP /2推送采用的障碍,从而简化技术的部署。4月底,Apple发布了HLS的更新的RFC,包括LL-HLS,这使得将来不太可能进行较大的更改。这使行业可以全力以赴地使用LL-HLS,而不必冒对体系结构进行重大更改的风险。

LL-HLS规范的其他重要更新包括:

1、新标签的使用已和正常HLS流一起指定使用。这意味着其中某些功能也可以在没有低延迟模式的情况下使用(即支持阻止播放列表重载和增量播放列表的功能)。

2、新增加的CAN-SKIP-DATERANGES标签允许跳过日期范围的标签。

3、定义了一个LL-HLS配置文件。它包含了LL-HLS初步规范中的大多数数据:不再需要阻止播放列表重新加载;可以为同一类型列出多个预加载提示;不再定义部分必须在播放列表中保留多长时间。

04

当下采用的LL-HLS

最新的LL-HLS更新通过简化与当前市场上主要的替代性低延迟解决方案(例如LL-DASH和社区L-HLS)的兼容性提供了另一个优势。实际上,新的LL-HLS规范就像是L-HLS的超集,该规范还利用标签来宣布下一个分段的位置。尽管如此,该行业正在放弃社区L-HLS,并且已经开始向前发展并采用Apple LL-HLS规范的最新更新。随着Apple最近巩固了从HLS规范的初步扩展到正式更新的变化,业界对此进行投入是安全的。

05

接下来是什么?

本文讨论了HLS,LHLS和LL-HLS在过去十年中的发展和变化。接下来会更深入地了解最新规范的工作原理,已解决的问题,规范带来的挑战和机遇。THEO当前有一个beta播放器可用,它支持最新的LL-HLS更新。

附上原文链接:

https://www.theoplayer.com/blog/evolution-of-ll-hls

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档