question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Add support for DASH patch manifests (<PatchLocation>)

See original GitHub issue

Have you read the FAQ and checked for duplicate open issues? Yes

Is your feature request related to a problem? Please describe.

Manifest updates can be expensive in some cases.

Describe the solution you’d like

DASH has now introduced <PatchLocation> and <Patch>, which give a way to update a small part of the existing manifest instead of re-parsing and merging every time.

Additional context

TODO: Get references to the spec on this (AMD.1, landing in 4th edition according to Hulu)

TOTO: Get sample content for this (should be coming soon to the DASH live sim, according to Hulu)

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:9 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
technogeek00commented, Dec 16, 2022

Chiming in to drop a link to the finalized text in the 5th edition which is freely available on ISO: https://standards.iso.org/ittf/PubliclyAvailableStandards/c083314_ISO_IEC 23009-1_2022(en).zip

I’d defer to Shaka team on the player semantics in the proposal, but left some comments on the path selection understanding as there are explicit path addressing restrictions that should simplify implementations and must be followed for a compliant implementation:

5.15.3.4 Element Addressing Restrictions The following element addressing restrictions apply for DASH MPD elements:

  • Elements with an @id attribute with uniqueness requirement among its siblings present shall only be identified by the value of this attribute. In particular, Period, AdaptationSet, Representation, and SubRepresentation shall be only addressed via their @id.
  • DescriptorType elements with an @schemeIdUri attribute shall be identified by the value of this attribute, for example SupplementalProperty.
  • S elements shall be addressed in one of the following ways:
    • @t or @n attribute of S elements if the said attribute is present in the S element.
    • by position.
  • All other elements shall be addressed by position, e.g. SegmentTemplate[1].

Examples:

/MPD/Period[@id="1"]/AdaptationSet[@id="1"]/SegmentTemplate[1]/SegmentTimeline[1]/S[@t="12345"]

/MPD/Period[@id="1"]/AdaptationSet[@id="1"]/SegmentTemplate[1]/SegmentTimeline[1]/S[42]@r

I’m happy to review a PR for standards compliance semantics when it is ready.

0reactions
dave-nicholascommented, Dec 21, 2022

@technogeek00 Thank you greatly for your input, we are in the process of trying to get an AdapatationSet@id added to our streams. I am in the currently creating a POC that I will present for review once ready.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Add support for DASH patch manifests (<PatchLocation>) #2228
DASH has now introduced <PatchLocation> and <Patch> , which give a way to update a small part of the existing manifest instead of...
Read more >
DASH Live Streaming at Scale
Basics of a Live Stream. • Live Streaming with DASH. • Optimizing for Scale. • MPD Patch Updates. • Dynamic Ad Replacement. •...
Read more >
DASH manifest options in AWS Elemental MediaPackage
This section describes the options that AWS Elemental MediaPackage offers for modifying live output DASH manifests. These options don't apply to video on ......
Read more >
Latest advances in the development of the open-source player ...
MPEG-DASH 5th Edition introduces MPD patching as a mech- anism to provide only mandatory MPD information to the client, minimizing bandwidth and parsing ......
Read more >
Session Overhead Reduction in Adaptive Streaming
Operational experience with large-scale, DASH-based linear programming resulted in a set of new manifest reduction tools that were consequently ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found