【问题标题】:Start MPEG-DASH Stream at Arbitrary Segment在任意段开始 MPEG-DASH 流
【发布时间】:2017-01-18 23:06:09
【问题描述】:

假设 MPEG-DASH 流中有 20 个段,并且流通常从索引 0 开始。假设初始化文件/字节序列已经排入媒体源缓冲区,是否可以从索引 13 开始?这个用例很实用的一个例子是 Netflix 的恢复功能——有人可以继续在另一台设备/浏览器上流式传输。 (大概与从头开始时的初始化数据相同。)

我唯一的想法是我的假设是错误的,并且对于每个可以暂停媒体的不同点都会有不同的初始化块……但这很愚蠢……对吗?

【问题讨论】:

    标签: javascript video-streaming video-encoding transcoding mpeg-dash


    【解决方案1】:

    简单的答案是可以,并且正如您所建议的,这可用于恢复播放功能。它还可以用于直播中的“重新开始”以及向前或向后跳转到视频中的特定点。

    MPEG DASH 支持两种主要文件格式(或视频容器格式) - ISO 基本媒体文件格式 (ISOBMFF - 尽管严格来说它是 MPEG-2 的概括,但通常称为 MP4) 和 MPEG-TS。

    MPEG DASH 标准使用“周期”的概念作为其基本构建块之一 - 周期代表内容流的一部分,包括开始时间和持续时间。为了能够在给定时间段内播放内容,您仍然需要一些初始化数据。

    查看 ISOBMFF,您建议有一个 init 段,其中包含所需的数据,W3C 将其定义为:

    初始化段 包含解码媒体段序列所需的所有初始化信息的字节序列。这包括编解码器初始化数据、多路复用段的 Track ID 映射和时间戳偏移(例如,编辑列表)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-08
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 1970-01-01
      • 2017-11-19
      • 2018-09-06
      相关资源
      最近更新 更多