HLS(HTTP 直播流)

什么是 HLS?

HLS(HTTP 实时流)是 Apple 开发的一种自适应比特率流媒体协议,用于通过互联网提供高质量的媒体内容。HLS 最初于 2009 年与 iOS 3.0 一起推出,现已成为使用最广泛的流媒体技术之一,可在智能手机、平板电脑、智能电视和桌面浏览器等各种设备上流畅播放。

HLS 的工作原理

HLS 将视频内容分成小片段(通常每个片段 2 到 10 秒),并通过标准 HTTP 协议进行传输。该过程由三个主要部分组成:

1. 分段媒体文件

  • 原始视频被编码为多种比特率和分辨率,以适应不同的网络条件。
  • 每个版本都被分成小的.ts(传输流)块。

2. 播放列表文件 (M3U8)

  • 主 M3U8 播放列表文件包含对流的多个版本的引用,允许客户端在它们之间动态切换。
  • 单独的 M3U8 播放列表定义了每个比特率的媒体片段的序列。

3. 自适应比特率流 (ABR)

  • 视频播放器持续监控网络状况和 CPU 性能以选择最佳可用比特率。
  • 如果带宽减少,播放器将切换到较低比特率的流以防止缓冲;如果条件改善,播放器将升级到更高质量的流。

HLS 的优势

  • 跨平台兼容性 - 可在 iOS、Android、macOS、Windows 和智能电视上无缝运行。
  • 自适应流媒体 - 通过实时调整质量确保流畅的播放体验。
  • 高效的 CDN 交付 – 使用标准 HTTP 服务器,从而可以轻松地通过内容交付网络 (CDN) 进行缓存和分发。
  • 支持直播和点播内容 - HLS 非常适合直播和视频点播 (VOD) 服务。
  • 加密和 DRM 支持 - 支持 AES-128 加密并与数字版权管理 (DRM) 解决方案集成以保护内容。

HLS 的挑战

  • 更高的延迟 – 与 WebRTC 或 RTMP 相比,HLS 具有更高的延迟,尽管低延迟 HLS(LL-HLS)旨在解决此问题。
  • 段开销——较小的段大小可以改善延迟,但会增加服务器请求,从而影响效率。
  • 有限的实时交互 - 不适合现场投注或互动游戏等超低延迟应用。

HLS 与其他流媒体协议

特征HLSS DASH (MPEG-DASH) WebRTC RTMP(已弃用)
兼容性iOS、Android、浏览器通用(MPEG 标准)支持 WebRTC 的浏览器基于 Flash(旧版)
延迟5-30 秒(标准 HLS) 3-10秒亚秒级~2-5秒
用例直播和点播流媒体广播公司和 OTT 平台实时通信以前用于直播
CDN 支持出色的出色的有限的有限的

媒体交付和 CDN 中的 HLS

内容分发网络 (CDN) 在优化 HLS 流媒体方面发挥着至关重要的作用:

  • 缓存段以减少延迟和服务器负载。
  • 边缘交付从最近的节点提供内容,提高速度。
  • 优化 ABR 切换以提供流畅的观看体验。

结论

HLS 仍然是最广泛采用的流媒体协议之一,可为各种应用提供高质量、自适应的视频传输。虽然它存在一些延迟问题,但 LL-HLS 等技术进步不断提高其性能,使其成为 OTT 平台、媒体公司和直播服务的可靠选择。