Playback workflow (DASH)

Encoders should allow primary and backup paths to be entered in following way:

  • Backup playback path: dash/live/{streamID}-b/{eventname}/{object}

    Examples:

    • http://testconfig-i.akamaized.net/dash/live/500002-b/test79/dash.mpd
    • http://testconfig-i.akamaized.net/dash/live/500002-b/test79/dash/5000kbps-10.m4s
  • Primary playback path: dash/live/{streamID}/{eventname}/{object}

    Examples:

    • http://testconfig-i.akamaized.net/dash/live/500002/test79/dash.mpd
    • http://testconfig-i.akamaized.net/dash/live/500002/test79/dash/5000kbps-10.m4s
  • Base playback URL: {customerhostname}-i.akamaized.net

The above playback information will be embedded in the manifest mpd file as two BaseURLs, as shown in the following example:


<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="dynamic" minimumUpdatePeriod="PT30S" availabilityStartTime="2014-02-05T22:29:56" minBufferTime="PT12S" timeShiftBufferDepth="PT1M0S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
<BaseURL>http://test-i.akamaized.net/dash/live/500002/linearprogram1/
</BaseURL>
<BaseURL>http://test-i.akamaized.net/dash/live/500002-b/linearprogram/
<BaseURL>
<Period start="PT0S" duration="PT1M0.6S" id="1">
<AdaptationSe01t mimeType="video/mp4" codecs="avc1.42CE,mp4a.40.5" frameRate="15000/1001" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentstartWithSAP="1" bitstreamSwitching="true">
<ContentComponent contentType="video" id="1"/>
<SegmentTemplate timescale="90000" duration="540000"
startNumber="74247"/>
<Representation id="1" width="640" height="360"
bandwidth="600000">
<SubRepresentation contentComponent="1" bandwidth="600000"
codecs="avc1.42C01E"/>
<SegmentTemplate duration="540000" startNumber="74247"
media="dash_video600-$Number$.mp4
initialization="dash_video600-.init"/>
</Representation>
<Representation id="2" width="320" height="180"
bandwidth="200000">
<SubRepresentation contentComponent="1" bandwidth="200000"
codecs="avc1.42C01E"/>
<SegmentTemplate duration="540000" startNumber="74248"
media="dash_video200-$Number$.mp4"
initialization="dash_video200-.init"/>
</Representation>
</AdaptationSet>
</Period>
</MPD>

If the player detects a 404 error on a segment request, it switches to an alternate stream and vice versa.