使用mp4box生成的DASH .mpd文件无法在Dash.js播放器中播放。

4
我使用MP4Box生成了一个.mpd文件,并使用Dash.js播放器播放生成的文件,但是它无法播放。但是,如果我使用链接http://msdn.microsoft.com/en-us/library/dn551368(v=vs.85).aspx中提供的详细信息创建播放器,则可以播放。我已经完全按照上述链接中给出的详细信息进行了操作,并且它可以正常工作。但是当我在dash.js播放器中使用.mpd文件时,它无法工作。请帮我解决这个问题。
<MPD type="static" xmlns="urn:mpeg:DASH:schema:MPD:2011" profiles="urn:mpeg:dash:profile:full:2011" minBufferTime="PT1.5S" mediaPresentationDuration="PT0H1M0.29S">
 <ProgramInformation moreInformationURL="http://gpac.sourceforge.net">
  <Title>Media Presentation Description for file Recorded_gopi.mp4 generated with GPAC </Title>
 </ProgramInformation>
 <Period start="PT0S" duration="PT0H1M0.29S">
  <AdaptationSet>
   <ContentComponent id="1" contentType="video"/>
   <ContentComponent id="2" contentType="audio" lang="und"/>
   <Representation id="1" mimeType="video/mp4" codecs="avc1.640028,mp4a.40.02" width="1280" height="1024" sampleRate="44100" numChannels="2" lang="und" startWithSAP="1" bandwidth="317599">
    <BaseURL>Recorded_gopi_dash.mp4</BaseURL>
    <SegmentList timescale="1000" duration="13915">
     <Initialization range="0-1264"/>
     <SegmentURL mediaRange="1265-512125" indexRange="1265-1465"/>
     <SegmentURL mediaRange="512126-774261" indexRange="512126-512254"/>
     <SegmentURL mediaRange="774262-1165553" indexRange="774262-774390"/>
     <SegmentURL mediaRange="1165554-1484521" indexRange="1165554-1165682"/>
     <SegmentURL mediaRange="1484522-1819145" indexRange="1484522-1484626"/>
     <SegmentURL mediaRange="1819146-2122548" indexRange="1819146-1819310"/>
     <SegmentURL mediaRange="2122549-2375382" indexRange="2122577-2122705"/>
    </SegmentList>
   </Representation>
  </AdaptationSet>
 </Period>
</MPD>

请帮我解决这个问题。


你解决了吗?你介意分享一下代码和浏览器控制台输出吗?我在使用dash.js时遇到了同样的问题。 - Aruna Herath
2个回答

2

我也遇到了同样的问题,经过几个小时的努力,我终于找到了解决方法。

删除以下内容后,问题得到了很好的解决。

<ContentComponent id="1" contentType="video" />
<ContentComponent id="2" contentType="audio" />

MPD验证器表示无论这些行是否存在都是有效的。我不知道为什么dash.js无法正确处理。有没有MP4Box的选项可以不包括这些行?


1
删除这些行也解决了我的问题。我看过的一些教程确实建议将视频和音频流分开分段。似乎只有在视频分段未混合时,这些ContentComponent才应该存在。 - Jason R

0
你需要删除行 <ContentComponent ../>
对我有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接