I'm trying to play a dash mpd file with dash.js.I used axinom tutorial for guidance which suggested the command below for generating the mpd file.
mkdir dash_unprotected
MP4Box -dash 4000 -rap -frag-rap -sample-groups-traf -profile dashavc264:live
-bs-switching no -segment-name dash_$RepresentationID$_$Number$ -url-template
video-700k.mp4 video-1000k.mp4 video-1500k.mp4 video-2000k.mp4 audio.mp4 -out
"dash_unprotected/manifest.mpd"
The resulting mpd file
<?xml version="1.0"?>
<!-- MPD file Generated with GPAC version 0.5.1-DEV-rev5619 on 2017-06-29T06:08:26Z-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500000S" type="static" mediaPresentationDuration="PT0H1M55.01S" profiles="urn:mpeg:dash:profile:isoff-live:2011, http://dashif.org/guildelines/dash264">
<ProgramInformation moreInformationURL="http://gpac.sourceforge.net">
<Title>dash_unprotected/manifest.mpd generated by GPAC</Title>
</ProgramInformation>
<Period duration="PT0H1M55.01S">
<AdaptationSet segmentAlignment="true" maxWidth="316" maxHeight="576" maxFrameRate="30" par="316:576" lang="und">
<SegmentTemplate timescale="15360" media="dash_dash_unprotected$$Number$.m4s" startNumber="1" duration="49009" initialization="dash_dash_unprotected$init.mp4"/>
<Representation id="1" mimeType="video/mp4" codecs="avc1.64002a" width="158" height="288" frameRate="30" sar="396:395" startWithSAP="1" bandwidth="699969">
</Representation>
<Representation id="2" mimeType="video/mp4" codecs="avc1.64002a" width="198" height="360" frameRate="30" sar="1:1" startWithSAP="1" bandwidth="996926">
</Representation>
<Representation id="3" mimeType="video/mp4" codecs="avc1.64002a" width="264" height="480" frameRate="30" sar="1:1" startWithSAP="1" bandwidth="1496279">
</Representation>
<Representation id="4" mimeType="video/mp4" codecs="avc1.64002a" width="316" height="576" frameRate="30" sar="396:395" startWithSAP="1" bandwidth="1993448">
</Representation>
</AdaptationSet>
<AdaptationSet segmentAlignment="true" lang="und">
<SegmentTemplate timescale="44100" media="dash_dash_unprotected$$Number$.m4s" startNumber="1" duration="174856" initialization="dash_dash_unprotected$init.mp4"/>
<Representation id="5" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" startWithSAP="1" bandwidth="97798">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
</Representation>
</AdaptationSet>
</Period>
</MPD>
I then try to play it in dash.js using the JavaScript code below
var url = "drm/dash_unprotected/manifest.mpd";
var player = dashjs.MediaPlayer().create();
$(function() {
player.initialize(document.querySelector("#videoPlayer"),null, true);
player.attachVideoContainer(document.getElementById("videoContainer"));
$('#playButton').click(function() {
player.attachSource(url);
});
});
But dash.js throws an error
[42585] Video Element Error: MEDIA_ERR_SRC_NOT_SUPPORTED (CHUNK_DEMUXER_ERROR_APPEND_FAILED: audio object type 0x40 does not match what is specified in the mimetype.)
dash.all.debug.js:14793 [42586] [object MediaError]
dash.all.debug.js:14793 [42588] Schedule controller stopping for video
dash.all.debug.js:14793 [42589] Schedule controller stopping for audio
dash.all.debug.js:14793 [42591] Caught pending play exception - continuing (NotSupportedError: Failed to load because no supported source was found.)
How can i solve this error? I'm new to dash.js and mpeg-dash staff