在我们日常观看的过程中,常常会遇到一种名为 m3u8 的格式。它采用了流式传输技术,能够根据网络的不同状况,实时调整的传输方式,进行分片传送,从而应对各种复杂的网络环境。这项技术被称为 HLS。
HLS,全称为 HTTP Live Streaming,是苹果公司开发的一种动态自适应码率技术。它主要服务于 PC 端和苹果设备的音流媒体传输,核心内容包括 m3u8 索引文件、TS 媒体数据片段以及加密的 Key 文件。
如今,常见的流媒体传输协议大致可分为 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议。二者在实现方式上有显著不同,当前最为普及且易于使用的方式是 HTTP 渐进下载。正是在这一领域,苹果的 HLS 技术发挥了重要作用。最初,HLS 主要是为苹果的移动设备——如 iPhone 和 iPad 等设计的,然而如今,许多桌面设备同样可以使用这一技术,HTML5 也已经原生支持 HLS 协议。
那么,什么是流媒体呢?简单来说,流媒体是一种实时传输音频、或其他多媒体内容的技术,能够在各种终端上进行解码和播放。例如,通过手机应用、电视点播、电脑软件,甚至是网页和 iPad 应用等,都可以通过流媒体技术进行播放。
流媒体的关键在于“边传输边播放”,也就是说,观众无需等到整个文件下载完毕就可以开始观看。这种技术的一个典型应用就是直播,观众和主播可以在同一时刻进行互动,极大地提升了互动性和实时性。