OTT and media streaming are constantly evolving, driven by the need for better Quality of Experience (QoE) and improved workflows. To take advantage of technology advancements, understanding and adopting the latest open standards is key. Here we’ll discuss three industry innovations that are poised to redefine how content is delivered and monitored: Common Media Client Data (CMCD), Common Media Server Data (CMSD), and Content Steering.
These technologies, in part developed by the WAVE (Web Application Video Ecosystem) arm of the Consumer Technology Association (CTA), enable sophisticated new OTT workflows that were previously only possible through proprietary solutions, offering an open foundation for building streaming platforms of the future.
Article topics
Common Media Client Data (CMCD)
CMCD is an increasingly crucial specification (CTA-5004) designed to standardize the flow of playback-related metadata from the client player to servers like content delivery networks (CDN) during video streaming sessions. A signal of this specification’s importance in the industry is underscored by its adoption by major companies like Apple.
Video streaming players hold a wealth of information, however, the CDN delivering the media segments is often “flying blind” and lacks this data to optimize delivery. The initial version 1 spec from 2020 provides a standard way to expose client-related playback metadata directly to a CDN to address this data gap. It essentially allows CDNs to make more informed decisions about how media is delivered.
How is this done? Well, your player already makes an HTTP request to the CDN asking for a file. This spec piggybacks on that by defining a few ways to send information with media segment requests including through a query parameter or a header. And then in the spec there’s a long list of key-value pairs that says what type of information is sent.
The upcoming version 2 spec enables extra data collection methods and metrics. As of January 2026 it’s in the final draft stage, so it’s expected to be released soon.
One of the most crucial components of CMCD is the session ID as a key point allowing traceability. This feature provides a specified, unique way to trace a player session from the client back through the CDN, and from there also into other components in your system. For example, you can use the same streaming session ID also for DRM sessions, correlating CDN media segment downloads and DRM license requests.
CMCD can also send a load of playback and network metrics including current player state, buffer health, recent network measurements, and startup time – just to name a few. These data points can lead to significant QoE improvements as well as cache, balancing, and preloading/pre-caching optimizations.
If you have a collection point ready to receive CMCD, then you just need a video player that’s compliant and data can then be sent out-of-the-box without proprietary implementations or development. Check out this project on GitHub that validates player implementations.
Our PRESTOplay video players already have support for CMCD built in to easily take advantage of its benefits!
Collection method: Request mode
Available since version 1, data is sent with the media segment request. Limitations here include that data is sent to the CDN only, plus you can’t measure network operations to determine the request duration. You send the data when you send the media request, so you lack visibility about how long the request itself took.

Collection method: Event mode
New in version 2 (pending spec finalization), you perform a media segment request with data independently sent to a collector on a periodical basis (e.g. every 30 seconds) making it possible to accurately measure network operations. This approach is similar to what QoE services do today via proprietary plugins – but now it’s spec standardized. You can also set multiple endpoints and data can be sent to arbitrary locations (not just a CDN).

CMCD metrics
Available in version 1
Encoded bitrate
Buffer length
Buffer starvation
Content ID
Object duration
Deadline
Measured throughput
Next object request
Next range request
Object type (e.g. manifest, audio, video)
Playback rate
Requested maximum throughput
Streaming format (e.g. MPEG DASH, HLS)
Session ID
Stream type (VOD, live)
Startup
Top bitrate
Version 2 additions (as of Jan 2026)
Aggregate encoded bitrate
Backgrounded
Buffer starvation duration
Custom event name
CMSD dynamic header
CMSD static header
Content signature
Dropped frames
Event
Player error code
Hostname
Lowest aggregated encoded bitrate
Lowest encoded bitrate
Live stream latency
Media start delay
Non rendered
Playhead bitrate
Playhead time
Response code
SMRT header
Sequence number
State
Top aggregated encoded bitrate
Target buffer length
Top playable bitrate
Timestamp
Time to first byte
Time to first body byte
Time to last byte
Request URL
Common Media Server Data (CMSD)
While CMCD focuses on data from the player, there’s a complementary CMSD spec (CTA-5006) released in 2022 that focuses on the rest of the content delivery architecture.
The goal here is to achieve a complete metadata trace from the entire content chain to open up delivery optimizations: from your encoder, to your packager, through your CDN, all the way to the end-user’s player. CMSD aims to close the gap between previously isolated systems which are currently not exposed to data from other essential components in your pipeline.
Here’s an example.
You have your origin server with CMSD now flowing all the way through different CDNs, through the internal CDN, all the way down to the player. We’ve already implemented a use case for this together with a packaging partner which is dynamic bandwidth limitation. CMSD has a field called max suggested bitrate (MB). It indicates anything upstream from that pipeline shouldn’t request more than a max bit rate. This is used to help with load balancing on the CDN. If they notice a certain PoP (point of presence) gets overloaded, they can inform the client players on that PoP to reduce the bit rate. That’s very powerful for strengthening service stability – and it’s by spec. This can work across multiple CDNs.

Another example is estimated throughput which is interesting for low latency measurements. This is often more accurately measured by the server as opposed to the client. Now you can send this all the way through the chain and down to the player.
Our PRESTOplay players also feature native integration to receive and handle CMSD!
CMSD metrics
CMSD utilizes simple, standardized key-value pairs, just like CMCD, but for the server side. Data is sent along the delivery chain attached as response headers.
Server
Intermediary ID
Duress
Network
Estimated throughput
Max suggested bitrate
Held time
Response delay
Round trip time
Segment
Availability time
Encoded bitrate
Startup
Object type
Stream type
Streaming format
Next object response
Next range response
Object duration
Content steering
Traditionally you have multiple CDNs where at the beginning of user sessions you commit to static decisions: this user gets CDN 1, that user gets CDN 2, and so on. So, what happens to a user if CDN 1 encounters a problem? Well, that user can have a poor QoE (buffering, lower image quality, errors). This rigidity is also a straight-up inefficient use of resources when network conditions change or specific delivery paths become congested/unavailable.
This is where content steering comes in. The idea is to introduce session-level traffic management that allows you to dynamically steer your clients to change paths, to change host names, and to direct them into different areas of your CDN architecture in case there’s an issue. Or, maybe you’re suspicious that a particular user looks like a pirate so you want to redirect them to an alternative delivery path where you have more security measures or monitoring in place.
Content steering exists as an independent service for both DASH and HLS streams outside of the core delivery infrastructure. Basically, your clients periodically ask a steering server “hey where should I go next for my media segments?” and the steering server might say “ok, for you, this time go to CDN 2″ – ensuring that individual players always use the best available CDN.
This can significantly improve the resilience and control of content delivery through real-time adjustments of current performance, load, or business logic.
The steering server location is simply specified in the HLS playlist or DASH MPD manifest. It uses standardized methods for both HLS (#EXT-X-CONTENT-STEERING), and also DASH (<ContentSteering>) via the ETSI TS 103 998 content steering spec. As of this writing Apple is in the process of conducting a request for comments (RFC) to unify this, creating a top-level element to make sure that you can use the same technology for both DASH and HLS.

A content-steering-only workflow. On top of this, data can also be sent back to the CDN. This is where CMCD comes in, which can then be aggregated and used by the content steering server to make decisions.
You can enable the client-side content steering component with our PRESTOplay players for both HLS and DASH video streams.
Synergy benefits
By standardizing and unifying critical data flows (CMCD/CMSD) and enabling dynamic session-level traffic management (content steering), these technologies can fundamentally advance the capabilities of video streaming services, making them more scalable, resilient, and efficient.
The bidirectional information exchange forms a continuous feedback loop for intelligent streaming, allowing both the player and CDN to adaptively respond to changing conditions. For example, a CDN could use CMCD-provided metrics to decide on bitrate limitations during deteriorated network conditions and communicate this decision back to the player using CMSD. Meanwhile, content steering ensures that such decisions are executed on the most suitable CDN, based on the latest available data.
Significantly enhance QoE
Enabling a responsive player that quickly adapts to changing network conditions and user interactions ultimately gives your customers a better viewing experience. For instance, by utilizing real-time insights with CMCD, the player can request changes in bitrate or suggest content prefetches based on current buffer health, which CMSD can confirm or adjust based on server-side capabilities. This dynamic interaction ensures smoother playback with fewer interruptions – a key factor in user retention and satisfaction.
Additional benefits can include:
- Server optimizations and smarter adaptive bitrate (ABR) decisions can provide more-consistent picture quality
- Startup latency can be reduced by smart video segment preloading
- Improved ABR decisions in low-latency streaming scenarios
Decrease operational costs
Content steering can use insights provided by CMCD and CMSD to optimize CDN usage which improves overall system efficiency. By intelligently routing traffic to the best-performing CDN, players can reduce the load on overburdened networks, decrease latency, and minimize buffering times. All of which contribute to more efficient use of bandwidth and network resources – ultimately lowering your operational costs. This can also reduce delivery chain energy consumption, helping you reach green goals.
It’s just spec-tacular! 🙂 (…..sorry, had to say it)
Try PRESTOplay for free
Get a PRESTOplay cross-platform player free trial to test how these industry standards can create clever playback decisions and help you remain competitive.
Recent updates
Alternative MPD events and SGAI now accessible with DASH
With the MPEG-DASH 6th edition now officially published as an ISO standard (ISO/IEC 23009-1), server-guided...
DRMtoday now supports studio-trusted DRM for IPTV multicast and hybrid PayTV
PayTV providers have traditionally budgeted conditional access system (CAS) costs as part of doing business,...
Company culture: How Castlabs people define it
There are many factors that influence a company’s work culture. At Castlabs we believe that...

