Home Blogs CMCD (Common Media Client Data) per lo streaming
Applications

CMCD (Common Media Client Data) per lo streaming

About The Author

Outline

Il team Data Science di Edgio continua a innovare il nostro motore di raccolta dati EdgeQuery, che fa parte della nostra rete per la distribuzione dei contenuti (CDN). EdgeQuery raccoglie i dati quasi in tempo reale dagli edge server per fornire informazioni utili ai nostri clienti. La loro ultima innovazione sta aggiungendo il supporto per Common Media Client Data (CMCD) alla piattaforma CDN di Edgio. Un requisito per una CDN di successo è quello di basarsi su un’architettura di rete intelligente, scalata a livello globale, altamente performante, proprio come quella di Edgio Se possiedi l’architettura end-to-end della tua piattaforma di streaming, allora è già possibile avere visibilità “CMCD like” nella registrazione dei dati tra il tuo lettore e la tua CDN. Per tutti gli altri, CMCD colma questo vuoto di informazioni offrendo ai provider di streaming piena visibilità dei dati scambiati tra il lettore e la CDN. Ci sono anche dei vantaggi per le CDN. Le reti hanno una maggiore visibilità dai dati CMCD, consentendoci di essere più proattivi che mai. In breve, l’utilizzo di CMCD è destinato a rivoluzionare la distribuzione per le piattaforme di streaming ed è solo alla sua prima versione.
Multi-CDN High Level Architecture with CMCD

Architettura multi-CDN di alto livello con CMCD

Che cos’è il CMCD?

Common Media Client Data (CMCD) si riferisce alla specifica aperta CTA-5004 rilasciata nel 2020. Che cos’è una specifica aperta? La specifica aperta si riferisce a una serie di requisiti e standard documentati pubblicamente disponibili per chiunque. Il titolo principale è che la specifica CMCD Open definisce il modo in cui i lettori multimediali (noti come client) generano dati in streaming video e li condividono con le CDN per ogni richiesta multimediale. Prima che questa specifica venisse definita, era il selvaggio West per quanto riguarda il modo in cui i dati del cliente venivano inviati, ricevuti ed elaborati con le CDN. Il CMCD al suo centro è solo un insieme di chiavi con dati preziosi. Utilizzando il CTA-5004, ho riepilogato questi tasti e aggiunto informazioni per creare un utile riepilogo.
Descrizione Chiave Definizione *Uso
Bitrate codificato br Bitrate codificato dell'oggetto audio o video richiesto. Mostra il bitrate effettivo erogato e può essere utilizzato da CDN per dedurre le dimensioni dell'oggetto.
Lunghezza buffer bl Lunghezza buffer giocatore al momento della richiesta. Può essere utilizzato da CDN per dedurre lo stato della riproduzione.
Esaurimento del buffer bs Evento di esaurimento del buffer. Indica il ribuffer/stallo durante la riproduzione. La percentuale di rebuffer viene calcolata come numero totale di sessioni rispetto alle sessioni con almeno un evento di rebuffer in un determinato periodo di tempo.
ID contenuto cid Stringa univoca che identifica il contenuto corrente. Utile per rintracciare contenuti problematici, ma raramente viene utilizzato dai giocatori.
Durata oggetto d Durata della riproduzione in millisecondi dell'oggetto richiesto. Se aggregato, può essere utilizzato come stima delle ore osservate.
Può essere utilizzato per determinare se il contenuto si trova in un'interruzione pubblicitaria e il tipo di video che viene guardato.
Può essere utilizzato per determinare la dimensione del frammento.
Scadenza dl Per non creare problemi di riproduzione o problemi di sottoesecuzione del buffer, è necessario che sia disponibile la scadenza dall'ora della richiesta fino al primo campione di questo segmento/oggetto
Misurare la produttività mtp Throughput tra il client e il server, misurato dal client. Larghezza di banda di throughput stimata tra CDN e lettore. Utile per il confronto tra CDN e metriche esterne.
Richiesta oggetto successiva e nemmeno Percorso relativo dell'oggetto successivo da richiedere. Utilizzato per il precaricamento.
Richiesta intervallo successivo nrr Se la richiesta successiva sarà una richiesta di oggetto parziale, questa stringa denota l'intervallo di byte da richiedere. Se il campo «NOR» non è impostato, si presume che l'oggetto corrisponda all'oggetto attualmente richiesto. Utilizzato per il precaricamento.
Tipo di oggetto ot Tipo di supporto dell'oggetto corrente richiesto:
m = file di testo, ad esempio un manifesto o o una playlist
a = solo audio
v = solo video
av = audio e video muxed
i = segmento iniziale
c = didascalia o sottotitolo
tt = traccia di testo temporizzata ISOBMFF
k = chiave crittografica, licenza o certificato.
= altro
Se il tipo di oggetto richiesto non è noto, questa chiave NON DEVE essere utilizzata.
Utilizzato per la risoluzione dei problemi. Può essere utilizzato per determinare i problemi di codifica e DRM. "I provider DRM hanno una visibilità limitata su quali versioni/browser sono attualmente utilizzati/supportati e quindi "k" è molto utile."
"c" può essere utilizzato per segnalare potenziali problemi di conformità.
Velocità di riproduzione pr 1 per real-time, 2 per double speed, 0 per non giocare. DEVE essere inviato solo se non è uguale a 1. Può essere utilizzato per dedurre se il lettore sta regolando la velocità di riproduzione per compensare altri problemi (come l'origine o la CDN non riesce a consegnare i segmenti abbastanza velocemente).
Throughput massimo richiesto rtp Throughput massimo richiesto che il client considera sufficiente per la consegna dell'asset.

***Throughput si riferisce alla quantità di dati trasmessi.
Ti dirà le prestazioni del lettore e della CDN. Questo può essere utilizzato per una gestione dei dati più efficiente e, di fatto, per risparmiare risorse.
Ciò può favorire i clienti impedendo la saturazione del buffer attraverso la consegna eccessiva e può anche offrire un vantaggio alla comunità attraverso la distribuzione di quote eque. Il concetto è che ogni client riceve il throughput necessario per ottenere prestazioni elevate, ma non più.
Formato streaming sf d = TRATTINO MPEG
h = HTTP Live streaming (HLS)
S = streaming fluido
o = altro
Aiuta a determinare i problemi relativi allo streaming per i giocatori che supportano DASH/HLS. È in grado di confrontare le prestazioni in base al formato di streaming per i lettori con supporto multiformato.
ID sessione sid GUID che identifica la sessione di riproduzione corrente. Una sessione di riproduzione in genere collega segmenti appartenenti a una singola risorsa multimediale. La lunghezza massima è di 64 caratteri. SI CONSIGLIA di conformarsi alle specifiche UUID. Si consiglia sempre di includere questo tasto nella registrazione CMCD. È probabilmente la chiave più utile in quanto viene utilizzata per allineare i log.
Può essere utile per la risoluzione dei problemi di memorizzazione nella cache. Lo stesso ID contenuto con due ID sessione indica fortemente un problema di memorizzazione nella cache.
Tipo di flusso st v = sono disponibili tutti i segmenti, ad esempio VOD
l = i segmenti diventano disponibili nel tempo, ad esempio DAL VIVO
Chiave preziosa per la risoluzione dei problemi.
Avvio su Segnala l'avvio del contenuto. Elimina la necessità di beaconing.
Le CDN conoscere l'avvio dei contenuti può essere utile per ottimizzare la riproduzione successiva.
Questo flag viene inviato anche dopo il flag buffer (bs).
Bitrate superiore tbc Il bitrate più elevato nel manifesto o o nella playlist che il client può riprodurre. Utilizzato per determinare i problemi di bitrate o bitrate laddering.
Mostra il bitrate massimo che il giocatore potrebbe giocare in quel momento. Può essere utilizzato per il confronto con i bitrate disponibili.
Versione CMCD v Versione della specifica CMCD utilizzata. Questa chiave consente il controllo delle versioni e indica che saranno rilasciate future versioni CMCD.
Tasto personalizzato "Le chiavi personalizzate richiedono il prefisso "cmcd-"."
Esempio fittizio: Cmcd-edgio
Consente l'invio di chiavi CMCD univoche, ampliando il CMCD in modo che sia completamente personalizzabile.

Attualmente, Edgio è l’unica CDN che dichiara pubblicamente il supporto per tutte le chiavi CMCD. I tasti definiti possono essere trasmessi in tre modalità di consegna dai lettori alle CDN.

  1. Intestazione HTTP personalizzata in ogni richiesta. I tasti possono essere utilizzati con quattro nomi di intestazione.
    • CMCD-Request: Chiavi i cui valori variano a seconda di ogni richiesta.
    • Oggetto CMCD: Chiavi i cui valori variano in base all’oggetto richiesto.
    • Stato CMCD: Chiavi i cui valori non variano a seconda di ogni richiesta o oggetto.
    • Sessione CMCD: Chiavi i cui valori dovrebbero essere invarianti per tutta la durata della sessione.
  2. Argomenti query HTTP.
  3. Oggetto JSON indipendente da ogni richiesta HTTP.
Buffer starvation and startup in CMCD format via three delivery modes.

Avvio e avvio del buffer in formato CMCD tramite tre modalità di erogazione.

Chi deve utilizzare CMCD?

I servizi di streaming di qualsiasi dimensione dovrebbero utilizzare CMCD il prima possibile. Tuttavia, dalla sua pubblicazione, la conoscenza e l’implementazione del CMCD sono state limitate. Le tendenze che stiamo vedendo indicano che c’è sempre più adozione e sostegno. Detto questo, ci piacerebbe parlarvi del vostro caso di utilizzo e di come CMCD può migliorare la vostra attività.

Perché è necessario il CMCD?

CMCD è fondamentale per garantire agli utenti la migliore esperienza di streaming possibile ogni volta che si preme Play. In qualità di Solutions Engineer di Edgio, il mio lavoro è quello di esaminare l’architettura tecnica di un provider di contenuti per assicurarsi che la nostra CDN funzioni in modo fluido ed efficiente per garantire la migliore esperienza utente. Un componente chiave di qualsiasi architettura tecnica sono i dati raccolti da log, metriche e tracce (noti anche come i tre pilastri dell’osservabilità) per raggiungere questo obiettivo. Di seguito sono riportati alcuni altri motivi per cui CMCD vale la pena incorporare se non sei già venduto su di esso.

Standardizzazione

I dati vengono raccolti e analizzati da una combinazione di strumenti proprietari interni e di terze parti per ogni componente dell’architettura. La difficoltà è che i dati raccolti seguono ciascuno il proprio formato. I dati non standard possono creare effetti collaterali quali incongruenze, qualità ridotta, scalabilità limitata e maggiori interventi di manutenzione. Ti sfido a trovare un ingegnere che non ha affrontato alcuni o tutti questi problemi prima. Per risolvere questo problema, CMCD standardizza i dati lato client (lettore) ai dati lato server (CDN) garantendo l’interoperabilità. Ciò è significativo perché lo rende il più vicino possibile alla CDN ai dati RUM (Real User Measurement) lato client.

Personalizzazione migliorata

I tasti CMCD personalizzati espandono infinitamente la relativa utilità.

Caso di utilizzo: Personalizzazione del codice di stato

Ecco un codice di stato personalizzato che Edgio utilizza. “000 – Un codice di stato specifico per Edgio restituito quando l’origine non invia alcuna risposta, quindi non è presente alcun codice di stato da registrare (ad esempio quando il client si disconnette prima che l’origine fornisca la risposta).” Questa definizione proviene dalla sezione campi del file di registro della documentazione Configurazione del servizio di consegna dei log .

Edgio potrebbe creare una chiave personalizzata cmcd-000.

Flussi di lavoro semplificati

Negli ultimi anni, le aziende tecnologiche hanno tagliato i costi, consolidato gli strumenti e ridotto la complessità complessiva. I dati liberi raccolti da CMCD possono sostituire i servizi di analisi dei log interni ed esterni. Il risultato è un flusso di lavoro semplificato e ottimizzato.

Caso di utilizzo: Flusso di lavoro del lettore

Vecchio processo

Le analisi di terze parti sono oggi ampiamente utilizzate dalle società di streaming. Tuttavia, questi strumenti richiedono un processo di integrazione completo e continuo, come illustrato di seguito.

    • Approvvigionamento
    • Ogni fornitore di analisi di terze parti dispone di un proprio kit di sviluppo software (SDK) per l’integrazione beacon con ogni giocatore. ExoPlayer di Android (DASH), il player di Apple (HLS), PlayReady di Microsoft (Xbox/Windows), basato sul web (siti web, televisori) e altro ancora sono tutti esempi di giocatori che richiedono SDK separati.
    • Test e convalida. I metadati devono essere conformi alle linee guida del fornitore.

Vale la pena notare che questo processo completo può facilmente richiedere un anno o più.


Nuovo processo

L’attivazione è semplice. Edgio è in grado di acquisire i dati CMCD quasi in tempo reale tramite il nostro servizio di consegna dei log. Ciò significa che il beaconing dei giocatori o l’integrazione di terze parti non è necessaria per sbloccare l’analisi dei dati di nuova generazione. Per i nostri clienti con una vasta base di utenti, ciò si traduce in milioni di dollari risparmiati ogni anno.

Sicurezza

La sicurezza delle informazioni potrebbe non essere la prima cosa a cui si pensa quando si tratta di streaming, ma è comunque un componente importante.
  • CMCD non ha accesso ai dati di accesso né contiene informazioni personali identificabili (PII), in quanto suddivide l’esperienza dell’utente in base alle informazioni. Contiene solo informazioni generiche sulle prestazioni.
  • I dati CMCD non dipendono da servizi intermediari. Ciò limita la condivisione dei dati con terze parti che mantengono i dati interni.

Osservabilità

Le CDN possono ora visualizzare dati di sessione precisi su come il cliente sta usufruendo del servizio. Questa visibilità condivisa può essere utilizzata dalle CDN e dai provider di streaming per:
  • Impostare un monitoraggio e un allarme più accurati.
  • Maggiore tempo di consegna per gli incidenti più gravi.
  • Diagnosticare e risolvere i problemi in modo più efficace.

Caso di utilizzo: Gestione delle interruzioni

Vecchio processo

Questo è il tipico flusso di processo di come l’interruzione di una società di streaming viene risolta con registri separati per lettore e CDN.

    1. Si è verificata un’interruzione. Sfortunatamente, la comunicazione umana o l’intervento da parte di analisi di terze parti non è tipicamente offerto.
    2. L’avviso interno viene attivato a causa di un calo degli indicatori di prestazioni, codici di errore, dashboard, ecc.
    3. L’allarme viene generato internamente e inoltrato in base a fattori quali il servizio di guardia, gli esperti in materia e la delega del reparto.
    4. I runbook vengono utilizzati se si tratta di un problema che è stato riscontrato e documentato in precedenza.
    5. La decisione viene presa se il problema deve essere inoltrato esternamente a partner come CDN.
    6. Risoluzione raggiunta.
    7. L’analisi interna delle cause principali (RCA) viene eseguita e comunicata ai clienti.

A causa del lungo percorso di escalation, questa interruzione richiede molto tempo per raggiungere una soluzione.


Nuovo processo

Questo è il flusso del processo di risoluzione di un’interruzione con CMCD.

    1. Si è verificata un’interruzione. L’accesso ai dati CMCD nativi consente a tutti di avere piena visibilità. Il nostro team Managed Services si rivolge in modo proattivo ai clienti per la mitigazione.
    2. La soluzione viene raggiunta da Edgio, che collabora in tempo reale per risolvere le interruzioni e allo stesso tempo esamina gli stessi dati dei propri ingegneri.
    3. Edgio è in grado di fornire assistenza con RCA e di elaborare strategie con voi come partner per prevenire future interruzioni di servizio.

La risoluzione delle interruzioni viene raggiunta più rapidamente e richiede meno risorse tecniche interne.

Guadagni prestazionali

Lo scopo principale di una CDN è quello di aumentare le prestazioni dei contenuti serviti su Internet.

Precaricamento

Vediamo che il CMCD richiede più spesso ai nostri clienti di sbloccare il supporto di precaricamento universale. Il precaricamento consente di caricare i dati dei contenuti nella cache prima che siano necessari per velocizzare la distribuzione dei contenuti.

Bilanciamento intelligente del carico di nuova generazione

La nostra CDN distribuisce automaticamente i contenuti dal punto di Prescence (POP) ottimale all’interno della nostra rete globale privata. Gestiamo il bilanciamento del carico di rete interno per voi, ma quando vengono utilizzate più CDN, il bilanciamento del carico esterno è più complicato e offuscato per i provider di contenuti da gestire. Il problema sta nel modo in cui le società di streaming possono sfruttare in modo intelligente le CDN nel proprio stack . Ogni azienda tenta di risolvere questo problema in modo unico, ma per la maggior parte è ancora suddivisa manualmente per percentuale o disponibilità delegata dal giocatore. La risposta è il bilanciamento del carico compatibile con CMCD. La presenza di dati CDN e player in registri unificati consente di ottenere maggiori informazioni sulle prestazioni di ciascuna CDN, necessarie per il bilanciamento intelligente del carico. Questo è nelle sue fasi nascenti, ma è anche la caratteristica più promettente. I provider di streaming non stanno ancora utilizzando questo metodo nei loro ambienti di produzione. Lo dico perché ciò significa che la sua applicazione è teorica. Ulteriori informazioni su questo caso d’uso, mentre vediamo il CMCD evolversi e crescere con altre tecnologie di streaming emergenti come l’ai/ML.

Caso di utilizzo: Bilanciamento del carico geografico intelligente

Un provider di streaming ha diritti esclusivi di streaming per il più grande evento sportivo in diretta dell’anno in America Latina. Per prepararsi all’evento, è possibile utilizzare il bilanciamento del carico con funzione CMCD. Durante il gioco, i dati vengono utilizzati in tempo reale per distribuire automaticamente il traffico alla CDN con le migliori prestazioni per regione, locale e/o POP out dallo stack CDN. In questo modo si evita la necessità di eseguire il failover manuale se una CDN nello stack presenta prestazioni insufficienti, capacità o problemi tecnici. In questo scenario, la nostra CDN gestirebbe la quota di traffico più elevata, poiché Edgio in genere supera le altre CDN in America Latina a causa della nostra priorità di investire molto nei mercati emergenti.

Ottimizzazione adattiva del traffico

L’utilizzo in tempo reale del CMCD può essere utilizzato per ottimizzare il traffico adattivo, come ad esempio per gestire i bitrate di riproduzione tra gli spettatori di streaming.

Come attivare CMCD?

Prima di procedere, è necessario sapere che il lettore e il CDN devono entrambi supportare l’utilizzo del CMCD. La maggior parte dei lettori e delle CDN oggi dispone del supporto CMCD.
Lettore Intestazioni Interrogazione JSON
Riproduttore
Bitmovin
Giocatore Shaka
Android ExoPlayer
hls.js
dash.js

*Va notato che il supporto dei giocatori è stato determinato dalla disponibilità della documentazione pubblica e questo elenco non è esaustivo. Non esitate a contattare il supporto del lettore CMCD e possiamo aggiornare per includere tali informazioni.

CDN CMCD Intestazioni Interrogazione JSON Tutte le chiavi DOC
Edgio Fonte
Veloce Fonte
Akamai Fonte
CloudFront Fonte
Google Beta Beta Beta Beta Beta Fonte

? = non informazione pubblica al momento della stesura. Non esitate a contattare il supporto CDN CMCD e possiamo aggiornare per includere tali informazioni.

Ci sono anche altre considerazioni:

  • Per motivi di sicurezza, HTTPS è fortemente consigliato su HTTP per tutte le trasmissioni di dati CMCD sul Web.
  • La protezione del CORS e dei contenuti introduce una complessità extra nelle configurazioni CDN. Il CORS deve essere configurato per consentire l’invio dal lettore alla CDN delle intestazioni CMCD-Request, CMCD-Object, CMCD-Status, CMCD-Session.

Abilita per Edgio CDN

Per istruzioni, consultare la sezione della documentazione relativa al rapporto CMCD intitolata attivazione della registrazione CMCD. Se non sei già un cliente, contattaci per una prova delle prestazioni per lavorare con il nostro team di ingegneri delle soluzioni e vedere la nostra CDN in azione.

Abilita per Uplynk

Uplynk di Edgio è una piattaforma di streaming perfezionata con CDN integrata per emittenti e provider OTT. L’associazione di CMCD con Uplynk aumenterà la sua visibilità end-to-end che nessun’altra piattaforma di streaming ha. Se non sei già un cliente, contattaci per una demo di Uplynk e per parlare direttamente con i nostri Managed Services per abilitarla. Potete leggere di più sul futuro di Uplynk in Edgio e Bitmovin uniscono le forze per ottimizzare l’esperienza utente .

Come si visualizza il CMCD?

I dati CMCD si trovano all’interno dei registri CDN che possono essere ispezionati. I dati possono essere inseriti in archivi di log, dashboard e report. Edgio è diventato uno dei primi utilizzatori quando abbiamo annunciato il nostro rapporto CMCD basato su EdgeQuery.

Edgio’s CMCD Report that is available in the CDN Control Portal

Esempio di rapporto CMCD di Edgio disponibile nel CDN Control Portal

Il report CMCD offre una panoramica visiva e la possibilità di visualizzare informazioni dettagliate a portata di mano. I dati CMCD vengono inviati alla soluzione di archiviazione dei log, sia che si trovi in locale, sia che si condivida con una terza parte o che si trovi nella nostra rete sullo storage di origine di Edgio .

Guardando avanti

Se non l’hai già fatto, ora dovresti sentirti bene a conoscenza del CMCD e di come può trasformare lo streaming oggi. In qualità di leader del settore con CMCD, Edgio continuerà a prenderlo nella massima misura possibile. Resta sintonizzato!

Riconoscimenti
Un ringraziamento speciale al nostro Program Manager Anthony Karr per i suoi preziosi suggerimenti e feedback. Grazie al nostro software Architect Yuri Nepyyvoda per il suo straordinario lavoro che ha guidato lo sviluppo della nostra innovativa implementazione CMCD.

Terminologia

  • CORS: Condivisione delle risorse tra origini diverse
  • Interoperabilità: La possibilità per i sistemi di lavorare insieme.
  • Specifica aperta: Una serie di requisiti e standard documentati pubblicamente disponibili per chiunque.
  • OTT: Over-the-Top che si riferisce alla distribuzione di contenuti oltre ai servizi Internet.
  • Precaricamento: Il precaricamento consente di caricare i dati nella cache prima che siano necessari per velocizzare la distribuzione dei contenuti. Il precaricamento è anche noto come riscaldamento o preriscaldamento della cache.
  • RUM: Dati di misurazione dell’utente reale
  • SDK: Software Development Kit
  • Uplynk: Una piattaforma di streaming perfezionata con CDN integrata per emittenti e provider OTT.