连接多个 HLS 主播放列表

Roc*_*air 1 video-streaming http-live-streaming

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

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

jms*_*msn 8

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

我想最接近 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
Run Code Online (Sandbox Code Playgroud)

第二个剪辑的变体:

#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
Run Code Online (Sandbox Code Playgroud)

连接剪辑的变体将是:

#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
Run Code Online (Sandbox Code Playgroud)

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

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