什么是HLS(HTTP Live Streaming)?

本文详细介绍了HLS(HTTP Live Streaming)协议,包括其历史、工作原理、架构,以及编码、打包、播放列表和播放器支持。HLS是一种基于HTTP的自适应码率流媒体传输协议,广泛应用于音视频服务。文章还讨论了HLS的切片时长、播放列表类型和浏览器支持情况。
摘要由CSDN通过智能技术生成

2009年,Apple推出了HLS(HTTP Live Streaming)——基于HTTP的自适应码率流媒体传输协议。HLS描述了一组通过互联网提供音视频服务的工具和程序。一个视频可以被分割成多个视频切片,这些切片的传送位置和顺序在一组被称为播放列表的XML文件中,该文件以文件扩展名m3u8结尾。人们可以使用兼容了HLS的播放器播放视频。

注:原文说HLS使用了XML文件,是一个错误的说法,为了保留和原文一致,翻译并未去纠正这个错误,实际上,HLS 使用的是M3U8 文件,它是基于M3U扩展的UTF-8文本文件。

在本篇文章中,我们将深入了解实现HLS视频流的程序和工具。

HLS的历史

2009年,Apple在推出iPhone 3时,同时推出了HLS。目的是提升iPhone用户的媒体传输体验,并且使用户不再遇到带宽波动和传输受到干扰等问题。从那时起,Apple便一直定期改进HLS,使它成为可靠、被广泛支持的视频传输协议。

Apple的网站上有大量相关文档,包括创作指南、HLS简介、HTTP实时流媒体等。你也可以参考相关规范,查看HLS的更多细节并对它有更多了解(其中有对各种标签的清晰解释,以及ABR视频流的详尽介绍)。

HLS的架构

HLS并不需要高级的硬件来传输视频,它是一个简单高效的协议。通过HLS,你可以使用常规的Web服务器存储和分发内容。但是它需要将数据存储在适当的格式中,且客户端软件能够获取并处理HLS视频内容。让我们一起来看看HLS视频传输服务的架构是什么样子。

​编码器:该编码器可以生成H.264/AVC或者HEVC内容,并遵守Apple创作规范中指定的标准。这些指南非常全面且具体。比如,它们为每个所支持的编解码器指定容器格式。对于H.264来说,你必须使用fMP4或者TS(Transport Stream)。当你在创建自己的HLS流媒体服务器时,请务必阅读指南内容。

打包器(Packager):打包器获取视频后,将其切割成短的视频切片(如10秒长)。比如,一个小时的电影会被切割成360个10秒长的视频切片,然后创建一个被称为播放列表的文件,其中包含视频名字、位置以及切片播放序列(和描述编解码器、分辨率和码率等的元数据一起)。创建这些视频切片的过程被称为视频分片,或者更为人所熟知的打包。

We

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值