串联多个 HLS 主播放列表

Concatenate multiple HLS master playlists

DASH Manifest 提供了“Periods”的概念,可以将多个剪辑(每个剪辑都有自己的轨道信息)连接在一个清单中。

是否有类似的功能允许将多个主播放列表文件连接成一种“主控”播放列表文件?

简短回答:不,不是主播放列表级别。

我想在 HLS 中最接近 MPEG-DASH 周期的是不连续序列。您必须连接变体播放列表并添加 EXT-X-DISCONTINUITY.

示例:

第一个剪辑的变体:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3

#EXTINF:10,
clip-1/1.ts
#EXTINF:10,
clip-1/2.ts
#EXTINF:10,
clip-1/3.ts
#EXT-X-ENDLIST

第二个剪辑的变体:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3

#EXTINF:10,
clip-2/1.ts
#EXTINF:10,
clip-2/2.ts
#EXTINF:10,
clip-2/3.ts
#EXT-X-ENDLIST

串联剪辑的变体为:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3

#EXTINF:10,
clip-1/1.ts
#EXTINF:10,
clip-1/2.ts
#EXTINF:10,
clip-1/3.ts
#EXT-X-DISCONTINUITY
#EXTINF:10,
clip-2/1.ts
#EXTINF:10,
clip-2/2.ts
#EXTINF:10,
clip-2/3.ts
#EXT-X-ENDLIST

需要 EXT-X-DISCONTINUITY 标记来标记时间戳 and/or 编码参数中的不连续性。您必须为每个变体播放列表(即每个质量级别)执行此操作。

如果剪辑没有相同的比特率阶梯(即质量配置文件),则将它们串联起来并不可行。