Skip to content

DASH Sequences

Romain Bouqueau edited this page Mar 5, 2024 · 6 revisions

Warning

GPAC's wiki has moved to wiki.gpac.io.

This github wiki will no longer be updated.

You can contribute to GPAC's documentation here.

Telecom Paris has been generating a set of DASH sequences, and is making them available for DASH conformance testing.

These sequences are distributed under the terms of the Creative Common by-nc-nd Licence.

CCbyncnd

Sequences Links

DASH Conformance (browse directory, including the encoded source sequences and the bash script to regenerate the sequences)

ISOBMF Sequences

MPEG-2 TS Sequences

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: 320x180, 640x360, 1280x720, 1920x1080
  • 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 320x180 48 0
Baseline 320x180 128 1
Baseline 640x360 96 2
Baseline 640x360 192 3
Baseline 1280x720 192 4
Baseline 1280x720 512 5
Baseline 1920x1080 384 6
Baseline 1920x1080 512 7
OpenGOP 320x180 40 4
OpenGOP 320x180 112 5
OpenGOP 640x360 80 6
OpenGOP 640x360 160 7
OpenGOP 1280x720 160 8
OpenGOP 1280x720 448 9
OpenGOP 1920x1080 320 10
OpenGOP 1920x1080 640 11
GDR 320x180 64 8
GDR 320x180 160 9
GDR 640x360 128 10
GDR 640x360 224 11
GDR 1280x720 224 12
GDR 1280x720 576 13
GDR 1920x1080 448 14
GDR 1920x1080 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 ISOBMFF).

For more info on DASH generation, see DASH Support in MP4Box.

Clone this wiki locally