连接多个 HLS 主播放列表

问题描述 投票:0回答:2

DASH 清单提供了“周期”的概念,用于在单个清单中连接多个剪辑(每个剪辑都有自己的轨道信息)。

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

video-streaming http-live-streaming
2个回答
10
投票

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

我猜 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
标签来标记时间戳和/或编码参数中的不连续性。您必须对每个变体播放列表(即每个质量级别)执行此操作。

如果剪辑没有相同的比特率阶梯(即质量配置文件),那么连接它们实际上是不可行的。


0
投票

我可以使用包含第一个和第二个剪辑的路径的 master.m3u8 来代替两者的组合吗?

master.m3u8

#EXTM3U #EXT-X-MEDIA:类型=视频,组ID =“1080p”,名称=“1080p”,自动选择=是,默认=是 #EXT-X-STREAM-INF:程序 ID = 1,带宽 = 5667538,CODECS =“avc1.4D0C28,mp4a.40.2”,分辨率 = 1920x1080,视频 = “1080p”,帧率 = 30.000 主/剪辑/2024/Firstclip.m3u8 主/剪辑/Secondclip.m3u8

以上是否可以播放,即使第一个剪辑和第二个剪辑来自不同的文件夹结构

© www.soinside.com 2019 - 2024. All rights reserved.