CMCD Support at Bitmovin

Overview

Common Media Client Data (CMCD, CTA-5004) lets media players signal real-time playback state back to CDNs via HTTP headers or query parameters, so the delivery stack can make better caching, steering, and prefetch decisions.

Bitmovin's support for CMCD:

  • Bitmovin Player supports CMCD v1 as a delivery-side optimisation
  • Bitmovin Observability captures the same client-side signals (and more) as a dedicated telemetry product with pre-built data collectors for fast integration

The two are complementary - the Player can send CMCD keys for CDN optimisation and Observability helps you to understand and improve playback across devices.

CMCD with the Bitmovin Player

Player SDKCMCD v1 Support
Web
Android
iOS
RokuContact us

Enable CMCD when your CDN partner consumes it (eg. Akamai). Benefits include faster CDN error analysis via shared session and content IDs, smarter prefetch, and better steering under load. Even if your CDN doesn't consume CMCD, the same telemetry is captured by Observability regardless.

To enable CMCD with Bitmovin Player, please see this integration repo: Bitmovin Player - CMCD Integration

CMCD and Bitmovin’s Observability

CMCD and Bitmovin’s Observability are both client-side playback telemetry, and the data overlaps heavily. The standard CMCD keys map directly to dimensions which our collectors ingest.

The difference is in transport and consumer:

  • CMCD piggybacks on existing player requests, with the CDN as the consumer. Overhead is near zero, but any analytics use case has to reconstruct sessions from individual requests in the CDN logs after the fact.
  • Observability sends the same kind of state to an ingest endpoint in real time using our observability session model. This is then visualised through built-in dashboards, alerting, and AI-driven session analysis. Bitmovin’s Observability also aggregates player events over a time series, enabling analysis of trends, experiments and performance changes.

You don't need CMCD to use Observability, and you can run both in parallel. Observability also ships pre-built collectors for the most widely used video players (Bitmovin, AVPlayer, ExoPlayer, hls.js, Shaka, Video.js, Roku, and more), so data collection is straightforward whether or not you use the Bitmovin Player.

The table below maps each standard CMCD v1 key to the equivalent dimension captured by the Bitmovin Observability collector.

CMCD v1 keyDescriptionBitmovin Observability field
sidSession IDimpressionId
cidContent IDvideoId
brRequested bitrate (kbps)videoBitrate
tbTop bitrate available in the rendition setvideoBitrate (max value across the session)
blBuffer length (ms)buffered
mtpMeasured throughput (kbps)downloadSpeed
dObject duration (ms)segmentDownloadSize
otObject type (e.g. video, audio, manifest)streamFormat, audioCodec, videoCodec
sfStreaming format (HLS, DASH, MSS)streamFormat
stStream type (live or VOD)isLive
prPlayback rateCaptured via state machine (state, played, paused)
suStartup (set during startup)videoStartupTime, playerStartupTime, startupTime
bsBuffer starvationbuffered combined with state (rebuffering events)

Bitmovin’s Observability also captures many more additional fields (over 200 in total). Additional fields cover device and network context (deviceClass, deviceType, cdnProvider, isp, country), error data (errorCode, errorMessage, errorData, errorSeverity), QoE measurements (droppedFrames, scaleFactor, seeked), and advertising metrics through the dedicated ad fields. Additionally, each field is captured as a time series across the session, making it queryable for trends, percentiles, and alerting. If you solely use CMCD then you’ll need to piece together trends by combining values sent per-request.

Pairing Bitmovin’s Observability with Hydrolix for CDN log analytics

For teams that want to correlate both playback behaviour and what's happening at the CDN edge, Bitmovin and Hydrolix offer a joint solution that brings both perspectives together.

Hydrolix is a real-time log analytics platform built for ingesting and querying CDN log data at scale. Where Bitmovin Observability tells you when and how viewers are affected across every session, device, and region, Hydrolix CDN Insights tells you where in the delivery infrastructure an issue originated, covering cache hit ratios, edge node health, origin load, multi-CDN routing signals, and request latency by region.

Used together:

  • Viewer-side disruptions detected in Bitmovin’s Observability (buffering spikes, startup failures, ad delivery issues, regional QoE drops) can be traced directly to the CDN-side cause.
  • Operations teams move from detecting viewer impact to identifying the root cause in minutes rather than hours, working from a shared timeline instead of parallel investigations across siloed tools.
  • AI-driven workflows span the full delivery chain. Bitmovin's AI Assistant and Observability MCP Server surface playback insights through natural language, and Hydrolix's MCP integration does the same for CDN log data, so operators can query the entire stack conversationally.

This pairing is especially relevant for large-scale streaming ecosystems. Within Akamai environments, for example, TrafficPeak (an Akamai observability service powered by Hydrolix) brings CDN log analytics directly to Akamai's edge infrastructure, while Bitmovin's Player powers Akamai's AMP2 and Bitmovin's Observability captures the viewer experience, giving operators a complete view from the CDN edge to the viewer's screen.

For more detail, see the joint blog post: Unified Visibility Across Playback and Delivery

CMCD v2 and Bitmovin’s Observability

CMCD v2 extends the v1 model in two ways. First, it adds response-side data: where v1 is one-way (player to CDN), v2 closes the loop so the CDN can return data back to the player. Second, v2 can optionally decouple the data stream from the CDN. The telemetry can be sent to other destinations, in addition to the CDN.

For Bitmovin customers, our collectors capture a broader set of data, including the data represented by CMCD keys and also importantly ad performance, error context, device and network detail, engagement, and AI-driven session interpretation. Bitmovin’s Observability is also designed to be open and shareable. Data can be exported to your own storage or streamed live into downstream systems through the following destinations:

  • AWS S3 – role-based output to S3 buckets
  • Google Cloud Storage – service-account output to GCS buckets
  • Microsoft Azure Blob Storage – output to Azure storage containers
  • Google Pub/Sub – live export of session data for real-time downstream processing
  • CSV or Parquet Export - batch exports in csv or parquet data format

Full details are in the exporting your data documentation

This means customers get the depth of a purpose-built collector and the flexibility to move data wherever their wider data stack needs it, both today, and as CMCD v2 evolves.

CMCD v2 also introduces a set of new keys, mostly aimed at making the standard usable as a general analytics signal rather than purely a CDN optimisation one. Bitmovin Observability already covers all of these signals natively:

CMCD v2 keyDescriptionBitmovin Observability field
tsTimestamp of the eventtime, clientTime
ptPlayback time / current positionvideoTimeStart, videoTimeEnd
msdMedia start delay (time to first frame)videoStartupTime, startupTime
ePlayer error codeerrorCode, errorMessage, errorData, errorSeverity
pbPlayback state (playing, paused, seeking, buffering, etc.)state, played, paused, seeked, buffered
csContent signature / asset type (main, ad, etc.)ad, adId, adPosition, adSystem, plus the full ad fields schema
dfDropped framesdroppedFrames
ltcLive latencysegmentDownloadTime
bgBackgrounded sessionpageLoadType
staStreaming activity (foreground/background, casting)pageLoadType, isCasting
urlManifest URLm3u8Url, mpdUrl, progUrl

In addition to the data points above, Bitmovin Observability also collects important data for:

  • Advertising observability: full SSAI and CSAI lifecycle (impressions, quartiles, clicks, errors, beacon failures)

  • Device, network, and geographic context: deviceClass, deviceType, operatingsystem, browser, cdnProvider, isp, country, region, city

  • AI-driven analysis: the Observability Assistant and MCP Server let teams query and reason over the data conversationally and analyse data using AI models

  • Operational tooling: dashboards, alerting, segmentation, error classification, Playback Score, and AI Session Interpreter

  • Data portability: native exports to S3, GCS, Azure Blob, and Google Pub/Sub

The full set of data collected can be found here: Analytics API Fields