Search code examples
mpeg-dash

Can you have an MPEG Dash File Pointing To Other MPEG Dash Files?


I'd like to assemble an mpeg dash playlist where I splice together multiple MPEG-Dash URLS to form a single cohesive movie.

MPEG-Dash URL 1 Start @00:10 End @00:30
MPEG-Dash URL 2 Start @01:00 End @05:00
MPEG-Dash URL 3 Play Whole File

Is this possible without breaking open all the files and creating a bunch of different periods with the individual AdaptionSet/SegmentTemplates/Timelines copied from the child streams? My worry is if I open up every file individually and one of the child streams is re-formatted everything will break.

This post mentions someone doing a dash-cast, but I'm trying to keep it in (static) MPD format since we have a player that already supports that.

Is this perhaps what SegmentURL is for?


Solution

  • The DASH specification supports the XML Linking Language (XLink), so you can include references to remote content such as a Period element.

    Here is an example, from a DASH test file:

    <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT1.5S" type="static" mediaPresentationDuration="PT1M12S">
    <Period xlink:href="https://se-mashup.fokus.fraunhofer.de/dashjs/period_timescapes" xlink:actuate="onLoad"></Period>
    </MPD>