cta-wave / dash-hls

For work on the DASH-HLS Interoperability specification
10 stars 0 forks source link

Externalized Personalization Parameters #48

Open technogeek00 opened 5 months ago

technogeek00 commented 5 months ago

Use Case Description

Content providers desire for players to make personalized / individualized requests while providing cacheable manifest responses.

Working Notes

Open Questions

technogeek00 commented 5 months ago

Overall questionaire score: 8

Question Answer
Does the feature relate to an industry streaming use-case? Yes, Stream Personalization / Tokenization
- What is the commonality of this case? Very Common
- Is this an established or emerging practice? Emerging
Does this feature have related mechanisms in both DASH and HLS? Yes
- What is the maturity of support in both specifications? HLS - Mature , DASH - Mature
- What is the maturity of implementation support for both specifications? HLS - Immature, DASH - Immature
- Are there known interoperability issues between specs? Yes, HLS only provides query arg alignment
- Has anyone implemented this interoperably? Yes
- Are there features missing in a specification with open proposals for it? No
Has the industry defined defacto mechanisms not present in both DASH and/or HLS? No
- Why was functionality defined outside of the main specifications? N/A
- Has the functionality been standardized elsewhere (DASH-IF, CTA, SVA)? N/A
- Is the functionality proprietary or openly developed? N/A
- Could the functionality be incorporated into specifications with evangelism? N/A
technogeek00 commented 3 weeks ago

Research Note Summary 2024/08/14

This comment summarizes information for this work prior to formal specification drafting

HLS

Attribute Required Description
NAME No The name of the variable being defined by the tag.
VALUE When NAME exists The explicit value to set the variable to.
IMPORT No The name of the variable definition in the parent Multivariant to import. Not allowed in multivariants, variable name is inherited to this variant.
QUERYPARAM No The name of the query parameter the variable value is sourced from. Variable name is equal to query parameter name.

DASH

Attribute Required / Default Description
@queryTemplate No Defines a query template containing one or more template identifiers
@useMPDUrlQuery No, default false Whether or not the query string of the MPD URL should be used for query reference. When ture and @queryString are present, they are concatenated together
@queryString No A base query string to use for query reference
@includeInRequests No, default segment The requests to include parameters on. White space separated list of potential values: segment, xlink, mpd, callback, chaining, fallback
@headerParamSource No, default segment HTTP responses where header templates should source values from. White space separated list of potential values: segment, xlink, mpd, callback
@sameOriginOnly No, default false Restricts parameters to only the origins they were received from.
Identifier Meaning
$$ Escape sequence for utilizing the value $ in a query template
$querypart$ Identifier replaced by the full query part of the initialQueryString, cannot be used with other identifiers
$query:<param>$ Identifier replaced by the value of the <param> parameter in the initialQueryString. Empty string if that parameter does not exist.
$header:<header-name>$ Identifier replaced by the latest received value of the <header-name> HTTP header in the indicated @headerParamSources

Open Questions