0

I'm serving a number of MPD's created through MP4Box to my Exoplayer instance.

These are all audio only.

Each MPD is created with three representations

Playback is fine for the shorter audio clips however when I try to stream one of the larger clips the exoplayer gives a 404 error

com.google.android.exoplayer.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 404

Is there anything in particular that may be causing this? Or any more info I can give out that will help solve this issue?

Thanks all!

as an additional example here is an mpd that works fine

<!--
 MPD file Generated with GPAC version 0.5.2-DEV-rev537-gb163c01-master  at 2015-08-16T12:39:38.335Z
-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500S" type="static" mediaPresentationDuration="PT0H0M7.895S" maxSegmentDuration="PT0H0M1.996S" profiles="urn:mpeg:dash:profile:full:2011">
<ProgramInformation moreInformationURL="http://gpac.sourceforge.net">
<Title>IntroE.mpd generated by GPAC</Title>
</ProgramInformation>
<Period duration="PT0H0M7.895S">
<AdaptationSet segmentAlignment="true" bitstreamSwitching="true" lang="und">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentList>
<Initialization sourceURL="IntroE_init.mp4"/>
</SegmentList>
<Representation id="1" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="62781">
<SegmentList timescale="44100" duration="88023">
<SegmentURL media="seg_Introduction_English_FirstRender_641.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_642.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_643.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_644.m4s"/>
</SegmentList>
</Representation>
<Representation id="2" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="105903">
<SegmentList timescale="44100" duration="88023">
<SegmentURL media="seg_Introduction_English_FirstRender_1281.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_1282.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_1283.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_1284.m4s"/>
</SegmentList>
</Representation>
<Representation id="3" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="240968">
<SegmentList timescale="44100" duration="88023">
<SegmentURL media="seg_Introduction_English_FirstRender_2561.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_2562.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_2563.m4s"/>
<SegmentURL media="seg_Introduction_English_FirstRender_2564.m4s"/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
</MPD>

and here is one that doesnt work and causes a 404 error

<!--
 MPD file Generated with GPAC version 0.5.2-DEV-rev537-gb163c01-master  at 2015-08-16T12:48:11.434Z
-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500S" type="static" mediaPresentationDuration="PT0H0M51.827S" maxSegmentDuration="PT0H0M1.996S" profiles="urn:mpeg:dash:profile:full:2011">
<ProgramInformation moreInformationURL="http://gpac.sourceforge.net">
<Title>ChartE.mpd generated by GPAC</Title>
</ProgramInformation>
<Period duration="PT0H0M51.827S">
<AdaptationSet segmentAlignment="true" bitstreamSwitching="true" lang="und">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<SegmentList>
<Initialization sourceURL="ChartE_init.mp4"/>
</SegmentList>
<Representation id="1" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="63987">
<SegmentList timescale="44100" duration="88023">
<SegmentURL media="seg_The Charterhouse_English_FirstRender_641.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_642.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_643.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_644.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_645.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_646.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_647.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_648.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_649.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6410.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6411.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6412.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6413.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6414.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6415.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6416.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6417.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6418.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6419.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6420.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6421.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6422.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6423.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6424.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6425.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_6426.m4s"/>
</SegmentList>
</Representation>
<Representation id="2" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="106585">
<SegmentList timescale="44100" duration="88023">
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1281.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1282.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1283.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1284.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1285.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1286.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1287.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1288.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_1289.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12810.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12811.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12812.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12813.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12814.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12815.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12816.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12817.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12818.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12819.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12820.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12821.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12822.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12823.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12824.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12825.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_12826.m4s"/>
</SegmentList>
</Representation>
<Representation id="3" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="248262">
<SegmentList timescale="44100" duration="88023">
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2561.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2562.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2563.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2564.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2565.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2566.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2567.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2568.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_2569.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25610.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25611.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25612.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25613.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25614.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25615.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25616.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25617.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25618.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25619.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25620.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25621.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25622.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25623.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25624.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25625.m4s"/>
<SegmentURL media="seg_The Charterhouse_English_FirstRender_25626.m4s"/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
</MPD>

Is it possible that the issues I'm coming up against could be because of the apache2 setup that I have? Everything should have good permissions however perhaps there is something else that I need to take into consideration with my config?

4

1 回答 1

0

通常出现 404 是因为客户端和服务器的 UTC 时间不匹配。但是,您的 MPD 是静态的,所以这应该不是问题。这些段应该始终可用。我建议您尝试使用不同的播放器(MP4Client 或 DASH.js)播放内容,以检查问题是来自播放器还是来自服务器。

于 2015-09-07T20:28:18.560 回答