直播或点播内容(HLS、HTTP 范围请求)

Live streaming or on Demand content (HLS, HTTP Range Requests)

我正在尝试处理浏览器和移动应用程序中的流式传输(或者更确切地说是音频点播)。出现的一些问题在找到具体答案时并不是很成功。也许有人会告诉我。

  1. HLS的特点是什么? 音频点播?
  2. HLS 有什么用 HTTP Range Requests 规格?
  3. 或者 HLS 是否在内部使用 HTTP 范围请求?

感谢解答!

  1. 这取决于:点播流式音频并不总是需要 HLS。 HLS 使您能够拥有相同内容的多个质量级别(不同的比特率)。 例如,在按流量计费的蜂窝连接上,您可能希望使用低带宽(例如 32 kBits/s 的 AAC HEv2)。 对于 WiFi 或有线无限连接,您可以使用 256 kBits/s 进行流式传输。 使用 HLS,您可以将所有不同的质量级别整合到一个包中。

  2. 通常对于 HLS 点播,您会为每个质量级别创建一个文件,HLS 播放列表会告诉您字节偏移量和长度以找到块 - 以便您可以搜索。您的客户端将读取播放列表 - 获取要读取的块的偏移量和长度,然后执行 HTTP 范围请求。因此,单个文件 HLS 流与 HTTP 范围请求一起使用。

  3. 托管单个文件 HLS 流的 HTTP 服务器必须支持 HTTP 范围请求,并且 client/player 必须执行范围请求。所以 - 是的 - HTTP 范围请求是系统的一部分。

如果 HLS 流存储在很多小块中 - 对于直播来说更常见 - 不使用 HTTP 范围请求。