video-streaming - 串联多个 HLS 主播放列表

标签 video-streaming http-live-streaming

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

是否有类似的功能允许将多个主播放列表文件连接成一种“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标签来标记时间戳和/或编码参数的不连续性。您必须为每个变体播放列表(即每个质量级别)执行此操作。

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

关于video-streaming - 串联多个 HLS 主播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50859334/

相关文章:

ios - 如何在 iOS 中的 HLS(m3u8) 播放期间找出当前 TS 段?

ffmpeg - 将 m3u8 (HLS) 转换为 mpd (MPEG-DASH)

HTML5 视频 - 暂停加载/部分加载

ffmpeg - 存储传入流时如何真正选择正确的格式?

javascript - 如何让 hls.js 在请求加密 key 时在请求 header 中发送 cookie

c - 快速启动 fdsink : first 5 MB async, 以下字节同步

linux - 设置 HLS 分段时间

android - 如何更改 android videoview 中流式传输的缓冲区大小?

java - 损坏的管道将数据 block 发送到 chrome,仅通过范围请求流式传输 mp4

wpf - 如何在 WPF 中流式传输视频?