-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
As discussed at the DASH-IF meeting in Berlin, a new reporting schema is proposed for publication so that the MPD contains the necessary information for a client to configure the three CMCD v2 modes (Request, Response, and Event mode).
From the feedback received, this new schema should consider:
- Define X amount CMCD v2 targets
- For all modes, filter keys to send
- For Request mode, filter by cdn (location)
- Work with CDNs that support v1
- For Event mode, filter events
- Support for Annex I for Response and Event mode (i.e. to send authentication tokens)
- Override capabilities of upper level definitions (version, content id and session id)
- If session id is not defined the client should create a random uuid4
- Configuration for batching intervals in Response and Event mode, for both, time and size.
- A way to do sub-sampling (a probability number or something similar for the client to decide if send or not data). For this we added a "sample" option sample=N, where N is an integer between 0 and 100 inclusive and represents the percentage probability that that target should be used for the playback session (sid). The default is 100 if this parameter is omitted. So sample=20 would mean that 20% of sessions would use that target. It could be implemented by the player if Math.random()*100 <= N.
Below is an example of what this element could look like, this is an early draft that almost capture all those items:
<ClientDataReporting
schemeIdUri="urn:dashif:cta-5004:2025">
<CMCDParameters
version=2
contentID="content-id-1"
sessionID="session-id-1" >
<!--TODO: Support Annex I for sid if not defined random uuid4()-->
<ReportingTargets>
<RequestTarget
version=1
serviceLocations="cdn-a"
mode="query"
keys="br sid cid"
requestFilter="mpd segment steering" />
<RequestTarget
serviceLocations="cdn-b"
mode="query"
keys="br sid cid"
requestFilter="mpd segment" />
<ResponseTarget
mode="json"
jsonBatchLimit="30 4"
contentID="content-id-override"
sessionID="session-id-override"
keys="sid ot rc msd cid"
url="http://content-steering.com/collector"
requestFilter="mpd segment" />
<EventTarget
url="http://user-analytics.com/cmcd-data-collector"
timeInterval=10
mode="header"
keys="sid e mds sta cid"
events="ps e t" />
<EventTarget
url="http://thirdparty.com/v2endpoint"
timeInterval=60
mode="json"
sample=20
jsonBatchLimit="30 4"
keys="sid bl cid"
events="t" >
<!--TODO:
- cmcd spec add considerations for large batching intervals
- batchLimit 2 params: size and time
- Update Annex I to new Dash 6th ed.
-->
<EssentialProperty schemeIdUri="urn:mpeg:dash:urlparam:2014">
<up:UrlQueryInfo xmlns:up="urn:mpeg:dash:schema:urlparam:2014"
queryTemplate="token=$query:tokencmcd$"
useMPDUrlQuery="true">
</up:UrlQueryInfo>
</EssentialProperty>
</EventTarget>
</ReportingTargets>
</CMCDParameters>
</ClientDataReporting>
Metadata
Metadata
Assignees
Labels
No labels