hls是干嘛的


hls是干嘛的

文章插图
以Iphone 12 , iOS 14为例 , HLS(HTTP Live Streaming)是Apple的动态码率自适应技术 。主要用于PC和Apple终端的音视频服务 。包括一个m3u8的索引文件 , TS媒体分片文件和key加密串文件 。
常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议 , 这二种基本是完全不同的东西 , 目前比较方便又好用的是用 HTTP 渐进下载方法 。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表 。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流 。现在见到在桌面也有很多应用了 , HTML5 是直接支持这个 。
但是HLS协议的小切片方式会生成大量的文件 , 存储或处理这些文件会造成大量资源浪费 。如果要实现数天的时移 , 索引量将会是个巨额数字 , 并明显影响请求速度 。因此 , HLS协议对存储I/O要求相当苛刻 。对此 , 也有公司提出了非常好的解决方案 。
新型点播服务器系统 , 独创了内存缓存数据实时切片技术 , 颠覆了这种传统实现方法 , 从根本上解决了大量切片的碎片问题 , 使得单台服务器的切片与打包能力不再是瓶颈 。其基本原理如下:
【hls是干嘛的】不将TS切片文件存到磁盘 , 而是存在内存当中 , 这种技术使得服务器的磁盘上面不再会有“数以吨计”的文件碎片 , 极大减少了磁盘的I/O次数 , 延长了服务器磁盘的使用寿命 , 极大提高了服务器运行的稳定性 。同时 , 由于使用这种技术 , 使得终端请求数据时直接从服务器的内存中获取 , 极大提高了对终端数据请求的反应速度 , 优化了视频观看体验 。

    经验总结扩展阅读