如何创建主HLS播放列表?多.m3u8片段仅首段播放问题排查
如何创建主HLS播放列表并解决多流播放问题
一、正确创建主HLS播放列表的规则
- 主播放列表(通常命名为master.m3u8)必须以
#EXTM3U开头,同时声明HLS版本(#EXT-X-VERSION) - 每个子播放列表(子.m3u8)必须对应独立的
#EXT-X-STREAM-INF标签,该标签用于定义流的核心属性:BANDWIDTH:必填项,指定流的比特率(单位:bps)RESOLUTION:可选,标注视频的分辨率(如852x480)CODECS:可选,明确视频和音频的编码格式(如avc1.640034,mp4a.40.2)
- 每个
#EXT-X-STREAM-INF标签后,必须紧跟对应的子播放列表路径(相对路径或绝对URL均可)
二、解决你遇到的多流播放问题
你的master.m3u8存在核心错误:第二个子播放列表clip2.m3u8没有对应的#EXT-X-STREAM-INF标签,播放器只会解析第一个流条目,导致第二个流无法被识别。
修正后的master.m3u8
如果两个子流的码率、分辨率、编码格式一致,复制相同的#EXT-X-STREAM-INF标签即可:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-STREAM-INF:BANDWIDTH=2305600,RESOLUTION=852x480,CODECS="avc1.640034,mp4a.40.2" main/clips/new/2024/clip1.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2305600,RESOLUTION=852x480,CODECS="avc1.640034,mp4a.40.2" main/clips/2023/clip2.m3u8
额外检查项
- 子播放列表的TS路径有效性:
clip1.m3u8中的clip/1.ts是相对main/clips/new/2024/的路径,需确保main/clips/new/2024/clip/1.ts文件真实存在clip2.m3u8中的clip/1.ts是相对main/clips/2023/的路径,需确保main/clips/2023/clip/1.ts文件真实存在
- 播放器兼容性:确认使用的播放器支持HLS版本3(
#EXT-X-VERSION:3)
内容的提问来源于stack exchange,提问作者Sai kiran Nomula
相关产品推荐
相关产品推荐

