mpd 文件中的分段范围是什么意思



我从 http://dash-mse-test.appspot.com/media.html 那里得到了一个示例mpd文件,下面是一个包含单个表示的片段。

   ...
   <Representation bandwidth="4190760" codecs="avc1.640028" height="1080" id="1" mimeType="video/mp4" width="1920">
    <BaseURL>car_cenc-20120827-89.mp4</BaseURL>
    <SegmentBase indexRange="2755-3230">
      <Initialization range="0-2754" />
    </SegmentBase>
  </Representation>
  ...

SegmentBase 是什么意思?索引范围的值是什么意思?

初始化结束范围始终比 indexRange 起始值小 1,即在上面的 2755-1 = 2754(初始化的值(

谁能帮我理解这些数字的意义?

编辑 1:

根据下面@sander的答案,我了解段索引是字节范围。但是,我仍然对如何使用此值感到困惑。

例如: <Representation bandwidth="4190760" codecs="avc1.640028" height="1080" id="1" mimeType="video/mp4" width="1920"> <BaseURL>car-20120827-89.mp4</BaseURL> <SegmentBase indexRange="674-1149"> <Initialization range="0-673" /> </SegmentBase> </Representation>

此表示形式中只有一个片段在单个文件中包含整个视频剪辑。(文件大小约为90MB(。

初始化范围提到 0-673。因此,从文件的第 0 个字节到文件的第 673 个字节包含视频的初始化段。我的理解是对的吗?

如果是这样,则文件约为 90mb。如何按字节范围获取其他段?SegmentBase 只提到索引范围 674-1149。

顺便说一句,我正在使用这个播放器来了解段索引。

http://dash-mse-test.appspot.com/dash-player.html?url=http://yt-dash-mse-test.commondatastorage.googleapis.com/media/car-20120827-manifest.mpd

查看使用 Chrome 的检查工具发送的标头请求,在小字节范围内发生了很多请求,但我不确定如何从 MPD 获取这些字节范围。


谢谢

此文件的确切格式在 DASH 规范 (ISO/IEC 23009-1( 中描述。SegmentBase元素在第5.3.9.2章中描述。

我对这个片段

的解释是,这个表示形式由一个 mp4 文件组成,该文件作为一个片段传递给播放器。indexRange是此段中的字节范围,表示段索引(mp4 文件中的sidx框(,Initialization 元素表示包含任何相关初始化数据的字节范围(mp4 文件中的各种标头框(。正如您所注意到的,范围整齐地覆盖了段的开头,其余部分可能填充了媒体样本数据。字节范围通知玩家它应该从哪里加载相关数据。

编辑sidx框包含引用此单个mp4文件的子段的字节范围。引自ISO/IEC 14496-12:2012(E(:

每个区段

索引框都记录了如何将(子(区段划分为 一个或多个细分(其本身可以进一步细分( 使用区段索引框(。

子段定义为时间间隔 的包含(子(段,并对应于单个范围 包含(子(段的字节数。所有持续时间 子区段的总和为包含(子(区段的持续时间。

根据sidx框的内容,播放器可以确定需要下载mp4文件的哪些部分才能播放视频的特定部分。

相关内容

  • 没有找到相关文章

最新更新