Guida alle procedure consigliate per lo streaming live di Servizi multimediali

I clienti spesso chiedono come ridurre la latenza del flusso live. Questo articolo descrive le procedure consigliate per ottenere flussi live a bassa latenza con oltre alla codifica degli eventi live.

Nota

Prima di continuare a leggere questo articolo, leggere l'articolo HLS (LL-HLS) a bassa latenza per comprendere la bassa latenza con la codifica degli eventi live. Tornare quindi a questa guida per comprendere cosa altro può influire sulla latenza di streaming.

Esistono molti fattori che determinano la latenza end-to-end di un flusso oltre a come viene codificato il supporto. Ecco alcuni aspetti da considerare:

  1. Ritardi sul lato del codificatore di contributi. Quando i clienti usano un software di codifica come OBS Studio, Wirecast o altri per inviare un flusso live RTMP a Servizi multimediali. Le impostazioni di questo software influiscono sulla latenza end-to-end di un flusso live.

  2. Ritardi nella pipeline di streaming live in Servizi multimediali di Azure

  3. Prestazioni della rete CDN

  4. Algoritmi di buffering delle condizioni del lettore video e della rete sul lato client

  5. Temporizzazione del provisioning

Codificatore di contributi

È possibile controllare le impostazioni delle impostazioni del codificatore di origine prima che il flusso RTMP raggiunga Servizi multimediali. Ecco alcuni consigli per le impostazioni che offrono la latenza più bassa possibile:

  1. Selezionare l'area fisica più vicina al codificatore di contributi per l'account di Servizi multimediali. In questo modo si avrà una connessione di rete ottimale all'account di Servizi multimediali.

  2. Usare una dimensione di frammento coerente. È consigliabile usare una dimensione GOP di 2 secondi. L'impostazione predefinita per alcuni codificatori, ad esempio OBS, è di 8 secondi. Assicurarsi di modificare questa impostazione.

  3. Usare il codificatore GPU se il software di codifica consente di eseguire questa operazione. In questo modo è possibile eseguire l'offload del lavoro della CPU nella GPU.

  4. Usare un profilo di codifica ottimizzato per la bassa latenza. Ad esempio, con OBS Studio, se si usa il codificatore Nvidia H.264, è possibile che venga visualizzato il set di impostazioni "zero latenza".

  5. Inviare contenuto non superiore alla risoluzione di quello che si prevede di trasmettere. Ad esempio, se si usano eventi live di codifica standard 720p, inviare un flusso già a 720p.

  6. Mantenere la frequenza dei fotogrammi a 30fps o inferiore, a meno che non si usino eventi live pass-through. Sebbene sia supportato l'input da 60 fps per gli eventi live, l'output dell'evento live di codifica non è ancora superiore a 30 fps. Per HLS a bassa latenza, è consigliabile usare la frequenza dei fotogrammi fissa e la durata massima dei fotogrammi non deve superare 0,5 secondi per un'esperienza ottimale.

Configurazione dell'evento live di Servizi multimediali di Azure

Ecco alcune configurazioni che consentono di ridurre la latenza nella pipeline:

  1. Usare le opzioni di flusso a bassa latenza per gli eventi live. Per le opzioni di codifica Standard (fino a 720p) e codifica Premium (fino a 1080p), a meno che non sia necessaria una finestra DVR più lunga di 6 ore o output smooth streaming, usare l'impostazione Bassa latenza del flusso di latenza.

  2. È consigliabile scegliere l'output CMAF sia per la riproduzione HLS che DASH. In questo modo è possibile condividere gli stessi frammenti per entrambi i formati. Aumenta il rapporto riscontri nella cache quando viene usata la rete CDN. Ad esempio:

    Tipo Formato Esempio di URL
    HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
    MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
  3. Se è necessario scegliere l'output TS, usare un rapporto di compressione HLS pari a 1. In questo modo è possibile inserire un solo frammento in un segmento HLS. Non otterrai i vantaggi completi di LL-HLS nei giocatori Apple nativi.

Ottimizzazioni del lettore

Quando si sceglie e si configura un lettore video, assicurarsi di usare le impostazioni ottimizzate per una latenza inferiore.

Servizi multimediali supporta output di protocolli di streaming diversi: DASH, HLS con output TS e HLS con frammenti CMAF. Quando si usa l'opzione LowLatencyV2 flusso, assicurarsi di trovare un lettore che supporta HLS a bassa latenza (LL-HLS). A seconda dell'implementazione del giocatore, le decisioni di memorizzazione nel buffer influisce sulla latenza osservata da un visualizzatore. Condizioni di rete scarse o algoritmi predefiniti che favoriscono la qualità e la stabilità della riproduzione potrebbero causare la decisione dei lettori di memorizzare più contenuto in anticipo per evitare interruzioni durante la riproduzione. Questi buffer, prima e durante le sessioni di riproduzione, aggiungerebbero alla latenza end-to-end.

Quando si usa Azure Media Player, il profilo euristico a bassa latenza ottimizza il lettore in modo da ottenere la latenza più bassa possibile sul lato lettore. Questo lettore supporta solo DASH a meno che non venga usato in Safari nei dispositivi Apple.

Scelta e ottimizzazioni della rete CDN

Gli endpoint di streaming sono i server di origine che distribuiscono il contenuto di streaming live e VOD alla rete CDN o direttamente al cliente. È consigliabile usare una rete per la distribuzione di contenuti (CDN) con un'origine schermata per garantire che il traffico per il contenuto multimediale venga distribuito in modo efficiente.

È consigliabile usare la rete CDN di Azure fornita da Verizon (Standard o Premium). L'esperienza di integrazione è stata ottimizzata in modo che un cliente possa configurare la rete CDN con un'unica selezione nel portale di Azure. Assicurarsi di attivare Origin Shield e le ottimizzazioni di streaming per l'endpoint della rete CDN ogni volta che si avvia l'endpoint di streaming.

I nostri clienti hanno anche buone esperienze per portare la propria rete CDN. Assicurarsi che vengano adottate misure sulla rete CDN per proteggere l'origine da un traffico eccessivo.

È anche possibile migliorare le prestazioni configurando le regole per il profilo della rete CDN. Vedere Come abilitare le ottimizzazioni della rete CDN.

Scalabilità degli endpoint di streaming

Nota

Un endpoint/origini di streaming standard è una risorsa condivisa che consente ai clienti con volumi di traffico ridotti di trasmettere contenuti a un costo inferiore. Non usare un endpoint di streaming standard per ridimensionare le unità di streaming se si prevede volumi di traffico di grandi dimensioni o si prevede di usare una rete CDN.

Un endpoint/origine di streaming Premium offre maggiore flessibilità e isolamento per consentire ai clienti di ridimensionare aggiungendo o rimuovendo unità di streaming dedicate . Un'unità di streaming è una risorsa di calcolo allocata a un endpoint di streaming. Ogni unità di streaming può trasmettere circa 200 Mbps di traffico.

Sebbene sia possibile trasmettere simultaneamente molti eventi live contemporaneamente usando lo stesso endpoint di streaming, le unità di streaming predefinite massime necessarie per un endpoint di streaming sono 10. È possibile aprire un ticket di supporto per richiedere più del valore predefinito 10.

Determinare le unità di streaming Premium necessarie

Esistono due passaggi per determinare il numero di endpoint di streaming e unità di streaming necessari:

  1. Determinare il totale in uscita necessario.

  2. Dividere il totale in uscita per 200, ovvero il numero massimo di Mbps che ogni unità di streaming può trasmettere.

Determinare il totale dei dati in uscita necessari

Determinare il totale in uscita necessario usando la formula seguente.

Totale uscita necessaria = larghezza di banda media x numero di visualizzatori simultanei x percentualegestiti dall'endpoint di streaming.

Diamo un'occhiata a ognuno dei moltiplicatori a sua volta:

Larghezza di banda media. Qual è la velocità in bit media che si prevede di trasmettere? In altre parole, se avrai più velocità in bit disponibili, qual è la media di tutte le velocità in bit che stai pianificando? È possibile stimare questa operazione usando uno dei metodi seguenti:

Per un evento live che include la codifica:

  • Se non si sa quale sarà la larghezza di banda media , è possibile usare le prime velocità in bit come stima. La velocità in bit superiore è di 5,5 Mbps per gli eventi live con codifica 1080p, pertanto la velocità in bit media sarà intorno a 3,5 Mbps.

  • Esaminare il set di impostazioni di codifica usato per codificare l'evento live, ad esempio il set di impostazioni AdaptiveStreaming(H.264). Vedere questo esempio di output.

Per un evento live che usa semplicemente il pass-through e non la codifica:

  • Controllare la scala a bitrate di codifica utilizzata dal codificatore locale.

Numero di visualizzatori simultanei. Quanti spettatori simultanei sono previsti? Questo potrebbe essere difficile da stimare, ma fare il meglio in base ai dati dei clienti. Stai trasmettendo una conferenza a un pubblico globale? Si prevede di trasmettere in streaming live per vendere un set di prodotti ai clienti?

Percentuale del trafficogestitodall'endpoint di streaming. Ciò può essere espresso anche come "percentuale di traffico NON gestito dalla rete CDN" poiché è il numero che effettivamente entra nella formula. Quindi, con questo in mente, qual è il offload della rete CDN previsto? Se la rete CDN è prevista per gestire il 90% del traffico live, è previsto solo il 10% del traffico nell'endpoint di streaming. Il numero usato nella formula è .10, ovvero la percentuale di traffico prevista nell'endpoint di streaming.

Determinare il numero di unità di streaming Premium necessarie

Unità di streaming Premium necessarie = Larghezza di banda media x # di visualizzatori x Percentuale di traffico non gestito dalla rete CDN/200 Mbps

Esempio

Di recente è stato rilasciato un nuovo prodotto e si vuole presentarlo ai clienti stabiliti. Si vuole bassa latenza perché non si vuole frustrare il pubblico già occupato, quindi si useranno endpoint di streaming Premium e una rete CDN.

Hai circa 100.000 clienti, ma probabilmente non watch il tuo evento live. Si suppongo che nel migliore dei casi, solo il 1% di essi parteciperà, che porta i tuoi spettatori simultanei a 1.000.

Numero di utenti simultanei =1.000

Si è deciso di usare Servizi multimediali per codificare il flusso live e non si userà il pass-through. Non si sa che cosa sarà la larghezza di banda media, ma si sa che si otterrà in 1080p (velocità in bit superiore di 5,5 Mbps), quindi la larghezza di banda media è stimata come 3,5 Mbps per i calcoli.

Larghezza di banda media =3,5

Poiché il pubblico è disperso in tutto il mondo, si prevede che la rete CDN gestirà la maggior parte (90%) del traffico live. Pertanto, gli endpoint di streaming Premium gestiranno solo il 10% del traffico.

Percentuale gestita dall'endpoint di streaming =10% = 0,1

Usando la formula specificata in precedenza:

Totale uscita necessaria = larghezza di banda media x numero di visualizzatori simultanei x percentuale gestiti dall'endpoint di streaming.

totale uscita necessaria = 3,5 x 1.000 x 0,1

totale uscita necessaria = 350 Mbps

Suddividendo il totale in uscita entro il 200, si determina che sono necessarie 1.75 unità di streaming Premium.

Unità di streaming Premium necessarie = totale uscita necessaria/200Mpbs

Unità di streaming Premium necessarie = 1,75

Questo numero verrà arrotondato a 2, dandoci 2 unità necessarie.

Usare il portale per stimare le esigenze

Il portale di Azure consente di semplificare i calcoli. Nella pagina di streaming è possibile usare il calcolatore fornito per visualizzare la copertura stimata del pubblico quando si modifica la larghezza di banda media, il rapporto di hit della rete CDN e il numero di unità di streaming.

  1. Nella pagina dell'account dei servizi multimediali selezionare Endpoint di vapore dal menu.

  2. Aggiungere un nuovo endpoint di streaming selezionando Aggiungi endpoint di streaming.

  3. Assegnare all'endpoint di streaming un nome.

  4. Selezionare Endpoint di streaming Premium per il tipo di endpoint di streaming.

  5. Poiché si ottiene una stima a questo punto, non avviare l'endpoint di streaming dopo la creazione. Selezionare No.

  6. Selezionare Standard Verizon o Premium Verizon per il piano tariffario della rete CDN. Il nome del profilo cambierà di conseguenza. Lasciare il nome come è per questo esercizio.

  7. Per il profilo della rete CDN selezionare Crea nuovo.

  8. Selezionare Crea. Dopo aver distribuito l'endpoint, verrà visualizzata la schermata degli endpoint di streaming.

  9. Selezionare l'endpoint di streaming appena creato. La schermata dell'endpoint di streaming verrà visualizzata con le stime di copertura dei destinatari.

  10. L'impostazione predefinita per l'endpoint di streaming con 1 unità di streaming mostra che è stimato trasmettere a 571 spettatori simultanei a 3,5 Mbps usando il 90% della rete CDN e il 10% dell'endpoint di streaming.

  11. Modificare la percentuale dell'origine in uscita dal 90% dalla cache della rete CDN al 0%. Il calcolatore stima che sarà possibile trasmettere a 57 spettatori simultanei a 3,5 Mbps a 200 Mbps senza una rete CDN.

  12. Modificare ora l'origine in uscita fino al 90%.

  13. Modificare quindi le unità di streaming su 2. Il calcolatore stima che sarà possibile trasmettere a 1143 spettatori simultanei a 3,5 Mbps con 4000Mpbs con la rete CDN che gestisce il 90% del traffico.

  14. Selezionare Salva.

  15. È possibile avviare l'endpoint di streaming e provare a inviare il traffico. Le metriche nella parte inferiore della schermata tengono traccia del traffico effettivo.

Intervallo

È possibile eseguire il provisioning delle unità di streaming 1 ore prima dell'utilizzo massimo previsto per garantire che le unità di streaming siano pronte.

Guida e supporto tecnico

È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti in base a uno dei metodi seguenti: