DASH 清单提供了“周期”的概念,用于在单个清单中连接多个剪辑(每个剪辑都有自己的轨道信息)。
是否有类似的功能可以将多个主播放列表文件连接成一种“master master”播放列表文件?
简短回答:不,不在主播放列表级别。
我猜 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
标签来标记时间戳和/或编码参数中的不连续性。您必须对每个变体播放列表(即每个质量级别)执行此操作。
如果剪辑没有相同的比特率阶梯(即质量配置文件),那么连接它们实际上是不可行的。
我可以使用包含第一个和第二个剪辑的路径的 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
以上是否可以播放,即使第一个剪辑和第二个剪辑来自不同的文件夹结构