Skip to main content

Cmcd old self service rule

29.8 Demo - said we decided to enable it by default, so there will no longer be a toggle button in the UI. If the input includes headers that trigger CMCD, then they will. But Noam P. says they might want to have control to disable it. The headers in the request may not necessarily be coming from the CP.

Overview

You can use the Common Media Client Data (CMCD) feature to enrich your data with performance metrics from the Qwilt Media Delivery Log (MDL) files.

When you enable CMCD, the following headers are automatically allowed:

  • Access-Control-Allow-Headers: CMCD-Request, CMCD-Object, CMCD-Status, CMCD-Session
  • Access-Control-Allow-Methods: GET

The CDN extracts the Session ID (SID) from the CMCD data received from the client and pushes it to the MDL. This allows you to link the MDL data to the player performance data for enhanced analytics.

This rule can be set at the host level only.

:::(Info) (Note:)
CMCD can be sent with a custom HTTP request header or as an HTTP query argument. If both are enabled, the CDN processes only the HTTP headers.
:::

Configure the Rule

Here, we'll describe how to configure the rule with the Delivery Service Management UI.

API Users may choose to build the site configuration offline.

To enable CMCD:
1. Navigate to the Select Rule dialog.
2. In the Select Rule dialog, choose CMCD.
3. Toggle On Enable CMCD.
CMCDRule80.png

  1. Choose Add Rule.

:::(Info) (Note:)
When you enable CMCD, support for the CMCD CORS headers is implicitly configured but not visible in the JSON format.
:::

SVTA Component: QW.CmcdHandling

When you save the configuration version, the QW.CmcdHandling component is added to the JSON configuration.

This is a private feature developed by Qwilt. In the JSON format, private features are nested within the MI.PrivateFeaturesList object, in the "generic-metadata-value" "features" field.

In this example, note that the "enable" attribute value is true.

{
    "generic-metadata-type": "MI.PrivateFeatureList",
    "generic-metadata-value": {
        "features": [                                   
            {
                "feature-oid": "Qwilt",
                "feature-type": "QW.CmcdHandling",
                "feature-value": {
                    "enable": true
                }
            }
        ]
    }
},

Learn more about the CMCD specification.{target=_blank}

Learn how to access the Qwilt Media Delivery Log (MDL) files.

Miscellaneous stuff:
In the future -- range requests will be supported, more complex logging.

NOR header provides advanced info to the CDN about upcoming requests, enabling the CDN to pre-fetch resources, optimize cache hits, improve load balancing, enhance predicitive analytics.

In adaptive bitrate (ABR) streaming, a player might request segments sequentially. If the server knows which segment the client will need next, it can pre-load or cache that resource to ensure smoother playback.

For example:
Current request: /segment123.ts
nor value: /segment124.ts
The server can pre-cache or pre-fetch /segment124.ts while delivering /segment123.ts.

From the MDL doc: CmcdSid String 6e2fb550—c457—11e9—bb97—0800200c9a66 Common Media Client Data (CMCD) Session ID.