LHLS与LL-HLS实现三秒低延迟直播

作者:搬砖的石头2024.11.29 11:30浏览量:74

简介:本文探讨了LHLS与LL-HLS两种低延迟直播方案,通过对比和分析,展示了它们如何实现三秒左右的低延迟直播,并强调了LL-HLS作为苹果官方方案的优势及其在实际应用中的表现。

在流媒体直播领域,低延迟一直是一个核心的追求。传统的HLS协议由于其设计上的特点,往往会产生较高的延迟,这对于需要实时互动的直播场景来说,无疑是一个巨大的挑战。为了解决这个问题,LHLS(Low Latency HLS)和LL-HLS(Low Latency HTTP Live Streaming)两种低延迟直播方案应运而生。

一、HLS协议的基础

HLS是由苹果公司在2009年提出的一种基于HTTP的流媒体传输协议。它广泛应用于点播和直播场景,但传统的HLS协议在直播时会产生较高的延迟。这主要是因为HLS协议规定,客户端在播放直播流时,需要从m3u8文件中选择一定的segment进行播放,而为了保证播放的连续性,客户端通常会选择倒数第三个或倒数第四个segment开始播放。这样一来,至少需要等待三个segment时长之和的时延,再加上客户端缓存和传输时延,总体时延可能会达到20秒甚至更长。

二、LHLS方案

LHLS(也称为CL-HLS)是一种社区驱动的HLS低延迟方案。它最早由Periscope团队在2017年提出,并通过hls.js与一些流媒体厂商的合作得到规范。LHLS的核心思想是将一个视频片段细分成更小的Chunk,无需等待一整个视频片段生成,每生成一个Chunk就会被下载到播放器缓存起来。这样,播放器就可以在更短的时间内开始播放,从而大大降低了延迟。

具体来说,LHLS使用HTTP/1.1的Chunked transfer encoding功能,播放器会保持与服务器的连接,每当服务器生成一个Chunk就会直接传递给播放器,直到一个视频片段全部传输完毕才会断开连接。这种方式使得LHLS能够实现较低的延迟,通常在5秒左右。

然而,LHLS也存在一些问题。由于与服务器的连接是长连接,客户端难以估算当前用户的网络带宽,这可能会导致自适应码率切换困难。为了解决这个问题,LHLS规范中引入了EXT-X-PREFETCH和EXT-X-PREFETCH-DISCONTINUITY等自定义标签来预加载未来的分段,以改善播放体验。

三、LL-HLS方案

LL-HLS是苹果公司在2019年WWDC上推出的官方低延迟HLS解决方案。与LHLS相比,LL-HLS在复杂度上大大提高,但实现了更低的延迟和更好的兼容性。

LL-HLS的核心思想是将一个视频片段再细分为更小的分段(Part),每个分段包含多个小分段(例如200毫秒)。这样,客户端只需要等待一个小分段生成就可以开始播放,从而大大降低了延迟。此外,LL-HLS还引入了请求长连接、增量更新、预加载和快速码率切换等特性来进一步优化延迟和播放体验。

具体来说,LL-HLS在生成分段时,会将整视频的头部和内容分开,并使用#EXT-X-MAP规则进行标注。然后,将内容源划分为更细的小分段,并使用#EXT-X-PART标签进行标注。这样,客户端就可以根据m3u8文件中的信息,选择需要的小分段进行播放。

由于LL-HLS是苹果公司的官方方案,因此它得到了广泛的支持和应用。许多流媒体平台和服务商都采用了LL-HLS来实现低延迟直播。

四、LHLS与LL-HLS的对比

  1. 延迟:LL-HLS通常能够实现更低的延迟,通常在3秒以内,而LHLS的延迟通常在5秒左右。
  2. 兼容性:LL-HLS作为苹果公司的官方方案,得到了更广泛的支持和应用,兼容性更好。而LHLS作为社区方案,可能在一些平台上存在兼容性问题。
  3. 实现复杂度:LL-HLS的实现复杂度更高,需要更多的技术支持和优化。而LHLS相对简单一些,更容易实现。

五、实际应用中的表现

在实际应用中,LL-HLS表现出了卓越的性能和稳定性。许多大型直播活动都采用了LL-HLS来实现低延迟直播,如体育赛事、音乐会等。这些活动对实时性和互动性要求非常高,而LL-HLS正好满足了这些需求。

同时,随着技术的不断发展,LL-HLS也在不断优化和改进。例如,通过引入HTTP/2的支持,LL-HLS可以进一步降低用户请求数据时与源服务器之间的通信延迟,从而进一步降低端到端延迟。

六、产品关联:千帆大模型开发与服务平台

在实现低延迟直播的过程中,千帆大模型开发与服务平台可以发挥重要作用。该平台提供了强大的数据处理和分析能力,可以帮助开发者更好地理解和优化直播流中的数据。同时,该平台还支持多种编码格式和传输协议,可以轻松实现与LHLS或LL-HLS等低延迟直播方案的集成。

例如,开发者可以利用千帆大模型开发与服务平台对直播流中的数据进行实时分析和处理,以提取有用的信息和特征。然后,根据这些信息和特征来调整编码参数、传输策略等,以优化直播的延迟和画质。

此外,千帆大模型开发与服务平台还支持自定义模型的训练和部署。开发者可以根据自己的需求,训练出适合特定场景的模型,并将其部署到平台上进行实时推理和应用。

综上所述,LHLS和LL-HLS都是实现低延迟直播的有效方案。它们各有优缺点,在实际应用中需要根据具体场景和需求进行选择。同时,借助千帆大模型开发与服务平台等强大工具的支持,我们可以更好地实现和优化低延迟直播方案,为用户提供更加流畅和实时的观看体验。