m3u8 是啥格式 HLS 播放列表详解

描述:
m3u8 是啥格式 HLS 播放列表详解
精选回答

m3u8 本质是UTF-8 编码的纯文本播放索引文件,它本身并不是视频,里面没有视频画面数据,只是记录 HLS 流媒体里面所有视频分片 ts 文件的地址、时长、序号、加密信息,HLS 是苹果推出的流媒体协议,广泛用在在线直播、点播网页播放,浏览器、手机、播放器都原生支持 m3u8,它把完整长视频切割成很多小 ts 分片,播放器按照 m3u8 里面的清单,依次下载这些分片拼接播放,这种分片方式的优点是可以实现自适应码率,根据网速自动切换清晰度,直播的时候延迟可控,也支持 AES 加密保护视频源,很多网站在线视频底层都是 m3u8 源。

核心特点

属于文本索引,体积很小,一般几 KB 到几十 KB

底层视频分片一般是 ts 格式

支持多码率(主 m3u8 里面嵌套子 m3u8,对应高清标清不同码流)

支持 AES-128 加密,需要密钥文件才能解密播放

跨平台兼容好,网页、安卓、iOS、电视盒子都支持

文件内部内容示例

EXTM3U

EXT-X-VERSION:3

EXT-X-TARGETDURATION:10

EXTINF:10.0,

segment0.ts

EXTINF:10.0,

segment1.ts

EXT-X-ENDLIST

  • #EXTM3U 是文件头标识,必须存在
  • #EXTINF 标记每一个分片的播放时长
  • #EXT-X-ENDLIST 代表点播视频结束,直播流一般没有这一行

和普通 mp4 的区别对照表

项目m3u8mp4
本质索引清单,不含画面完整封装视频文件
播放方式分片加载,边下边播可以整文件下载
自适应码率原生支持需要额外封装支持
加密原生 AES 加密没有原生内置加密机制
适用场景直播、网页点播本地视频、离线保存

识别判断步骤

第一步 看到后缀 m3u8,优先判断是 HLS 索引,不是完整视频

第二步 打开文件,能看到 ts 分片地址、标签,确认是文本

第三步 如果里面有 EXT-X-KEY,说明视频做了 AES 加密

第四步 如果是主索引,里面写的是子 m3u8 地址,代表多码率版本

补充要点

很多人拿到 m3u8 之后,想保存成本地 mp4,就需要把所有 ts 分片下载合并,再转封装成 mp4,常用 ffmpeg 就可以完成这个操作。注意:如果视频有版权保护,未经许可下载、转存、传播属于侵权行为。

【常见问题】

问题 1 m3u8 是啥格式 m3u8 可以直接双击播放吗

回答 1 m3u8 是啥格式,普通系统自带播放器一般不能直接打开,需要 VLC、PotPlayer 这类支持 HLS 的播放器,并且要能访问对应的 ts 分片地址。

问题 2 m3u8 是啥格式 m3u8 里面的 ts 是什么

回答 1 m3u8 是啥格式,ts 是传输流分片,是真正承载音视频数据的文件,m3u8 只是记录这些分片的播放清单。

问题 3 m3u8 是啥格式 m3u8 为什么打不开

回答 1 m3u8 是啥格式,常见原因是 ts 分片地址失效、AES 密钥丢失、跨域限制,并不是 m3u8 文件本身损坏。

问题 4 m3u8 是啥格式 m3u8 是直播还是点播

回答 1 m3u8 是啥格式,点播文件末尾带有 EXT-X-ENDLIST,直播流一般没有这个结束标签,会持续追加新分片。

【免责申明】

本内容为流媒体技术科普参考,仅用于技术学习,下载转存受版权保护的 m3u8 源需遵守相关法律法规。

今日大家都在搜的词: