Se fate parte di un'organizzazione che gestisce un servizio di live streaming e vi siete trovati di fronte a un'impennata inaspettata del traffico o a un'interruzione, probabilmente il vostro team ha dovuto affannarsi per risolvere i problemi e risolvere i ritardi. Questa interruzione può diventare un problema significativo per gli spettatori e una sfida enorme per il vostro team.
La radice del problema risiede spesso nella capacità del cloud provider di gestire efficacemente improvvisi picchi di traffico e di reindirizzare il traffico in caso di interruzione. Se il cloud provider non è in grado di scalare le risorse abbastanza rapidamente da soddisfare l'aumento della domanda, la piattaforma di streaming può cedere sotto la pressione, con conseguenti tempi di inattività, flussi laggosi o addirittura crash completi.
Investendo in infrastrutture scalabili, come server distribuiti e soluzioni basate su cloud, e sfruttando l'edge computing e una potente rete di distribuzione dei contenuti (CDN), è possibile garantire che gli utenti godano di esperienze live ininterrotte, che i contenuti raggiungano gli spettatori in modo affidabile e che i servizi di streaming mantengano la loro reputazione in un mondo sempre più competitivo.
In questo blog illustreremo gli strumenti che molti dei nostri clienti utilizzano per uno streaming affidabile.
Sfruttare i punti di presenza di Akamai
Un CDN come Akamai fornisce server edge decentralizzati e localizzati, posizionati strategicamente in prossimità degli utenti finali. I server edge agiscono come punti di presenza (PoP) che fungono da hub intermediari tra il centro dati centrale e il dispositivo dell'utente. Quando l'utente richiede un video, il contenuto viene consegnato dal server edge più vicino invece di viaggiare fino al centro dati centrale. In caso di traffico elevato, questi server possono dividere e distribuire il contenuto simultaneamente agli utenti in diverse regioni senza ritardi.
L'immagine qui sopra mostra la rete distribuita di Akamai. Questa architettura è progettata per scalare dinamicamente per gestire i picchi di traffico e le fluttuazioni della domanda. Questa elasticità garantisce che l'infrastruttura rimanga reattiva e resiliente, anche nelle condizioni più difficili. Questa vicinanza riduce significativamente il tempo necessario ai contenuti per raggiungere il dispositivo, con conseguente riduzione della latenza e un'esperienza di streaming più fluida per gli utenti finali.
Come Akamai aiuta i servizi di live streaming a raggiungere una bassa latenza
Per offrire un'esperienza di qualità ai vostri spettatori online, dovete assicurarvi che le vostre macchine virtuali non aggiungano latenza ai vostri flussi live. Akamai supporta una latenza end-to-end di 10 secondi per i flussi lineari e live. Ecco come Akamai aiuta i servizi di live streaming a raggiungere una bassa latenza:
- Transcodifica live in tempo reale
Un sistema di transcodifica live deve essere in grado di gestire picchi di carico video in tempo reale. Qualsiasi latenza aggiunta durante la transcodifica viene trasmessa all'utente finale, con il risultato di un'esperienza di visione non ottimale. - Segmenti di piccole dimensioni
L'architettura di Akamai è stata costruita per gestire in modo affidabile segmenti di piccole dimensioni (fino a 2 secondi) per lo streaming basato su HTTP, in modo da consentire ai giocatori di ridurre rapidamente le cadute di banda, evitare lo stallo dei giocatori e ridurre efficacemente i buffer lato client. - Trasferimenti HTTP codificati in chunked
Il supporto dei trasferimenti codificati in chunked dall'ingest fino all'Edge per avviare i trasferimenti non appena i dati sono disponibili aiuta a ridurre al minimo le latenze. - Prefetching dall'Edge
I server Edge pre-fetcheranno la serie successiva di segmenti per una particolare velocità di trasmissione e la memorizzeranno nella cache locale mentre il segmento precedente è già stato ricevuto e riprodotto. Ciò consente ai segmenti di essere prontamente disponibili e riduce il rischio di latenza aggiuntiva.
Vediamo come uno dei nostri clienti ha utilizzato Akamai per scalare il suo live streaming con questo processo.
Come scalare il vostro servizio di live streaming ai bordi
Il nostro meccanismo di streaming live è realizzato attraverso i Media Services Live (MSL) di Akamai. MSL è progettato per fornire in modo efficiente contenuti video in diretta a un pubblico globale, sfruttando la vasta rete di server edge di Akamai distribuiti in diverse località geografiche.
Diamo un'occhiata all'architettura di riferimento di cui sopra, che illustra in dettaglio sia il flusso di lavoro di ingest che quello di delivery per un evento in live streaming con Akamai. Se state cercando di migliorare i vostri servizi di live streaming, vi suggerisco di configurare MSL per gestire il live streaming di un evento.
Fase 1: codifica e ingestione
Innanzitutto, è necessario acquisire il contenuto video in diretta presso il sito di trasmissione. Una volta ottenuto il contenuto, è necessario impostare un encoder per convertire il feed video grezzo in un formato digitale, come HTTP Live Streaming (HLS) o Real-Time Messaging Protocol (RTMP). Quindi, si utilizzerà IAS (Ingest Acceleration Source) di Akamai, scaricabile attraverso il portale clienti di Akamai. IAS prende il flusso dall'encoder e lo inoltra attraverso il nostro protocollo di trasporto UDP proprietario. È quindi necessario configurare lo IAS per ricevere il flusso dall'encoder.
Successivamente, è necessario configurare l'Ingest Acceleration Target (IAT) sulla rete di Akamai e assicurarsi che l'IAT sia configurato per decodificare il flusso nel suo formato originale. Quindi, colleghiamo lo IAT al software di ingresso di Akamai per l'ulteriore elaborazione. In questa fase di codifica e ingestione, molti si trovano ad affrontare il problema della perdita di pacchetti. Lo streaming video in diretta è molto sensibile alla perdita di pacchetti, che può degradare la qualità dello streaming, causare buffering e portare a un'esperienza di visione insoddisfacente. Tuttavia, i clienti che utilizzano Akamai per lo streaming live non sperimentano questo fenomeno perché la tecnologia di accelerazione basata su UDP che Akamai utilizza aiuta a mitigare gli effetti della perdita di pacchetti, garantendo che i pacchetti di dati vengano consegnati in modo più affidabile e rapido, anche in condizioni di rete instabili. Un altro motivo per cui questa tecnologia è fondamentale nel processo di live streaming è che la trasmissione tradizionale basata su TCP può soffrire di un'elevata latenza a causa dei meccanismi di controllo della congestione e di correzione degli errori. Lo streaming live richiede una bassa latenza per garantire che gli spettatori ricevano i contenuti in tempo reale. L'accelerazione basata su UDP di Akamai offre un throughput più elevato e una latenza più bassa, riducendo al minimo queste spese generali, il che è fondamentale per i contenuti in diretta, per i quali la consegna tempestiva è essenziale.
Fase 2: Distribuzione di medio livello e stoccaggio opzionale
Successivamente, è necessario indirizzare il flusso video elaborato ai server mid-tier di Akamai. Questi server fungono da intermediari tra il server di ingest e l'edge delivery network. I server mid-tier distribuiscono ulteriormente il flusso video, assicurando che venga replicato e memorizzato nella cache in più punti della rete per bilanciare il carico e migliorare la ridondanza. Quando un provider cloud gestisce lo streaming live, è importante che questo bilanciamento del carico sia gestito correttamente, perché in caso contrario si verificheranno colli di bottiglia nel processo. Utilizzando l'edge delivery network di Akamai, si evita che un singolo server diventi un collo di bottiglia, assicurando che nessun singolo server sia sopraffatto da un numero eccessivo di richieste. Ciò diventa particolarmente importante durante gli eventi ad alto traffico.
Opzionalmente, è possibile archiviare i contenuti video nel sistema NetStorage di Akamai. NetStorage assicura che i contenuti siano sempre disponibili e possano essere recuperati rapidamente se necessario. Si tratta di una soluzione di archiviazione scalabile e sicura che può servire come backup o per la riproduzione on-demand.
Fase 3: Scudo d'origine
Successivamente, inviamo il video a Origin Shield, che aiuta a gestire i picchi di traffico agendo da cuscinetto tra i server di ingest e il CDN Akamai. Durante i momenti di picco o le impennate inaspettate di spettatori, Origin Shield è in grado di gestire l'aumento del carico, evitando che i server di ingest vengano sovraccaricati. In questo modo, il sistema è in grado di accogliere un gran numero di spettatori senza che le prestazioni si riducano. Origin Shield ottimizza anche l'efficienza della cache. Aggiungendo un ulteriore livello di cache, Origin Shield riduce la frequenza con cui le richieste devono tornare ai server di origine. In questo modo si riduce il carico sui server di origine, si conserva la larghezza di banda e si accelera la consegna dei contenuti agli utenti finali. Per gli utenti finali, questo si traduce in un accesso più rapido ai contenuti, riducendo la latenza e migliorando l'esperienza degli spettatori.
Fase 4: Configurazione della consegna e consegna all'utente finale
Ora è il momento di distribuire i contenuti. Quando si distribuiscono i contenuti a livello globale in regioni diverse, le condizioni di rete, i requisiti normativi o le preferenze degli spettatori possono variare. Per risolvere questo problema, i nostri clienti utilizzano gli Account di consegna Akamai. Gli account di consegna Akamai corrispondono a diverse configurazioni e impostazioni per la distribuzione dei contenuti e consentono ai fornitori di contenuti di configurare diverse impostazioni, come i criteri di caching, i protocolli di sicurezza e le ottimizzazioni di consegna specifiche per ogni regione. Ciascun account di consegna può avere impostazioni specifiche, adattate alle esigenze di varie regioni, dispositivi o tipi di contenuti. Questo è importante perché i fornitori di contenuti devono distribuire i loro contenuti in modo efficiente e flessibile su più canali di distribuzione.
Infine, i contenuti video vengono distribuiti agli utenti finali attraverso una serie di dispositivi come computer, smartphone, tablet e smart TV. I server edge trasmettono il flusso video al dispositivo del lettore con una latenza minima, garantendo un'esperienza di visione fluida e di alta qualità.
Conclusione
Quando si costruisce una soluzione per lo streaming dal vivo, bisogna tenere conto di molti fattori. In primo luogo, è necessario tenere conto della latenza e del buffering, soprattutto durante gli eventi live in cui la trasmissione in tempo reale è fondamentale. Una latenza elevata può causare ritardi nella trasmissione in diretta, rendendo gli utenti finali molto insoddisfatti. Bisogna anche tenere conto della perdita di pacchetti, che può degradare la qualità video o causare interruzioni. Con la perdita di pacchetti, i vostri utenti finali dovranno fare i conti con flussi incoerenti e inaffidabili, che porteranno a un'esperienza visiva scadente. Infine, dovete essere in grado di scalare e bilanciare il carico. Potreste trovarvi di fronte a sovraccarichi e crash dei server, con conseguenti interruzioni del servizio e incapacità di gestire in modo efficiente i picchi di carico. La rete di distribuzione ottimizzata di Akamai risolve tutti questi problemi grazie all'accelerazione basata su UDP, alla rete di ingestione e al CDN scalabile.
L'utilizzo di Akamai per lo streaming live garantisce una distribuzione efficiente, scalabile e a bassa latenza dei flussi video live, offrendo un'ottima esperienza agli utenti finali. Avvicinando la potenza di elaborazione al bordo della rete con Akamai, i servizi di streaming possono ottimizzare le prestazioni e migliorare la scalabilità.
Per seguire un tutorial passo-passo sulla transcodifica video, seguite questo link per convertire un file mp4 in formato HLS. Potete anche leggere i nostri documenti sull'API Media Services Live Stream Provisioning.
Per saperne di più su come implementare tutto questo, iscrivetevi alla nostra newsletter, collegatevi con noi su Twitter o LinkedIn, o iscrivetevi al nostro canale YouTube.
Se voi o la vostra organizzazione state pensando di ottimizzare le vostre soluzioni di transcodifica video e Kubernetes, potete provare le soluzioni di Linode iscrivendovi per ottenere 100 dollari di crediti gratuiti.
Commenti