← Blog.backToBlog

M3U8 扩展标签:完整 HLS 参考

8 min read

基本标签

标签语法说明
#EXTM3U#EXTM3U文件头;必须为首行
#EXTINF#EXTINF:<时长>,<标题>片段时长
#EXT-X-VERSION#EXT-X-VERSION:<n>HLS 协议版本
#EXT-X-TARGETDURATION#EXT-X-TARGETDURATION:<s>最大片段时长(秒)
#EXT-X-MEDIA-SEQUENCE#EXT-X-MEDIA-SEQUENCE:<n>首片段序号
#EXT-X-ENDLIST#EXT-X-ENDLIST不再有新片段(点播)

流与媒体标签

  • #EXT-X-STREAM-INF:BANDWIDTH=1280000,RESOLUTION=720x480,CODECS="avc1.66.30,mp4a.40.2"——变体流;下一行是媒体播放列表 URL。
  • #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",URI="audio.m3u8"——备用音轨/字幕。
  • #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=128000,URI="iframe.m3u8"——用于拖动的 I 帧播放列表。

直播标签

  • #EXT-X-PLAYLIST-TYPE:EVENTVOD——播放列表类型(纯直播可省略)。
  • #EXT-X-DISCONTINUITY——片段间断点(广告、编码变化)。
  • #EXT-X-PROGRAM-DATE-TIME:2026-01-01T00:00:00Z——片段的绝对时间。
  • 低延迟 HLS 的服务器控制标签。

加密标签

  • #EXT-X-KEY:METHOD=AES-128,URI="https://key.server/key.bin",IV=0x...——加密方法与密钥位置(AES-128、SAMPLE-AES 或 NONE)。
  • #EXT-X-SESSION-KEY——在主播放列表中尽早声明密钥。

会话数据标签

  • #EXT-X-SESSION-DATA——主播放列表中的元数据。
  • #EXT-X-START:TIME-OFFSET=30——建议起始偏移。
  • #EXT-X-DATERANGE——广告插播等定时事件。

如何使用本参考

调试流时,在文本编辑器中打开播放列表,对照本列表匹配标签。结构概览:格式详解。创建播放列表:创建 M3U8 播放列表

常见问题解答

每个 M3U8 必须以什么标签开头?
#EXTM3U

哪个标签结束点播播放列表?
#EXT-X-ENDLIST

加密如何声明?
#EXT-X-KEY,含 METHOD 和 URI。

变体列在哪里?
主播放列表中通过 #EXT-X-STREAM-INF。