·您当前的位置:主页 > 技术教程 > Html5技术 >

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

时间:2018-12-11 10:02阿酷原创
视频中常用的HLS(m3u8)协议分析,HLS 全称是 HTTP Live Streaming,是 Apple 提出的流媒体协议,苹果官方的介绍是这样的子的

视频中常用的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实例:

  1. <video controls autoplay>  
  2.     <source src="http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8" type="application/vnd.apple.mpegurl" /> 
  3.     <p class="warning">Your browser does not support HTML5 video.</p>  
  4. </video> 

内容:

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


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

热门文章推荐

请稍候...