Fornitura di video in streaming live con CloudFront e AWS Media Services - Amazon CloudFront

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Fornitura di video in streaming live con CloudFront e AWS Media Services

Per utilizzare i Servizi AWS multimediali CloudFront per fornire contenuti in diretta a un pubblico globale, segui le linee guida incluse in questa sezione.

Utilizza AWS Elemental MediaLive per codificare i flussi video in tempo reale. Per codificare un flusso video di grandi dimensioni, MediaLive comprimilo in versioni più piccole (codifiche) che possono essere distribuite ai tuoi spettatori.

Dopo aver compresso un flusso video in diretta, puoi utilizzare una delle due opzioni principali seguenti per preparare e distribuire il contenuto:

  • Conversione del contenuto nei formati richiesti e successiva distribuzione: se hai bisogno di contenuti in più formati, usa AWS Elemental MediaPackage per impacchettare il contenuto per diversi tipi di dispositivo. Quando impacchetti i contenuti, puoi anche implementare funzionalità aggiuntive e aggiungere DRM (Digital Rights Management) per impedire l'uso non autorizzato del contenuto. Per step-by-step istruzioni su come utilizzare per CloudFront fornire contenuti formattati, consulta. MediaPackage Distribuzione di video live formattati con AWS Elemental MediaPackage

  • Archivia e servi i tuoi contenuti utilizzando un'origine scalabile: se i contenuti MediaLive sono codificati nei formati richiesti da tutti i dispositivi utilizzati dagli spettatori, utilizza un'origine altamente scalabile, ad esempio AWS Elemental MediaStore, per distribuire i contenuti. Per step-by-step istruzioni su come CloudFront servire contenuti archiviati in un MediaStore contenitore, consulta. Distribuisci il video usando AWS Elemental MediaStore come origine

Dopo aver configurato il server di origine utilizzando una di queste opzioni, puoi distribuire video in streaming live ai visualizzatori tramite CloudFront.

Suggerimento

Puoi anche scoprire di più su una soluzione AWS che distribuisce automaticamente i servizi per creare un'esperienza di visualizzazione in tempo reale e ad alta disponibilità. Per leggere la procedura relativa alla distribuzione automatica di questa soluzione, consulta Distribuzione automatica in streaming live.

Distribuisci il video usando AWS Elemental MediaStore come origine

Se hai un video archiviato in un AWS Elemental MediaStorecontenitore, puoi creare una CloudFront distribuzione per servire il contenuto.

Per iniziare, concedi CloudFront l'accesso al tuo MediaStore contenitore. Quindi crei una CloudFront distribuzione e la configuri per utilizzarla MediaStore.

Per distribuire il contenuto da un container AWS Elemental MediaStore
  1. Segui la procedura riportata in Consentire CloudFront ad Amazon di accedere al tuo AWS Elemental MediaStore container, quindi torna a questi passaggi per creare la tua distribuzione.

  2. Creazione di una distribuzione con le impostazioni seguenti:

    Dominio origine

    L'endpoint di dati assegnato al tuo MediaStore contenitore. Dall'elenco a discesa, scegli il MediaStore contenitore per il tuo video live.

    Origin Path (Percorso origine)

    La struttura delle cartelle nel MediaStore contenitore in cui sono archiviati gli oggetti. Per ulteriori informazioni, consulta Origin Path (Percorso origine).

    Aggiunta di intestazioni personalizzate

    Aggiungi nomi e valori di intestazione se desideri CloudFront aggiungere intestazioni personalizzate quando inoltra le richieste all'origine.

    Viewer Protocol Policy (Policy protocollo visualizzatore)

    Scegli Redirect HTTP to HTTPS (Reindirizza HTTP a HTTPS). Per ulteriori informazioni, consulta Viewer Protocol Policy (Policy protocollo visualizzatore).

    Policy della cache e policy di richiesta origine

    Per Cache policy (Policy della cache), scegli Create policy (Crea policy) e quindi crea una policy della cache appropriata per le esigenze di caching e di durata dei segmenti. Dopo aver creato la policy, aggiorna l'elenco delle policy della cache e scegli la policy creata.

    Per la politica di richiesta di Origin, scegli CORS- CustomOrigin dall'elenco a discesa.

    Per le altre impostazioni, è possibile impostare valori specifici in base ad altri requisiti tecnici o le esigenze del tuo business. Per un elenco di tutte le opzioni per le distribuzioni e informazioni sulla configurazione, consulta Valori da specificare durante la creazione o l'aggiornamento di una distribuzione.

  3. Per i link nella tua applicazione (ad esempio, un lettore multimediale), specifica il nome del file multimediale nello stesso formato che usi per gli altri oggetti che stai distribuendo. CloudFront

Distribuzione di video live formattati con AWS Elemental MediaPackage

Se hai utilizzato AWS Elemental MediaPackage per formattare uno streaming live per la visualizzazione, puoi creare una distribuzione CloudFront e configurare i comportamenti cache per fornire il flusso in tempo reale. Il seguente processo presuppone che tu abbia già creato un canale e aggiunto gli endpoint per i video live utilizzando MediaPackage.

Per creare MediaPackage manualmente una CloudFront distribuzione per, procedi nel seguente modo:

Fase 1: Creare e configurare una CloudFront distribuzione

Completa la seguente procedura per configurare una CloudFront distribuzione per il canale video in diretta con cui hai creato MediaPackage.

Per creare una distribuzione Web per il canale video live
  1. Accedi a AWS Management Console e apri la CloudFront console all'indirizzohttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Scegli Create Distribution (Crea distribuzione).

  3. Scegli le impostazioni per la distribuzione, comprese le seguenti:

    Dominio origine

    L'origine in cui si trovano il canale video MediaPackage in diretta e gli endpoint. Scegli il campo di testo, quindi dall'elenco a discesa scegli il dominio di MediaPackage origine per il tuo video live. Puoi mappare un dominio a vari endpoint di origine.

    Se hai creato il dominio di origine utilizzando un altro account AWS, digita il valore dell'URL di origine nel campo. L'origine deve essere un URL di tipo HTTPS.

    Ad esempio, per un endpoint HLS come https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8, il dominio di origine è 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com.

    Per ulteriori informazioni, consulta Dominio origine.

    Origin Path (Percorso origine)

    Il percorso verso l' MediaPackage endpoint da cui viene servito il contenuto.

    Il campo Percorso di origine non è stato compilato per l'utente. Devi immettere manualmente il percorso di origine corretto.

    Per ulteriori informazioni su come funziona un percorso di origine, consulta Origin Path (Percorso origine).

    Importante

    Il percorso con i caratteri jolly * è necessario per eseguire il routing in un punto qualsiasi della CloudFront distribuzione. Per evitare che le richieste che non corrispondono a un percorso esplicito vengano indirizzate all'origine reale, crea un'origine "fittizia" per quel percorso con caratteri jolly.

    Esempio : creazione di un'origine "fittizia"

    Nell'esempio seguente, gli endpoint abc123 e def456 indirizzano all'origine "reale", ma le richieste di contenuti video di qualsiasi altro endpoint vengono indirizzate a mediapackage.us-west-2.amazonaws.com senza il sottodominio appropriato, che si traduce in un errore HTTP 404.

    MediaPackage punti finali:

    https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8 https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/def456/index.m3u8

    CloudFront Origine A:

    Domain: 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com Path: None

    CloudFront Origine B:

    Domain: mediapackage.us-west-2.amazonaws.com Path: None

    CloudFront comportamento della cache:

    1. Path: /out/v1/abc123/* forward to Origin A 2. Path: /out/v1/def456/* forward to Origin A 3. Path: * forward to Origin B

    Per le altre impostazioni della distribuzione, è possibile impostare valori specifici in base ad altri requisiti tecnici o alle esigenze del tuo business. Per un elenco di tutte le opzioni per le distribuzioni e informazioni sulla configurazione, consulta Valori da specificare durante la creazione o l'aggiornamento di una distribuzione.

    Al termine della scelta delle altre impostazioni di distribuzione, scegli Create Distribution (Crea distribuzione).

  4. Scegli la distribuzione appena creata, quindi scegli la scheda Behaviors (Comportamenti).

  5. Seleziona il comportamento di default della cache da aggiornare, quindi scegli Edit (Modifica). Specifica le impostazioni corrette per il comportamento cache nel canale scelto come origine. Puoi aggiungere una o più origini in un secondo momento e modificare le relative impostazioni per il comportamento cache.

  6. Vai alla pagina delle CloudFront distribuzioni.

  7. Attendi che il valore della colonna Ultima modifica per la tua distribuzione passi da Deploying a una data e un'ora, a indicare che la distribuzione CloudFront è stata creata.

Passaggio 2: aggiungi Origins per i domini dei tuoi endpoint MediaPackage

Ripeti questi passaggi per aggiungere ogni endpoint del tuo MediaPackage canale alla tua distribuzione, tenendo presente la necessità di creare un'origine «fittizia».

Per aggiungere altri endpoint come origini
  1. Sulla CloudFront console, scegli la distribuzione che hai creato per il tuo canale.

  2. Sceglie Origins (Origini), quindi scegli Create origin (Crea origine).

  3. Per il dominio Origin, nell'elenco a discesa, scegli un MediaPackage endpoint per il tuo canale.

  4. Per le altre impostazioni, imposta i valori in base ad altri requisiti tecnici o alle esigenze del tuo business. Per ulteriori informazioni, consulta Origin Settings (Impostazioni di origine).

  5. Scegli Create Origin (Crea origine).

Fase 3: configurazione dei comportamenti della cache per tutti gli endpoint

Per ogni endpoint, è necessario configurare comportamenti cache per aggiungere modelli di percorso che instradino le richieste correttamente. I modelli di percorso specificati dipendono dal formato video che fornisci. La procedura seguente include le informazioni sui pattern di percorso da utilizzare per i formati Apple HLS, CMAF, DASH e Microsoft Smooth Streaming.

In genere vengono impostati due comportamenti cache per ciascun endpoint:

  • Il manifest padre, che è l'indice dei tuoi file.

  • I segmenti, che sono i file dei contenuti video.

Per creare un comportamento cache per un endpoint
  1. Sulla CloudFront console, scegli la distribuzione che hai creato per il tuo canale.

  2. Scegli Behaviors (Comportamenti) quindi scegli Create Behavior (Crea comportamento).

  3. Per Path pattern, usa un MediaPackage OriginEndpoint GUID specifico come prefisso di percorso.

    Modelli di percorso

    Per un endpoint HLS come https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8, crea questi due comportamenti della cache:

    • Per i manifest padre e figlio, utilizza /out/v1/abc123/*.m3u8.

    • Per i segmenti di contenuto, utilizza /out/v1/abc123/*.ts.

    Per un endpoint CMAF come https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.m3u8, crea questi due comportamenti della cache:

    • Per i manifest padre e figlio, utilizza /out/v1/abc123/*.m3u8.

    • Per i segmenti di contenuto, utilizza /out/v1/abc123/*.mp4.

    Per un endpoint DASH come https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.mpd, crea questi due comportamenti della cache:

    • Per il manifest padre, utilizza /out/v1/abc123/*.mpd.

    • Per i segmenti di contenuto, utilizza /out/v1/abc123/*.mp4.

    Per gli endpoint Microsoft Smooth Streaming come https://3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com/out/v1/abc123/index.ism, è previsto solo un manifesto, perciò va creato un solo comportamento della cache: out/v1/abc123/index.ism/*.

  4. Specifica i valori per le impostazioni seguenti per ciascun comportamento cache:

    Viewer Protocol Policy (Policy protocollo visualizzatore)

    Scegli Redirect HTTP to HTTPS (Reindirizza HTTP a HTTPS).

    Policy della cache e policy di richiesta origine

    Per Cache policy (Policy cache), scegli Create policy (Crea policy). Per la nuova policy della cache, specificare le seguenti impostazioni:

    Minimum TTL (TTL minimo)

    Imposta su 5 secondi o meno, per evitare la distribuzione di contenuti obsoleti.

    Stringhe di query

    Per Query strings (Stringhe di query) (in Cache key settings (Impostazioni chiave cache)), scegli Include specified query strings (Includi stringhe di query specificate). Per Allow (Permetti), aggiungi i valori seguenti digitandoli e scegliendo Add item (Aggiungi elemento):

    • Aggiungi m come parametro della stringa di query che desideri utilizzare come base CloudFront per la memorizzazione nella cache. La MediaPackage risposta include sempre il tag ?m=### per registrare l'ora modificata dell'endpoint. Se il contenuto è già memorizzato nella cache con un valore diverso per questo tag, CloudFront richiede un nuovo manifesto invece di fornire la versione memorizzata nella cache.

    • Se utilizzi la funzionalità di visualizzazione con spostamento temporale in MediaPackage, specifica start e end come parametri aggiuntivi della stringa di query sul comportamento della cache per le richieste manifeste (*.m3u8, *.mpd e). index.ism/* In questo modo, i contenuti vengono forniti nello specifico per il periodo di tempo indicato nella richiesta di manifest. Per ulteriori informazioni sulla visualizzazione in differita e sulla formattazione dei parametri di richiesta relativi a inizio e fine dei contenuti, consulta Visualizzazione in differita nella Guida per l’utente di AWS Elemental MediaPackage.

    • Se utilizzi la funzionalità di filtro del manifesto in MediaPackage, specifica aws.manifestfilter come parametro aggiuntivo della stringa di query per la politica della cache che utilizzi con il comportamento della cache per le richieste manifeste (*.m3u8*.mpd, e). index.ism/* Ciò configura la distribuzione per inoltrare la stringa di aws.manifestfilter query all' MediaPackage origine, necessaria per il funzionamento della funzionalità di filtro del manifesto. Per ulteriori informazioni, consulta Filtraggio dei manifest nella Guida per l'utente di AWS Elemental MediaPackage.

    • Se utilizzi HLS a bassa latenza (LL-HLS), specifica _HLS_msn e _HLS_part come parametri aggiuntivi della stringa di query per la policy della cache utilizzata con il comportamento della cache per le richieste manifesto (*.m3u8). Ciò configura la distribuzione per inoltrare _HLS_msn e _HLS_part interrogare le stringhe all'MediaPackage origine, il che è necessario per il funzionamento della funzione di blocco delle playlist LL-HLS.

  5. Scegli Crea.

  6. Dopo aver creato la policy della cache, torna al flusso di lavoro di creazione del comportamento della cache. Aggiorna l'elenco delle policy della cache e scegli la policy appena creata.

  7. Scegli Create behavior (Crea comportamento).

  8. Se l'endpoint non è un endpoint Microsoft Smooth Streaming, ripeti questa procedura per creare un secondo comportamento della cache.

Fase 4: Abilita l'autorizzazione CDN basata sull'intestazione MediaPackage

Consigliamo di abilitare l'autorizzazione MediaPackage CDN basata sull'intestazione tra gli endpoint e la distribuzione. MediaPackage CloudFront Per ulteriori informazioni, consulta Abilita l'autorizzazione CDN nella MediaPackage Guida per l'utente. AWS Elemental MediaPackage

Passaggio 5: utilizzare CloudFront per servire il canale di live streaming

Dopo aver creato la distribuzione, aggiunto le origini, creato i comportamenti della cache e abilitato l'autorizzazione CDN basata sulle intestazioni, puoi servire il canale di live streaming utilizzando. CloudFront CloudFront indirizza le richieste dai visualizzatori agli MediaPackage endpoint corretti in base alle impostazioni configurate per i comportamenti della cache.

Per i link presenti nell'applicazione (ad esempio, un lettore multimediale), specificate l'URL del file multimediale nel formato standard per gli URL. CloudFront Per ulteriori informazioni, consulta Personalizzazione del formato URL per i file in CloudFront.