Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional Common Media Client Data (CMCD) support. #4324

Closed
wilaw opened this issue Sep 20, 2021 · 9 comments · Fixed by #4346
Closed

Additional Common Media Client Data (CMCD) support. #4324

wilaw opened this issue Sep 20, 2021 · 9 comments · Fixed by #4346

Comments

@wilaw
Copy link

wilaw commented Sep 20, 2021

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

CMCD is a spec developed by the Consumer Technology Association. It is free for use and download. CMCD is a new standard that allows player clients to exchange mutually beneficial data with the CDN to allow the CDN to improve delivery performance and the publisher to retrieve real-time data about the health of their player population. It uses the media requests as the vehicle for transmitting the data. A working implementation by dash.js is available, as well as hls.js (thanks to RealEyes). A presentation on CMCD is available.

Describe the solution you'd like

The request is for hls.js to enable CMCD as a core capability, with the following features:

  • Have CMCD be default off
  • Be able to activate it easily through single API call. This activation would turn on all available keys.
  • Be able to apply a separate filter list to explicitly enable certain keys. Only keys whitelisted by the filter would be sent.
  • Have an API method to enable setting the ContentID value and the RTP value, both as a fixed threshold and also as a multiple of encoded bitrate.
  • Custom keys - accepting both a key, value & target header arguments

Additional context

If you have questions or would like more information about which publishers are interested in deploying this and are gated by the lack of a player implementation, please don't hesitate to contact me.

Cheers
Will Law
Chair - CTA WAVE and CMCD Spec Editor

@wilaw wilaw added Feature proposal Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Sep 20, 2021
@littlespex
Copy link
Collaborator

littlespex commented Oct 6, 2021

I have a draft PR for this feature. There are a few open questions around where to find the necessary data to fulfill all the CMCD fields. Would it be possible to set up a meeting to discuss the questions raised in #4346?

@tjenkinson tjenkinson removed the Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. label Nov 7, 2021
@tjenkinson
Copy link
Member

Reopening given there are still some features that aren't implemented yet, and will come later.

@tjenkinson tjenkinson reopened this Nov 10, 2021
@robwalch robwalch modified the milestone: 1.1.0 Nov 10, 2021
@itsjamie
Copy link
Collaborator

@littlespex or @tjenkinson could you list what features from the above are not implemented in #4346 so if someone wants to implement it, they could more easily see on the issue?

@littlespex
Copy link
Collaborator

There are a few fields that haven't been implemented:

  • nor
  • nrr
  • rtp
  • dl

Additionally, there are some API level features that were not included:

  • Be able to apply a separate filter list to explicitly enable certain keys. Only keys whitelisted by the filter would be sent.
  • Custom keys - accepting both a key, value & target header arguments

@robwalch robwalch changed the title Implement Common Media Client Data (CMCD) support. Additional Common Media Client Data (CMCD) support. Jan 4, 2023
@littlespex
Copy link
Collaborator

Moving the remaining work to separate issues:

@littlespex
Copy link
Collaborator

@itsjamie @robwalch This issue can be closed.

@avelad
Copy link

avelad commented Jan 10, 2024

@littlespex The issue for dl would be missing, right?

@littlespex
Copy link
Collaborator

@avelad Thanks, I missed that one.

#6100

@robwalch robwalch added the CMCD label Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants