Telecom ParisTech has been generating a set of DASH sequences, and is making them available for DASH conformance testing.
Sequences Links
DASH Conformance (browsable directory, including the encoded source sequences and the bash script to regenerate the sequences)
ISOBMF Sequences
- live profile without bitstream switching support: Audio Video Audio+Video
- live profile with bitstream switching support: Audio Video Audio+Video
- live profile multiplexed audio+video with bitstream switching and without bitstream switching
- live profile with two audio codecs (@group attribute) without bitstream switching
- live profile with five periods without bitstream switching
- main profile, single file without bitstream switching support: Audio Video Audio+Video
- main profile, single file with bitstream switching support: Audio Video Audio+Video
- main profile, multiple files without bitstream switching support: Audio Video Audio+Video
- main profile, multiple files with bitstream switching support: Audio Video Audio+Video
- main profile, OpenGOP without bitstream switching support: Video Audio+Video
- main profile, OpenGOP with bitstream switching support: Video Audio+Video
- onDemand profile: Audio Video Audio+Video
- full profile, Gradual Decoding Refresh without bitstream switching support: Video Audio+Video
- full profile, Gradual Decoding Refresh with bitstream switching support: Video Audio+Video
MPEG-2 TS Sequences
- simple profile in a single file
- simple profile in multiple files with templates and without templates
Media Description
These sequences consist of a video object in various bitrates and resolutions, as well as an audio object in two different coding systems. All these files have been generated with open-source, freely available software. The sequences duration is 10 minutes.
Audio
The audio track consists of beeps. Beeps occur precisely at each second. Beeps are alternatively high tone (even seconds) or low tone (odd seconds).
The audio track is available as MP3 or AAC, 64kbps.
Video
The video track consists of an animated pattern showing:
- a circle becoming alternately white or grey every second
- a time counter and a frame counter
- information about the generation (frame rate, resolution, generation information)

The video track is a combination of:
- a codec: AVC/H264 only;
- available resolutions: 320×180, 640×360, 1280×720, 1920×1080
- several GOP profiles:
- baseline profile, closed GOP, RAP 1s
- regular 2B-pattern open GOP, RAP 1s
- GDR (Gradual Decoding Refresh) with an 8-picture refresh
- 2 bitrates for each of the above combinations
- SPS/PPS ids are unique for a given GOP profile, so as to avoid the switching issue caused by the use of same ids and are described in the table below
AVC Profile Resolution Bitrate (kbps) SPS ID Baseline 320×180 48 0 Baseline 320×180 128 1 Baseline 640×360 96 2 Baseline 640×360 192 3 Baseline 1280×720 192 4 Baseline 1280×720 512 5 Baseline 1920×1080 384 6 Baseline 1920×1080 512 7 OpenGOP 320×180 40 4 OpenGOP 320×180 112 5 OpenGOP 640×360 80 6 OpenGOP 640×360 160 7 OpenGOP 1280×720 160 8 OpenGOP 1280×720 448 9 OpenGOP 1920×1080 320 10 OpenGOP 1920×1080 640 11 GDR 320×180 64 8 GDR 320×180 160 9 GDR 640×360 128 10 GDR 640×360 224 11 GDR 1280×720 224 12 GDR 1280×720 576 13 GDR 1920×1080 448 14 GDR 1920×1080 896 15
ISO File Format Sequences
All DASH MPDs are generated with:
- 10s segments, beginning with RAP
- 1s “moof” fragments (which corresponds to the GOP size)
Each adaptation set (described below) are available in the following ways:
- Multiple segments:
- segment list conforming Main profile, except for GDR which complies with Full profile; MPD for these sequences are named XXX-files.mpd,
- segment URL Template conforming Live profile, except for GDR which complies with Full profile; MPD for these sequences are named XXX-url.mpd.
- One file:
- indexes (n “sidx”) conforming Main profile, except for GDR which complies with Full profile; MPD for these sequences are named XXX-indexes.mpd,
- single segment (1 “sidx”) conforming OnDemand profile, except for GDR which complies with Full profile; MPD for these sequences are named XXX-single.mpd.
Currently the following combinations are provided:
- 1 Adaptation Set, with alternate MP3 or AAC audio representations;
- 2 Adaptation Sets, one with alternate MP3 or AAC audio representations, the other with baseline AVC video;
- 1 Adaptation Set, with audio (AAC) and video (open-GOP), using 2 components. Each segment is made of 2 sub-segments indexed as:
- 1 primary “sidx” indexing both subsegments (“reference_type” 1);
- each subsegment has a secondary A/V “sidx” (“reference_type” 0) with 5 entries (one per “moof”).
- 1 Adaptation Set, with audio (AAC) and video (GDR with 8 frames roll recovery), using 2 components. Each segment is made of 5 sub-segments indexed with daisy chained SIDX; each SIDX contains two “reference_type 0″ subsegments (one per moof) and one “reference type 1″ subsegment pointing to the next SIDX (except for the last SIDX).
MPEG-2 TS Sequences
All DASH MPDs are generated with 10s segments, beginning with RAP. Only the baseline AVC|H264 profile is currently used.
Each adaptation set (described below) are available in the following ways:
- Multiple segments:
- segment list conforming Simple@TS profile; MPD for these sequences are named XXX-files.mpd,
- segment URL Template conforming Simple@TS profile; MPD for these sequences are named XXX-url.mpd.
- One file:
- single segment (1 “sidx”) conforming Simple@TS profile; MPD for these sequences are named XXX-single.mpd.
Uncovered DASH features
Not all features of DASH are tested with the current sequences. Especially, the sequences do not test:
- Subsets
- Segment Timeline
- Sub Representations and sub-segment indexing
- Metrics
- Bitstream Switching Segments (although bitstream switching is tested)
Sequences Generation
To generate these DASH sequences, several open-source software tools have been used (in the sequential order of stream generation):
- GPAC/MP4Box to process the BIFS visual data and export it to a raw video track in AVI,
- Audacity [1.3 Beta] to generate the raw audio track,
- x264 [0.118.2085 8a62835] for the AVC|H.264 encoding,
- faac [as included in ffmpeg build] for AAC encoding,
- LAME [as included in ffmpeg build] for MP3 encoding,
- GPAC/MP42TS [REV3926] for Transport Stream packaging,
- GPAC/MP4Box [REV3926] for ISOBMF packaging, MPD generation and DASH segmentation (TS and ISOFF).
For more info on DASH generation, see this post.

Pingback: Conformance DASH | Jean Le Feuvre @ Telecom ParisTech
Hi all.
There might be an issue with this file:
http://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/counter-10mn_I25_320x180_48kbps_baseline_av.ts
dataAlignment PES flag for video is always signaled, but data is not aligned.
Hope it helps (and hope I’m not wrong)
Luca.
Hi,
Looking at generated MP4 files, it seems that media and track durations are always set to 0: is it really what is expected by the standard (meaning that duration can only be retrieved from the MPD) ?
Yes this is the intended behavior since the tracks are empty. I’ll have to check what the DASH spec says exactly on that topic.
Hi,
I have a question about those sequences’ MPD file.
In 23009-1 5.3.9.1, it mentions “a Segment shall be referenced by an HTTP-URL included in the MPD, where an HTTP-URL is defined as an according to RFC 3986, Clause 4.3″. But those sequences’ MPD file seem using relative URL. Are those MPD incorrect or am I misunderstanding the meaning of ?
Thanks.
The spec is not very clear about the use of absolute/relative URL. Indeed, section 5.3.9.1 talks about absolute URLs but the intent is that once you have resolved relative URLs according to the base URL (see 5.6.4), the result is an HTTP absolute URL. So relative URLs are authorized, as indicated in Table 13 @sourceURL, Table 14 @media and @index. This should be clarified in a new version of the standard.
I can understand the relative URLs are authorized in @sourceURL, @media and @index, but those sequences’ base URL are also relative URL.
So it seems impossible to construct an absolute URL from the information inside the MPD.
Hi Chris,
Our reading of the spec is that the BaseURL elements accept URLs, including relative URLs. Then, according to 5.6.4, you walk up the tree an apply the resolution mechanism possibly using the document base URI, in which case, you are right, the information inside the MPD is not sufficient. But that’s on purpose, so that the sequences still work when you move them around (if you keep the relative location of segments/mpd).
Pingback: MPEG-DASH support in Google Chrome | GPAC
Hi all.
i just started using gpac, this is a very nice project.
I wanted to know:
1. I download the MPD file and try to watch the stream and i can see the folowing:
mp4-live-mpd-V-NBS.mpd Cannot open /home/ran/Desktop/mp4-live-mpd-V-NBS.mpd: Requested URL is not valid or cannot be found.
how can i watch the stream ?
2. Do you know if MP4BOX can encode a live camera and stream it to a DASH client ?
sorry for the “begginer class” question it is my first time with GPAC..
Thank You all
Dubin
1) The MPD on the web site do not contain any BaseURL element, i.e. the DASH segment location is solved based on the original MPD location. You should give the complete MPD URL to MP4Client, or modify the downloaded one to add a element pointing to the original MPD location.
2) No, MP4Box is not about transcoding – we’re planning to prototype such a thing some time in the near future. MP4Box can however be used to simulate a live DASH feed by continuously updating an MPD, using -dash-ctx option. However, this is still on-going work that needs to be cleaned up …
@Jean, complete MPD URL is not working
1st.I tried with http://dash.edgesuite.net/adobe/hdworld_dash/HDWorld.mpd with MP4Client but not working. giving error “Couldn’t set priority(2)” Thread MediaManager
you can find this link from following url
http://www.bogotobogo.com/VideoStreaming/mpeg_dash.php
how to play that video?
2nd. Is separate url is playable ? can we give direct media url mentioned in MPD attached with absolute URL on the place of MPD file name ?
i.e. http://dash.edgesuite.net/adobe/hdworld_dash/hdworld_seg_hdworld_0696kbps_ffmpeg.mp4.video_temp1.m4s
Thanks..
1- MPD does not signal segmentAlignment is true, and we don’t support such content. If you set the AdaptationSet@segmentAlignment to true, then current SVN plays this file nicely
2- no, m4s are not playable by themselves, check the specs
can you elaborate more “set the AdaptationSet@segmentAlignment to true”
How ?
for what it means, check the spec. For how to do it, you have to edit the MPD file to set the flag (and probably will need to add a somewhere to indicate the original media source URL
Does MP4Box can be used to convert real-time stream? (for example, TS is a real-time stream from front-end, and I want to real-time convert this ts), if MP4Box support this, How should I use ?
Under what circustmances choose to use ” -url-template”, “-single-segment” and “use none of them”?
I want to generate mpd file,but I don’t quite clearly how to choose among them?
Can you tell me more about SIDX box? How to use it? I can not quite understand sidx box concept.
MP4Box does not handle live streams for the time being.
You shouldn’t need to worry about -url-template or -single-segment and rather use the -dash-profile option which selects most of the required option according to the target profile
Jean
BS switching is meaningless in onDemand profile, why use this profile?
How many kinds profiles exist in MP4Box? live, onDemand, full, main, simple?
what’s the difference between main profile and full profile?
Once again, the DASH spec is public, read it
Hey to all
Can you please explain if Dash uses TCP or UDP ?
and if there are any problems using this protocols with dash ?
thanks
Currently DASH uses only HTTP (hence TCP). There are extensions to the specification under investigation at MPEG for other transport protocols, but nothing is defined yet.
The MPEG-2 TS profiles recommend that index segments be supplied.
Could you present (or point me to) an MPEG-2 TS example that demonstrates:
- Media presentation timeline with PTS discontinuities
- Example index segments .sidx files for each media segment including how to handle the PTS values in the 33-bit range (0×1 00 00 00 00 thru 0×1 FF FF FF FF)
It would be very nice to have direct contact information for follow-up queries.
Indeed, but we don’t have such media streams. It would be nice if you could tell us if you find some.
Q1: I want to know (@type=”dynamic”) dynamic MPDs are used for live services has been supported by MP4Client ?
Q2: And MP4Box does not handle (@type=”dynamic”) dynamic MPDs this time?
Q1: yes, MP4Client supports live services
Q2: this is still experimental and not really documented, but -dash-ctx switch can be used to simulate a live for a single representation
Q1:-dash-ctx dasher.cfg, this “dasher.cfg” file was not descripted in the mpd file。How to use this dasher.cfg?
Q2: MP4Client support this dasher.cfg? can use this dasher.cfg file to play the file?