Dash.js: Help me! Convert mp4 file to mpd file.

Created on 5 May 2017  路  5Comments  路  Source: Dash-Industry-Forum/dash.js

I have a mp4 file, but really I don't know use the tool or any formula can produce a format such as MPD file like this. Thanks!
Link demo for Dashjs: http://rdmedia.bbc.co.uk/dash/ondemand/testcard/1/client_manifest-events.mpd

<?xml version="1.0" encoding="UTF-8"?>
<MPD type="static" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:dvb="urn:dvb:dash-extensions:2014-1" profiles="urn:dvb:dash:profile:dvb-dash:2014,urn:dvb:dash:profile:dvb-dash:isoff-ext-live:2014" minBufferTime="PT2.049S" maxSegmentDuration="PT3.84S" mediaPresentationDuration="PT1H0.040S">
    <!-- MPEG DASH ISO BMFF test stream -->
    <!-- BBC Research & Development -->
    <!-- For more information see http://rdmedia.bbc.co.uk -->
    <!-- Email [email protected] -->
    <!-- (c) British Broadcasting Corporation 2014.  All rights reserved.-->
    <ProgramInformation>
        <Title>Adaptive Bitrate Test Stream from BBC Research and Development</Title>
        <Source>BBC Research and Development</Source>
        <Copyright>British Broadcasting Corporation 2014</Copyright>
    </ProgramInformation>
    <BaseURL serviceLocation="A" dvb:priority="1" dvb:weight="1">http://rdmedia.bbc.co.uk/dash/ondemand/testcard/1/</BaseURL>
    <Period duration="PT1H0.040S" start="PT0S">
        <AdaptationSet startWithSAP="2" segmentAlignment="true" id="1" sar="1:1" mimeType="video/mp4" >
            <InbandEventStream schemeIdUri="tag:rdmedia.bbc.co.uk,2014:events/ballposition" value="1"/>
            <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
            <BaseURL>avc3-events/</BaseURL>
            <SegmentTemplate startNumber="1" timescale="1000" duration="3840" media="$RepresentationID$/$Number%06d$.m4s" initialization="$RepresentationID$/IS.mp4" />
            <Representation id="960x540p50" codecs="avc3.64001f" height="540" width="960" frameRate="50" scanType="progressive" bandwidth="2814440" />
            <Representation id="256x144p25" codecs="avc3.42c015" height="144" width="256" frameRate="25" scanType="progressive" bandwidth="158128" />
            <Representation id="704x396p50" codecs="avc3.64001f" height="396" width="704" frameRate="50" scanType="progressive" bandwidth="1572456" />
            <Representation id="1920x1080i25" codecs="avc3.640028" height="1080" width="1920" frameRate="25" scanType="interlaced" bandwidth="8060152" />
            <Representation id="512x288p25" codecs="avc3.4d4015" height="288" width="512" frameRate="25" scanType="progressive" bandwidth="440664" />
            <Representation id="640x360p25" codecs="avc3.42c01e" height="360" width="640" frameRate="25" scanType="progressive" bandwidth="166680" />
            <Representation id="384x216p25" codecs="avc3.42c015" height="216" width="384" frameRate="25" scanType="progressive" bandwidth="283320" />
            <Representation id="896x504p25" codecs="avc3.64001f" height="504" width="896" frameRate="25" scanType="progressive" bandwidth="1375216" />
            <Representation id="1280x720p50" codecs="avc3.640020" height="720" width="1280" frameRate="50" scanType="progressive" bandwidth="5072376" />
            <Representation id="704x396p25" codecs="avc3.4d401e" height="396" width="704" frameRate="25" scanType="progressive" bandwidth="834352" />
            <Representation id="192x108p25" codecs="avc3.42c015" height="108" width="192" frameRate="25" scanType="progressive" bandwidth="88648" />
            <Representation id="448x252p25" codecs="avc3.42c015" height="252" width="448" frameRate="25" scanType="progressive" bandwidth="437856" />
            <Representation id="192x108p6_25" codecs="avc3.42c015" height="108" width="192" frameRate="25/4" scanType="progressive" bandwidth="31368" />
        </AdaptationSet>
        <AdaptationSet startWithSAP="2" segmentAlignment="true" id="2" codecs="mp4a.40.5" audioSamplingRate="48000" lang="eng" mimeType="audio/mp4" >
            <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
            <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
            <BaseURL>audio/</BaseURL>
            <SegmentTemplate startNumber="1" timescale="1000" duration="3840" media="$RepresentationID$/$Number%06d$.m4s" initialization="$RepresentationID$/IS.mp4" />
            <Representation id="48kbps" bandwidth="48000" />
            <Representation id="96kbps" bandwidth="96000" />
        </AdaptationSet>
        <AdaptationSet startWithSAP="2" segmentAlignment="true" id="3" codecs="mp4a.40.2" audioSamplingRate="48000" lang="eng" mimeType="audio/mp4" >
            <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
            <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
            <BaseURL>audio/</BaseURL>
            <SegmentTemplate startNumber="1" timescale="1000" duration="3840" media="$RepresentationID$/$Number%06d$.m4s" initialization="$RepresentationID$/IS.mp4" />
            <Representation id="128kbps" bandwidth="128000" />
        </AdaptationSet>
        <AdaptationSet startWithSAP="2" segmentAlignment="true" id="5" codecs="mp4a.40.2" audioSamplingRate="48000" lang="eng" mimeType="audio/mp4" >
            <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="6"/>
            <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
            <BaseURL>audio/</BaseURL>
            <SegmentTemplate startNumber="1" timescale="1000" duration="3840" media="$RepresentationID$/$Number%06d$.m4s" initialization="$RepresentationID$/IS.mp4" />
            <Representation id="320kbps-5_1" bandwidth="320000" />
        </AdaptationSet>
    </Period>
    <Metrics metrics="DVBErrors">
        <Reporting schemeIdUri="urn:dvb:dash:reporting:2014" value="1" dvb:reportingUrl="http://rdmedia.bbc.co.uk/dash/errorreporting/reporterror.php" dvb:probability="50"/>
    </Metrics>
</MPD>

Most helpful comment

Open Source encoders packaged with FFmpeg and MP4Box DASH encoder can be used to generate DASH (test) content that covers a wide range of DASH features. A few resources on the web that document how to use these tools is gathered in the following (status May 2017):

"DASH Support in MP4Box" : https://gpac.wp.imt.fr/mp4box/dash/
"Radiant Media Player: Working with MP4Box" : https://www.radiantmediaplayer.com/guides/working-with-mp4box.html
"MPEG-DASH Content Generation with MP4Box and x264" : https://bitmovin.com/mp4box-dash-content-generation-x264/

All 5 comments

I have same problem! Hope someone will help solve this problem!

Hey guys ! i have a same issue ... Please help us !
Thank so much !

Open Source encoders packaged with FFmpeg and MP4Box DASH encoder can be used to generate DASH (test) content that covers a wide range of DASH features. A few resources on the web that document how to use these tools is gathered in the following (status May 2017):

"DASH Support in MP4Box" : https://gpac.wp.imt.fr/mp4box/dash/
"Radiant Media Player: Working with MP4Box" : https://www.radiantmediaplayer.com/guides/working-with-mp4box.html
"MPEG-DASH Content Generation with MP4Box and x264" : https://bitmovin.com/mp4box-dash-content-generation-x264/

I got it, Thanks!

The last tutorial helped me. Thanks for sharing

Was this page helpful?
0 / 5 - 0 ratings