You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implementing this with ExoPlayer is currently difficult as the necessary information needs to be available on the playback thread at the point where the request is generated. This issue is tracking two things:
Making sure the necessary hooks are available to forward all required information to the chunk sources that generate the requests.
Starz has also been looking into CMCD for our apps. Having support in ExoPlayer would give us a much stronger business case for taking it up internally.
It would be great to see this added to an upcoming release.
At AWS we see more and more customers asking us to support CMCD at the CDN level, as this is a key enabler for content steering (aka multi-CDN switching) and QoE improvements in general. We cannot do that without the cooperation of the player ecosystem, and that's where ExoPlayer footprint becomes decisive. Thanks in advance for adding CMCD support to a future release!
Vimeo has been activly working with CMCD data in our web playback systems and would love to see support in our mobile application video players as well. +1 to this request!
I would like to make comments with my two different hats:
First with my academic hat, we published two papers already showing the benefits of CMCD (and CMSD) in two different ACM conferences. There is also a paper published in the IEEE Communications Magazine. These are getting pretty good traction as many researchers in the field believe that CMCD/CMSD will bring us much anticipated capabilities. Expect more studies/papers on this topic. See some examples at: https://ali.begen.net/current.php
With my Comcast hat, we expect to roll out CMCD support on the RDK client (which runs millions of settops not just for Comcast but for all syndication partners including all major cable operators in North America).
From FOX, we are interesting in seeing CMCD support in ExoPlayer as we believe this will be a key feature for monitoring QoE and for steering QoE improvements. We're actively engaged on enabling CMCD across other platforms in our ecosystem, would love to get an update on when ExoPlayer would offer support.
We are looking for integrating CMCD into our playback platforms. We are very pleased that Shaka Player, Dash.js, and Roku players already have rolled out CMCD support.
Currently, I’m not aware of any good way of narrowing down Rebuffering cases without correlating Playback session to CDN logs/state.
CMCD support on ExoPlayer is highly appreciated. Since ExoPlayert is the most Player Engine in the Android ecosystem.
From Paramount Streaming's perspective, we are also very interested in seeing CMCD implemented for Exo.
We have full support for this across all web. Our team at Paramount has implemented the CMCD spec in HLS.js and Google Shaka Player. There is also an implementation in Dash.js. So, the most popular open source projects for web have it this feature in prod today. It would be nice to have cross platform support for CMCD. Let us know if you are looking for contributors for this feature.
+1 from Paramount's perspective, our goal is to offer a standardized data set for operations teams to troubleshoot playback issues. A subset of our players now have the rich CMCD data set which makes debugging last-mile and CDN issues more timely and enables us to get to root cause faster. It would be great if this data was provided across our native player platform stack as well.
Thank you for your patience. We have added CMCD support in ExoPlayer. Please see the doc on how to enable CMCD.
Timeline of changes made:
Release 1.1.0: Added support to enable CMCD with fields bitrate (br), buffer length (bl), content ID (cid), requested maximum throughput (rtp), and session ID (sid).
Release 1.1.1: Added additional fields: streaming format (sf), stream type (st), version (v), top birate (tb), object duration (d), measured throughput (mtp) and object type (ot)
Upcoming Release 1.2.0(available in main branch): Remaining fields added: buffer starvation (bs), deadline (dl), playback rate (pr), startup (su), next object request (nor) and next range request (nrr). Also added functionality to transmit CMCD data using query parameters.
We look forward to your feedback. Have a nice weekend!
Reacted by Will Law, christosts, Big Buck Beka, Leo Antunes, yreznik-brightcove and akhilesh-dubey
For those wanting to experiment without building from the main branch, 1.2.0-alpha01 is also already available, and contains support for buffer starvation (bs), deadline (dl), playback rate (pr) and startup (su). The remaining keys mentioned above will be available in the next 1.2.0 pre-release.
Reacted by Rohit Kumar Singh, Big Buck Beka, Nils Juenemann and Shubham Vashisht
Activity
wilaw commentedon Mar 10, 2021
Request around opt-in API structure and API methods:
beka-discovery commentedon Jan 20, 2022
Any updates on CMCD support?
pankaj-giter commentedon May 24, 2022
From Disney Streaming, we are interested to see this support in Exo Player given the performance and other benefits we will see.
Any updates on the timeline for supporting CMCD will be great.
sdaub commentedon May 24, 2022
Starz has also been looking into CMCD for our apps. Having support in ExoPlayer would give us a much stronger business case for taking it up internally.
It would be great to see this added to an upcoming release.
nicoweil commentedon May 24, 2022
At AWS we see more and more customers asking us to support CMCD at the CDN level, as this is a key enabler for content steering (aka multi-CDN switching) and QoE improvements in general. We cannot do that without the cooperation of the player ecosystem, and that's where ExoPlayer footprint becomes decisive. Thanks in advance for adding CMCD support to a future release!
fisherinnovation commentedon May 25, 2022
Vimeo has been activly working with CMCD data in our web playback systems and would love to see support in our mobile application video players as well. +1 to this request!
tonihei commentedon May 25, 2022
This is still on our agenda and thanks for reiterating your interest. We'll post updates here once we have the implementation ready.
acbegen commentedon May 25, 2022
I would like to make comments with my two different hats:
mayursfox commentedon May 25, 2022
From FOX, we are interesting in seeing CMCD support in ExoPlayer as we believe this will be a key feature for monitoring QoE and for steering QoE improvements. We're actively engaged on enabling CMCD across other platforms in our ecosystem, would love to get an update on when ExoPlayer would offer support.
beka-discovery commentedon May 25, 2022
Warner Bros Discovery.
We are looking for integrating CMCD into our playback platforms. We are very pleased that Shaka Player, Dash.js, and Roku players already have rolled out CMCD support.
Currently, I’m not aware of any good way of narrowing down Rebuffering cases without correlating Playback session to CDN logs/state.
CMCD support on ExoPlayer is highly appreciated. Since ExoPlayert is the most Player Engine in the Android ecosystem.
dsparacio commentedon May 25, 2022
From Paramount Streaming's perspective, we are also very interested in seeing CMCD implemented for Exo.
We have full support for this across all web. Our team at Paramount has implemented the CMCD spec in HLS.js and Google Shaka Player. There is also an implementation in Dash.js. So, the most popular open source projects for web have it this feature in prod today. It would be nice to have cross platform support for CMCD. Let us know if you are looking for contributors for this feature.
haudiobe commentedon May 25, 2022
Broad support for CMCD is important. If Exoplayer adds CMCD; it will stay important - we are supportive of this feature.
seanmccarthy1992 commentedon May 31, 2022
+1 from Paramount's perspective, our goal is to offer a standardized data set for operations teams to troubleshoot playback issues. A subset of our players now have the rich CMCD data set which makes debugging last-mile and CDN issues more timely and enables us to get to root cause faster. It would be great if this data was provided across our native player platform stack as well.
10 remaining items
Add CMCD logging when requesting initialization chunk for DASH and HLS
Refactor method `CmcdLog.createInstance` to accept `bufferedDurationUs`
Add CMCD logging when requesting initialization chunk for DASH and HLS
Refactor method `CmcdLog.createInstance` to accept `bufferedDurationUs`
Add CMCD logging when requesting initialization chunk for DASH and HLS
Refactor method `CmcdLog.createInstance` to accept `bufferedDurationUs`
Add CMCD logging when requesting initialization chunk for DASH and HLS
Refactor method `CmcdLog.createInstance` to accept `bufferedDurationUs`
rohitjoins commentedon Sep 8, 2023
Hi Everyone,
Thank you for your patience. We have added CMCD support in ExoPlayer. Please see the doc on how to enable CMCD.
Timeline of changes made:
br), buffer length (bl), content ID (cid), requested maximum throughput (rtp), and session ID (sid).sf), stream type (st), version (v), top birate (tb), object duration (d), measured throughput (mtp) and object type (ot)bs), deadline (dl), playback rate (pr), startup (su), next object request (nor) and next range request (nrr). Also added functionality to transmit CMCD data using query parameters.We look forward to your feedback. Have a nice weekend!
icbaker commentedon Sep 8, 2023
For those wanting to experiment without building from the
mainbranch, 1.2.0-alpha01 is also already available, and contains support for buffer starvation (bs), deadline (dl), playback rate (pr) and startup (su). The remaining keys mentioned above will be available in the next 1.2.0 pre-release.rohitjoins commentedon Nov 20, 2023
1.2.0 has been released, incorporating support for CMCD including all fields. Kindly share your feedback regarding this integration.