视频中常用的HLS(m3u8)协议分析

视频中常用的HLS(m3u8)协议分析

HLS 全称是 HTTP Live Streaming,是 Apple 提出的流媒体协议,苹果官方的介绍是这样的子的:

HTTP Live Streaming

Send live and on‐demand audio and video to iPhone, iPad, Mac, Apple TV, and PC with HTTP Live Streaming (HLS) technology from Apple. Using the same protocol that powers the web, HLS lets you deploy content using ordinary web servers and content delivery networks. HLS is designed for reliability and dynamically adapts to network conditions by optimizing playback for the available speed of wired and wireless connections.

使用来自苹果的HTTP直播流媒体技术,可以向iPhone、iPad、Mac、Apple TV和PC发送实时的音频和视频信息流。使用与Web相同的协议,HLS允许您使用普通Web服务器和内容传递网络来部署内容。HLS是为可靠性而设计的,并且通过优化有线和无线连接的可用速度的回放来动态地适应网络条件。

HLS(m3u8)协议

HLS 对言的文件格式是 .m3u8 文件及对应的 .ts 播放文件,即服务器端会有一份 .m3u8 文件和其它很多的 .ts 文件,说得简单好理解一些是这样,m3u8文件是一个索引文件,ts为实际的播放内容。

好了,上一个m3u8实例:

内容:

#EXT-X-VERSION:3            PlayList 的版本,可带可不带。下面有说明
#EXTM3U                     m3u文件头
#EXT-X-TARGETDURATION:10    分片最大时长,单位为 s
#EXT-X-MEDIA-SEQUENCE:1     第一个TS分片的序列号,如果没有,默认为 0
#EXT-X-ALLOW-CACHE          是否允许cache
#EXT-X-ENDLIST              m3u8文件结束符
#EXTINF                     指定每个媒体段(ts)的持续时间(秒),仅对其后面的URI有效

视频中常用的HLS(m3u8)协议分析。

HLS(m3u8)是现在适配方式最广(除了flash, 需要额外的as库支持),在PC上有vlc,Android/IOS原生播放器就支持播放HLS。

你可能感兴趣的:(文章存档,视频直播技术,html5,跨平台播放器,微信直播,视频应用专栏,播放器开发专栏)