ALHLS:Apple低延迟HLS技术


640?wx_fmt=jpeg

在WWDC 2019上,Roger Pantos宣布了Apple针对HLS的最新规范,其变化旨在减少实时视频流的延迟。本文来自Mux流媒体专家Phil Cluff,LiveVideoStack进行了翻译。


文 / Phil Cluff

翻译 / John

原文 

https://mux.com/blog/the-community-gave-us-low-latency-live-streaming-then-apple-took-it-away/


在WWDC 2019上,Apple 依照惯例宣布了一系列的软件更新。并且像过去4年的传统一样,Roger Pantos上台宣布了HTTP直播视频流(HLS)规范的最新变化,今年的变化旨在减少实时视频流的延迟,但这样做的代价是什么呢?


HLS是一种分段传输技术,支持向设备进行实时和点播视频流传输。虽然HLS是为苹果设备设计的,但现在也已经被广泛应用于视频流生态系统,包括浏览器、智能电视、机顶盒和游戏机。HLS是一个易于理解和实现的简单协议,开发者可以提供一个主播放列表(通常称为清单)文本文件,该文件描述了可用内容的不同分辨率和码率组合,开发者可以为每种组合提供单独的播放列表,此列表包含媒体片段、持续时间以及获取它们的URL。


虽然HLS具有简单、易扩展等优势,但当被用于实时流式传输时,很容易出现高延迟问题。关于这点,我们将重点讨论“wall-clock”或者“glass-to-glass”延迟,即从发生IRL事件开始到被终端用户看到之前的时间。


在HLS中,延迟与正在使用的媒体片段的持续时间密切相关。通常情况下,提供可接受的流媒体体验使用的片段持续时间最低界限为2s,这种情况下产生的延迟大约为10秒;而使用更长持续时间的片段设置的传统HLS流,延迟可能会达到30秒以上。


在今年的WWDC上,Pantos宣布Apple更新了HLS,加入了新的低延迟模式。有趣的是,这不是第一次尝试着为低延迟HLS编写规范。基于两年多之前发布的白皮书,视频开发者社区使用的低延迟HLS开发规范也已经有一年多的时间了。表面上使用视频开发者社区的方法更简单,同时可部署更广泛且高可用的技术。那么为什么Apple没有使用视频开发者社区的解决方案呢?让我们来看看Apple所采取的方法与其它社区一直在做的工作有何不同。


Apple的低延迟HLS(ALHLS)


首先,让我们看看Apple的低延迟HLS解决方案是如何工作的。你可以在这里观看演示并阅读说明。

(https://developer.apple.com/videos/play/wwdc2019/502/) 


1. 媒体分片


ALHLS会以持续时间为250-300ms的TS或CMAF块的形式,生成部分媒体的分片片段。其中包含几个完整的视频或音频帧,但这可能不包括完整的GOP(图像组或一组序列独立的视频帧),Apple将这些称为“部件”。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值