0
votes

I have an example of MPD file generated by Wowza. I'd like to find out what are URLs of media segments. The DASH specification is not easy to decipher.

The example is like this

-<Period start="PT0.0S" id="0">


-<AdaptationSet id="0" subsegmentStartsWithSAP="1" subsegmentAlignment="true" startWithSAP="1" segmentAlignment="true" frameRate="30" par="16:9" height="720" width="1280" mimeType="video/mp4">


-<SegmentTemplate initialization="chunk_ctvideo_cfm4s_rid$RepresentationID$_cinit_w998693597_mpd.m4s" media="chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w998693597_mpd.m4s" timescale="90000">


-<SegmentTimeline>

<S d="720000" t="35576570970"/>

<S d="720000"/>

<S d="1440000"/>

<S d="720000"/>

<S d="720000"/>

</SegmentTimeline>

</SegmentTemplate>

<Representation id="p0a0r0" bandwidth="296000" sar="1:1" codecs="avc1.4d401f"/>

</AdaptationSet>
1

1 Answers

1
votes

The format is in SegmentTemplate tag: initialization="chunk_ctvideo_cfm4s_rid$RepresentationID$_cinit_w998693597_mpd.m4s" media="chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w998693597_mpd.m4s" timescale="90000">

initialization="chunk_ctvideo_cfm4s_rid$RepresentationID$_cinit_w998693597_mpd.m4s" This tells you the template URL of initial segment. Replace $RepresentationID$ with "Representation id" (p0a0r0 in your example).

media="chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w998693597_mpd.m4s" This tells you the template URL of media segments. Replace $RepresentationID$ with "Representation id" as above, and replace $Time$ with a value computed from "SegmentTimeline" tag.

For example, say the url for mpd is http:///XXX/manifest.mpd

the url for initial segment is http:///XXX/chunk_ctvideo_cfm4s_ridp0a0r0_cinit_w998693597_mpd.m4s

and the url for a media segment can be http:///XXX/chunk_ctvideo_cfm4s_ridp0a0r0_cs35576570970_w998693597_mpd.m4s

If you want to get different media segments in a representation, you can use different $Time$ value in url.

Hope this helps.