Ottimizzazione dello streaming multimediale con la rete CDN di AzureMedia streaming optimization with Azure CDN

L'uso di video ad alta definizione sta aumentando in Internet e questo crea problemi per la distribuzione efficiente dei file di grandi dimensioni.Use of high-definition video is increasing on the internet, which creates difficulties for efficient delivery of large files. L'aspettativa dei clienti è quella di poter riprodurre in modo uniforme gli asset video live o i video on demand su una vasta gamma di client e reti in tutto il mondo.Customers expect smooth playback of video on demand or live video assets on a variety of networks and clients all over the world. Un meccanismo di distribuzione veloce ed efficiente per i file di streaming multimediale è fondamentale per garantire un'esperienza utente uniforme e piacevole.A fast and efficient delivery mechanism for media streaming files is critical to ensure a smooth and enjoyable consumer experience.

La distribuzione dello streaming live è particolarmente difficile perché i file hanno grandi dimensioni e il numero di utenti simultanei è elevato.Live streaming media is especially difficult to deliver because of the large sizes and number of concurrent viewers. Gli utenti abbandonano a causa di ritardi eccessivi.Long delays cause users to leave. Poiché lo streaming live non può essere memorizzato in anticipo nella cache e le latenze di grandi dimensioni non sono accettabili per i visualizzatori, i frammenti video devono essere distribuiti in modo tempestivo.Because live streams can't be cached ahead of time and large latencies aren't acceptable to viewers, video fragments must be delivered in a timely manner.

I modelli di richiesta dello streaming pongono alcune nuove sfide.The request patterns of streaming also provide some new challenges. Quando vengono rilasciati uno streaming live famoso o una nuova serie di video on demand, migliaia o persino milioni di visualizzatori potrebbero richiedere lo streaming nello stesso momento.When a popular live stream or a new series is released for video on demand, thousands to millions of viewers might request the stream at the same time. In questo caso, il consolidamento intelligente delle richieste è essenziale per non sovraccaricare i server di origine quando gli asset non sono stati ancora memorizzati nella cache.In this case, smart request consolidation is vital to not overwhelm the origin servers when the assets aren't cached yet.

Ottimizzazioni dello streaming multimediale per la rete CDN di Azure di MicrosoftMedia streaming optimizations for Azure CDN from Microsoft

Gli endpoint della rete CDN Standard di Azure di Microsoft distribuiscono risorse multimediali in streaming direttamente usando il tipo di ottimizzazione offerto dalla distribuzione Web generale.Azure CDN Standard from Microsoft endpoints deliver streaming media assets directly by using the general web delivery optimization type.

L'ottimizzazione dello streaming multimediale per la rete CDN Standard di Azure di Microsoft è efficace per lo streaming multimediale live o di video on demand che usa singoli frammenti multimediali per la distribuzione.Media streaming optimization for Azure CDN Standard from Microsoft is effective for live or video-on-demand streaming media that uses individual media fragments for delivery. Questo processo è diverso da quello di trasferimento di un singolo asset di grandi dimensioni tramite il download progressivo oppure tramite l'uso di richieste di intervallo di byte.This process is different from a single large asset transferred via progressive download or by using byte-range requests. Per informazioni su questo stile di distribuzione di file multimediali, vedere Ottimizzazione del download di file di grandi dimensioni mediante la rete CDN di Azure.For information on that style of media delivery, see Large file download optimization with Azure CDN.

I tipi di ottimizzazione basati sulla distribuzione di file multimediali generale e di video on demand usano una rete per la distribuzione di contenuti (CDN, Content Delivery Network) con ottimizzazioni back-end per distribuire le risorse multimediali più velocemente.The general media delivery or video-on-demand media delivery optimization types use Azure Content Delivery Network (CDN) with back-end optimizations to deliver media assets faster. Vengono anche usate le configurazioni per le risorse di file multimediali basate sulle procedure consigliate apprese nel tempo.They also use configurations for media assets based on best practices learned over time.

Condivisione della cache parzialePartial cache sharing

La condivisione della cache parziale consente alla rete per la distribuzione di contenuti di offrire contenuto memorizzato nella cache parziale per le nuove richieste.Partial cache sharing allows the CDN to serve partially cached content to new requests. Ad esempio, la prima richiesta alla rete CDN genera un mancato riscontro nella cache e la richiesta viene inviata all'origine.For example, if the first request to the CDN results in a cache miss, the request is sent to the origin. Sebbene questo contenuto incompleto sia caricato nella cache della rete CDN, altre richieste alla rete CDN possono iniziare a recuperare questi dati.Although this incomplete content is loaded into the CDN cache, other requests to the CDN can start getting this data.

Ottimizzazioni dello streaming multimediale per la rete CDN di Azure fornita da VerizonMedia streaming optimizations for Azure CDN from Verizon

Gli endpoint della rete CDN Standard di Azure di Verizon e della rete CDN Premium di Azure di Verizon distribuiscono le risorse multimediali in streaming direttamente usando il tipo di ottimizzazione offerto dalla distribuzione Web generale.Azure CDN Standard from Verizon and Azure CDN Premium from Verizon endpoints deliver streaming media assets directly by using the general web delivery optimization type. Per impostazione predefinita, nella rete CDN sono disponibili anche alcune funzionalità utili per la distribuzione di asset multimediali.A few features on the CDN directly assist in delivering media assets by default.

Condivisione della cache parzialePartial cache sharing

La condivisione della cache parziale consente alla rete per la distribuzione di contenuti di offrire contenuto memorizzato nella cache parziale per le nuove richieste.Partial cache sharing allows the CDN to serve partially cached content to new requests. Ad esempio, la prima richiesta alla rete CDN genera un mancato riscontro nella cache e la richiesta viene inviata all'origine.For example, if the first request to the CDN results in a cache miss, the request is sent to the origin. Sebbene questo contenuto incompleto sia caricato nella cache della rete CDN, altre richieste alla rete CDN possono iniziare a recuperare questi dati.Although this incomplete content is loaded into the CDN cache, other requests to the CDN can start getting this data.

Tempo di attesa di riempimento della cacheCache fill wait time

La funzionalità di tempo di attesa di riempimento della cache forza il server perimetrale a contenere le richieste successive per la stessa risorsa fino alla ricezione delle intestazioni di risposta HTTP da parte del server di origine.The cache fill wait time feature forces the edge server to hold any subsequent requests for the same resource until HTTP response headers arrive from the origin server. Se le intestazioni di risposta HTTP dal server di origine vengono ricevute prima della scadenza del timer, tutte le richieste messe in attesa verranno servite dalla cache con i dati in aumento.If HTTP response headers from the origin arrive before the timer expires, all requests that were put on hold are served out of the growing cache. Allo stesso tempo la cache viene riempita con i dati provenienti dall'origine.At the same time, the cache is filled by data from the origin. Per impostazione predefinita, il tempo di attesa di riempimento della cache è 3.000 millisecondi.By default, the cache fill wait time is set to 3,000 milliseconds.

Ottimizzazioni dello streaming multimediale per la rete CDN di Azure fornita da AkamaiMedia streaming optimizations for Azure CDN from Akamai

La rete CDN Standard di Azure di Akamai offre una funzionalità per la distribuzione efficiente delle risorse multimediali in streaming su scala agli utenti in tutto il mondo.Azure CDN Standard from Akamai offers a feature that delivers streaming media assets efficiently to users across the globe at scale. Questa funzionalità riduce le latenze perché riduce il carico sui server di origine.The feature reduces latencies because it reduces the load on the origin servers. Questa funzionalità è disponibile con il piano tariffario dello standard Akamai.This feature is available with the standard Akamai pricing tier.

L'ottimizzazione dello streaming multimediale per la rete CDN Standard di Azure di Akamai è efficace per lo streaming multimediale live o di video on demand che usa singoli frammenti multimediali per la distribuzione.Media streaming optimization for Azure CDN Standard from Akamai is effective for live or video-on-demand streaming media that uses individual media fragments for delivery. Questo processo è diverso da quello di trasferimento di un singolo asset di grandi dimensioni tramite il download progressivo oppure tramite l'uso di richieste di intervallo di byte.This process is different from a single large asset transferred via progressive download or by using byte-range requests. Per informazioni su questo stile di distribuzione di file multimediali, vedere Ottimizzazione di file di grandi dimensioni.For information on that style of media delivery, see Large file optimization.

I tipi di ottimizzazione per la distribuzione di file multimediali generali e di video on demand usano una rete per la distribuzione di contenuti con ottimizzazioni back-end per distribuire le risorse multimediali più velocemente.The general media delivery or video-on-demand media delivery optimization types use a CDN with back-end optimizations to deliver media assets faster. Vengono anche usate le configurazioni per le risorse di file multimediali basate sulle procedure consigliate apprese nel tempo.They also use configurations for media assets based on best practices learned over time.

Configurare un endpoint della rete CDN Akamai per l'ottimizzazione dello streaming di file multimedialiConfigure an Akamai CDN endpoint to optimize media streaming

È possibile configurare l'endpoint della rete di distribuzione di contenuti (CDN) per ottimizzare il recapito per i file di grandi dimensioni tramite il portale di Azure.You can configure your content delivery network (CDN) endpoint to optimize delivery for large files via the Azure portal. A questo scopo, è anche possibile usare le API REST o qualsiasi SDK client.You can also use the REST APIs or any of the client SDKs to do this. I passaggi seguenti mostrano il processo tramite il portale di Azure per un profilo di rete CDN Standard di Azure di Akamai:The following steps show the process via the Azure portal for an Azure CDN Standard from Akamai profile:

  1. Per aggiungere un nuovo endpoint, nella pagina Profilo CDN di Akamai selezionare Endpoint.To add a new endpoint, on an Akamai CDN profile page, select Endpoint.

    Nuovo endpoint

  2. Nell'elenco a discesa Optimized for (Ottimizzato per) selezionare Streaming multimediale video on demand per le risorse video on demand.In the Optimized for drop-down list, select Video on demand media streaming for video-on-demand assets. Se si desidera creare una combinazione di streaming di video on demand e live, selezionare Streaming multimediale generale.If you do a combination of live and video-on-demand streaming, select General media streaming.

    Streaming selezionato

Dopo avere creato l'endpoint, questo applicherà l'ottimizzazione per tutti i file che corrispondono a determinati criteri.After you create the endpoint, it applies the optimization for all files that match certain criteria. La sezione seguente descrive questo processo.The following section describes this process.

Memorizzazione nella cacheCaching

Se la rete CDN Standard di Azure di Akamai rileva che la risorsa è un manifesto o un frammento di streaming, usa tempi di scadenza per la memorizzazione nella cache diversi rispetto alla distribuzione Web generale.If Azure CDN Standard from Akamai detects that the asset is a streaming manifest or fragment, it uses different caching expiration times from general web delivery. Vedere l'elenco completo nella tabella seguente. Come sempre, vengono rispettate i controlli della cache o le intestazioni di scadenza inviate dall'origine.(See the full list in the following table.) As always, cache-control or Expires headers sent from the origin are honored. Se la risorsa non è una risorsa multimediale, viene memorizza nella cache con i tempi di scadenza per la distribuzione Web generale.If the asset is not a media asset, it caches by using the expiration times for general web delivery.

I tempi negativi e brevi di memorizzazione nella cache sono utili per l'offload di origine quando molti utenti richiedono un frammento che non esiste ancora.The short negative caching time is useful for origin offload when many users request a fragment that doesn’t exist yet. Ne è un esempio uno streaming live in cui i pacchetti non sono disponibili dall'origine in quel momento.An example is a live stream where the packets aren't available from the origin that second. Un intervallo di memorizzazione nella cache più lungo consente anche l'offload delle richieste dall'origine poiché il contenuto video in genere non viene modificato.The longer caching interval also helps offload requests from the origin because video content isn't typically modified.

Distribuzione Web generaleGeneral web delivery Streaming multimediale generaleGeneral media streaming Streaming multimediale di video on demandVideo-on-demand media streaming
Memorizzazione nella cache: positivaCaching: Positive
HTTP 200, 203, 300,HTTP 200, 203, 300,
301, 302 e 410301, 302, and 410
7 giorni7 days 365 giorni365 days 365 giorni365 days
Memorizzazione nella cache: negativaCaching: Negative
HTTP 204, 305, 404,HTTP 204, 305, 404,
e 405and 405
NessunaNone 1 secondo1 second 1 secondo1 second

Gestire gli errori di origineDeal with origin failure

La distribuzione di file multimediali generali e di video on demand prevede il timeout dell'origine e il log di tentativi in base alle procedure consigliate per i modelli di richiesta tipici.General media delivery and video-on-demand media delivery also have origin timeouts and a retry log based on best practices for typical request patterns. Ad esempio, poiché la distribuzione di file multimediali generale riguarda contenuti sia live che di video on demand, il timeout di connessione è più breve poiché lo streaming live dipende dall'ora.For example, because general media delivery is for live and video-on-demand media delivery, it uses a shorter connection timeout due to the time-sensitive nature of live streaming.

Quando si verifica il timeout di una connessione, la rete CDN esegue un certo numero di tentativi prima di inviare l'errore "504 - Timeout gateway" al client.When a connection times out, the CDN retries a number of times before it sends a "504 - Gateway Timeout" error to the client.

Quando un file corrisponde all'elenco di condizioni per la dimensione e il tipo di file, la rete per la distribuzione di contenuti usa il comportamento per lo streaming multimediale.When a file matches the file type and size conditions list, the CDN uses the behavior for media streaming. In caso contrario, usa la distribuzione Web generale.Otherwise, it uses general web delivery.

Condizioni per l'ottimizzazione dello streaming multimedialeConditions for media streaming optimization

La tabella seguente elenca il set di criteri che devono essere soddisfatti per l'ottimizzazione dello streaming multimediale:The following table lists the set of criteria to be satisfied for media streaming optimization:

Tipi di streaming supportatiSupported streaming types Estensioni di fileFile extensions
Apple HLSApple HLS m3u8, m3u, m3ub, key, ts, aacm3u8, m3u, m3ub, key, ts, aac
Adobe HDSAdobe HDS f4m, f4x, drmmeta, bootstrap, f4f,f4m, f4x, drmmeta, bootstrap, f4f,
Struttura URL Seg-FragSeg-Frag URL structure
(espressione regolare corrispondente: ^(/.*)Seq(\d+)-Frag(\d+)(matching regex: ^(/.*)Seq(\d+)-Frag(\d+)
DASHDASH mpd, dash, divx, ismv, m4s, m4v, mp4, mp4v,mpd, dash, divx, ismv, m4s, m4v, mp4, mp4v,
sidx, webm, mp4a, m4a, ismasidx, webm, mp4a, m4a, isma
Smooth StreamingSmooth streaming /manifest/, /QualityLevels/Fragments//manifest/, /QualityLevels/Fragments/