m3u8 文件格式 作者:马育民 • 2025-02-19 10:23 • 阅读:10007 # 介绍 M3U8 文件,是 M3U 文件格式的一种扩展,支持 `UTF-8` 编码。M3U8 是一种基于文本的格式,用于存储媒体文件的元数据和位置信息。 ### 作用 用于流媒体传输的索引文件格式,通常与 [HTTP Live Streaming (HLS) 协议](https://www.malaoshi.top/show_1GWcXSnfviG.html "HTTP Live Streaming (HLS) 协议")一起使用。 >HLS 是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。 M3U8 文件通常包含媒体播放列表,用于指示媒体播放器如何获取和播放一系列较小的媒体片段(通常是 .ts 格式的文件)。 >这种格式常用于视频点播 (VOD) 和实时流媒体服务。 ### 使用场景 - 视频点播 (VOD): 在线视频网站上的电影或剧集。 - 实时流媒体: 直播电视节目、体育赛事、新闻广播等。 - 多码率适应: 提供不同比特率的流,以适应不同的网络条件。 # 格式解释 ``` #EXTM3U // 文件头部,表示这是一个 M3U 文件 #EXT-X-VERSION:3 // 指定 HLS 协议版本 #EXT-X-TARGETDURATION:10 // 指定每个媒体片段的最大持续时间。单位是s #EXT-X-KEY:METHOD=AES-128,URI="" // 若 ts 视频片段进行了加密,则需配置该字段指定加密解析方式。例如该字段指定了加密算法为 AES-128,密钥通过请求 URI 获取,以用于解密后续解析 ts 文件。 #EXT-X-MEDIA-SEQUENCE:0 // 指定媒体序列的第一个片段的编号。对于视频点播资源该字段一般是 0,但是在直播场景下,这个序列号标识直播段的起始位置。 #EXTINF:10.0, // 描述接下来的媒体片段的持续时间 每个 #EXTINF 行后面跟着一个 URI,指向实际的媒体片段文件(.ts格式文件) 0.ts // 媒体文件,是.ts格式(类似.mp4格式) #EXTINF:10.0, 1.ts #EXTINF:7.216, 2.ts #EXT-X-ENDLIST // M3U8 文件结束符 ``` 参考: https://www.jianshu.com/p/e97f6555a070 https://juejin.cn/post/7418086006116057107 原文出处:http://malaoshi.top/show_1GWcS6I0Deg.html