首页 > 解决方案 > 为什么 MPEG-DASH 播放从我的 SegmentTemplate startNumber 的 2 倍开始?

问题描述

我正在构建基于 HTTP 的动态自适应流式传输 (DASH) 服务。这是它发布的 .mpd 文件:

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minBufferTime="PT0S">
  <ProgramInformation>
    <Title>My Stream</Title>
    <Source>Music Inc</Source>
  </ProgramInformation>
  <Period>
    <AdaptationSet id="3" mimeType="audio/mp4" segmentAlignment="true" audioSamplingRate="48000.0" codecs="mp4a.40.2" startWithSAP="1" lang="eng">
      <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" id="2"/>
      <BaseURL></BaseURL>
      <SegmentTemplate initialization="mystream-$RepresentationID$-IS.mp4" media="mystream-$RepresentationID$-$Number$.m4s" startNumber="163428046" timescale="1" duration="10"/>
      <Representation id="128kbps" bandwidth="128000"/>
    </AdaptationSet>
  </Period>
</MPD>

但是,当我打开这个流(在 VLC 中)时,我在日志中看到 404 错误:

adaptive error: Failed reading https://************:443/mystream-128kbps-326856092.m4s: HTTP/1.1 404 Not Found
adaptive error: Failed reading https://************:443/mystream-128kbps-326856093.m4s: HTTP/1.1 404 Not Found

请注意,VLC 尝试定位的第一个段模板编号是326856092MPD 中指定的预期编号的 2XstartNumber="163428046"

标签: xmlstreamingmedia-playerplaylistmpeg-dash

解决方案


首先,您创建了一个dynamic清单,这意味着它用于直播。

播放实时流时,播放器不会从第一段开始,它将尝试根据您在清单中提供的信息确定实时边缘。实时边缘随着挂钟前进。

由于您没有提供任何类型的信息,例如availabilityStartTime、 Periodstart等,它仅使用清单发布的时间 - 在您的情况下是 HTTP 响应的时间 - 以及段持续时间。

例如:

publishTime = 1634310000

currentSegmentNumber = startNumber + publishTime * timescale / duration
                     = 163428046 + 1634310000 * 1 / 10
                     = 326859046

如果由于某种原因您startNumber对应于生成清单时的当前 Epoch 时间,它将尝试准确地从 2x 开始。

static如果您想从内容的开头开始,也许您需要一个VoD 播放列表。

在此处阅读更多信息:DASH-IF 时序模型


推荐阅读