HLS是什么?

来源:TechTMT.Com  作者:整理  日期:2022-02-23 13:39:46

HLS(HTTP Live Streaming)是 Apple 的动态码率自适应技术。主要用于 PC 和 Apple 终端的音视频服务。包括一个 m3u(8)的索引文件,TS 媒体分片文件和 key 加密串文件。

HLS

工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从愈多不同的备用源中以不同的速率下载同样的资源,允许流媒体绘画适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含源数据的 extended M3U(m3u8)playlist 文件,用于寻找可用的媒体流。

简介

常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/RTP 的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的是用 HTTP 渐进下载方法。在这个中 apple 公司的 HTTP Live Streaming 是这个方面的代表。它最初是苹果公司针对 iPhone、iPod、iTouch 和 iPad 等移动设备而开发的流.现在见到在桌面也有很多应用了,HTML5 是直接支持这个。

但是 HLS 协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费。如果要实现数天的时移,索引量将会是个巨额数字,并明显影响请求速度。因此,HLS 协议对存储 I/O 要求相当苛刻。对此,也有公司提出了非常好的解决方案。

新型点播服务器系统,独创了内存缓存数据实时切片技术,颠覆了这种传统实现方法,从根本上解决了大量切片的碎片问题,使得单台服务器的切片与打包能力不再是瓶颈。

其基本原理如下:

不将 TS 切片文件存到磁盘,而是存在内存当中,这种技术使得服务器的磁盘上面不再会有“数以吨计”的文件碎片,极大减少了磁盘的 I/O 次数,延长了服务器磁盘的使用寿命,极大提高了服务器运行的稳定性。同时,由于使用这种技术,使得终端请求数据时直接从服务器的内存中获取,极大提高了对终端数据请求的反应速度,优化了视频观看体验。

色彩模型

Hue 色度, Lightness 亮度, Saturation 饱和度。

HSL 色彩模式是工业界的一种颜色标准,是通过对色调(H)、饱和度(S)、亮度(L)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,HSL 即是代表色调,饱和度,亮度三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。HSLA 是在 HSL 的基础上增加一个透明度(A)的设置。

HLS 协议规定

视频的封装格式是 TS。视频的编码格式为 H264,音频编码格式为 MP3、AAC 或者 AC-3。除了 TS 视频文件本身,还定义了用来控制播放的 m3u8 文件(文本文件)。

把视频文件上传到服务器上,视频会被转换成 HLS 格式的视频(即 TS 和 m3u8 文件)。Media encoder 模块负责将视频源中的视频数据转码到目标编码格式(H264)的视频数据,然后 Stream Segment 模块将视频切片,切片的结果就是 index file(m3u8)和 ts 文件了。

HLS 的 index 文件就是 m3u8 的文件,先下载一级 index file(master_playlist.m3u8),它里面记录了二级索引文件的地址(Alternate-A、Alternate-B、Alternate-C)的地址,然后客户端再去下载二级索引文件,二级索引文件中又记录了 TS 文件的下载地址,这样客户端就可以按顺序下载 TS 视频文件并连续播放。

分类:资讯
标签:是什么
编辑:tmt
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。文章版权归原作者所有,内容不代表本站立场!
免责声明: 阁下应知本站所提供的内容不能做为操作依据。本站作为信息内容发布平台,不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考! 如文中内容影响到您的合法权益(含文章中文字、图片等),请及时联系本站,我们会及时删除处理。