Distribuzione 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à.

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

Per usare AWS Media Services con CloudFront per distribuire contenuti in tempo reale a un pubblico globale, segui le istruzioni 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 lo comprime in versioni più piccole (codifica) che possono essere distribuite agli 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 istruzioni dettagliate sull'utilizzo di CloudFront per la distribuzione di contenuti MediaPackage formattati, consulta Servire video live formattati con AWS Elemental MediaPackage.

  • Archiviazione e distribuzione dei tuoi contenuti utilizzando l'origine scalabile: se il contenuto MediaLive codificato nei formati richiesti da tutti i dispositivi utilizzati dagli spettatori, usa un'origine altamente scalabile come AWS Elemental MediaStore per la distribuzione del contenuto. Per istruzioni dettagliate su come utilizzare CloudFront per la distribuzione di contenuti archiviati in un container MediaStore, consulta Distribuzione di Video con AWS Elemental MediaStore come origine.

Dopo aver configurato il server di origine utilizzando una di queste opzioni, puoi distribuire video in streaming live agli utenti 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.

Distribuzione di Video con AWS Elemental MediaStore come origine

Se hai video archiviati in un container AWS Elemental MediaStore, puoi creare una distribuzione CloudFront per fornire i contenuti.

Per iniziare, concedi a CloudFront l'accesso al tuo container MediaStore. Quindi puoi creare una distribuzione CloudFront e configurarla in modo che funzioni con MediaStore.

Per servire contenuti da un container AWS Elemental MediaStore.

  1. Segui la procedura in Consentire ad Amazon CloudFront di accedere al container MediaStore, quindi torna a questi passaggi per creare la distribuzione.

  2. Creazione di una distribuzione con le impostazioni seguenti:

    Origin Domain Name (Nome dominio origine)

    L'endpoint dati assegnato al tuo container MediaStore. Dall'elenco a discesa, scegli il container MediaStore per i tuoi video live. Il formato di un'origine MediaStore è Container-OriginEndpointURL. Ad esempio, mymediastore.data.mediastore.us-east-1.amazonaws.com. Per ulteriori informazioni, consulta Origin Domain Name (Nome dominio origine).

    Origin Path (Percorso origine)

    La struttura della cartella nel container MediaStore in cui gli oggetti vengono archiviati. Per ulteriori informazioni, consulta Origin Path (Percorso origine).

    Origin Custom Headers (Intestazioni personalizzate origine)

    Aggiungi i nomi e i valori delle intestazioni se desideri che CloudFront includa intestazioni personalizzate quando inoltra le richieste alla tua 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).

    Object Caching (Caching oggetti)

    Se l’encoder utilizzato non è in grado di impostare controlli della cache su tutti gli oggetti, scegli Customize (Personalizza). Se l’encoder è in grado di impostare controlli della cache su tutti gli oggetti, scegli Origin Cache Headers (Intestazioni Cache Origine).

    TTL minimo, TTL massimo e TTL predefinito

    Imposta in base alle tue esigenze di caching e di durate dei segmenti.

    Error Caching Minimum TTL (TTL minimo caching errori)

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

    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. Dopo che CloudFront ha effettuato provisioning della distribuzione, modifica il comportamento cache per impostare la condivisione delle risorse tra origini (CORS) per l'origine:

    1. Selezionare la distribuzione e scegliere Distribution Settings (Impostazioni Distribuzione).

    2. Scegliere Behaviors (Comportamenti), selezionare l'origine e quindi Edit (Modifica).

    3. In Cache Based on Selected Request Headers (Cache in Base a Intestazioni di Richiesta Selezionate), scegliere Whitelist e quindi in Whitelist Header (Intestazioni Whitelist), selezionare Origin (Origine).

    Per ulteriori informazioni su CORS, consulta Configurazione di CloudFront per rispettare le impostazioni di condivisione delle risorse multi-origine (CORS) in Memorizzazione nella cache di contenuti in base alle intestazioni di richiesta.

  4. Per i collegamenti nella tua applicazione (ad esempio, un lettore multimediale), specifica il nome del file multimediale nello stesso formato utilizzato per altri oggetti che stai distribuendo mediante CloudFront.

Servire video live formattati con AWS Elemental MediaPackage

Se hai formattato un live stream utilizzando AWS Elemental MediaPackage, puoi creare una distribuzione CloudFront e configurare i comportamenti della cache per servire il live stream. Il seguente processo presuppone che tu abbia già creato un canale e aggiunto gli endpoint per i video live utilizzando MediaPackage.

Nota

Invece di utilizzare il seguente processo, puoi scegliere di creare automaticamente una distribuzione CloudFront quando salvi un canale in MediaPackage. Per ulteriori informazioni, consulta la sezione relativa alla creazione di una distribuzione da AWS Elemental MediaPackage nella Guida per l’utente di AWS Elemental MediaPackage.

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

Fase 1: creazione e configurazione di una distribuzione CloudFront

Completa la procedura seguente per impostare una distribuzione CloudFront per il canale video live creato con MediaPackage.

Per creare una distribuzione Web per il canale video live

  1. Accedere alla Console di gestione AWS e aprire la console CloudFront all'indirizzo https://console.aws.amazon.com/cloudfront/

  2. Scegliere Create Distribution (Crea distribuzione).

  3. Nella pagina Select a delivery method for your content (Seleziona un metodo di distribuzione per i tuoi contenuti), nella sezione Web, scegliere Get Started (Inizia).

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

    Origin Domain Name (Nome dominio origine)

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

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

    Per ulteriori informazioni, consulta Origin Domain Name (Nome dominio origine) in Valori da specificare durante la creazione o l'aggiornamento di una distribuzione.

    Origin Path (Percorso origine)

    Percorso dell'endpoint MediaPackage da cui viene servito il contenuto. Quando scegli un nome dominio di origine, CloudFront popola il percorso di origine.

    Se scegli di utilizzare un canale di un altro account AWS come Origin Domain Name (Nome dominio di origine), il campo Origin Path (Percorso di origine) non viene compilato automaticamente. Devi ottenere il percorso di origine corretto dall'altro account in modo da poterlo immettere manualmente.

    Per ulteriori informazioni su come funziona un percorso di origine, consulta Origin Path (Percorso origine) in Valori da specificare durante la creazione o l'aggiornamento di una distribuzione.

    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).

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

  6. Scegli il comportamento predefinito della cache e specifica le impostazioni corrette del comportamento cache per il canale scelto per l'origine. Puoi aggiungere una o più origini in un secondo momento e modificare le relative impostazioni per il comportamento cache.

  7. Vai alla pagina CloudFront Distributions (Distribuzioni CloudFront).

  8. Attendi finché il valore della colonna Status (Stato) per la distribuzione non è passato da In Progress (In corso) a Deployed (Distribuito): questo indica che CloudFront ha creato la distribuzione.

Fase 2: aggiunta di altri endpoint come origini

Ripeti qui le fasi per aggiungere ciascuno degli endpoint del canale MediaPackage alla distribuzione.

Per aggiungere altri endpoint come origini

  1. Sulla console CloudFront, scegli la distribuzione creata per il canale.

  2. Scegli la scheda Origins and Origin Groups (Origini e Gruppi di origine) quindi scegli Create Origin (Crea origine).

  3. Nell'elenco a discesa in Origin Domain Name (Nome origine dominio), seleziona un endpoint MediaPackage per il canale. CloudFront completa automaticamente il campo Origin Path (Percorso di origine).

  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) in Valori da specificare durante la creazione o l'aggiornamento di una distribuzione.

  5. Scegliere Create (Crea).

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 console CloudFront, scegli la distribuzione creata per il canale.

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

  3. Nella sezione Cache Behavior Settings (Impostazioni di comportamento cache) popola Path Pattern (Modello di percorso) con il primo modello indicato nelle istruzioni riportate di seguito per ciascun tipo di endpoint. Ad esempio, per un endpoint DASH, digita *.mpd per Path Pattern (Modello di percorso).

    Modelli di percorso

    Per un endpoint HLS, crea questi due comportamenti cache:

    • Per i manifest padre e figlio, utilizza *.m3u8.

    • Per i segmenti di contenuto, utilizza *.ts.

    Per un endpoint CMAF, crea questi due comportamenti cache:

    • Per i manifest padre e figlio, utilizza *.m3u8.

    • Per i segmenti di contenuto, utilizza *.mp4.

    Per un endpoint DASH, crea questi due comportamenti cache:

    • Per il manifest padre, utilizza *.mpd.

    • Per i segmenti di contenuto, utilizza *.mp4.

    Per gli endpoint Microsoft Smooth Streaming è previsto solo un manifest, perciò va creato un solo comportamento cache: 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).

    Cache Based on Selected Request Headers (Cache in base a intestazioni di richiesta selezionate)

    Scegli None (improves caching) (Nessuno (migliora caching)).

    Per ulteriori informazioni sul miglioramento del caching, consulta Aumento della percentuale di richieste eseguite direttamente dalle cache CloudFront (percentuale di riscontri nella cache).

    Object Caching (Caching oggetti)

    MediaPackage imposta le intestazioni predefinite Cache-Control che garantiscono un comportamento corretto in riproduzione. Se desideri utilizzare tali valori, scegli Use Origin Cache Headers (Usa intestazioni cache di origine). Puoi tuttavia aumentare i tempi di cache per i segmenti video. Per ulteriori informazioni sulla personalizzazione del periodo di permanenza degli oggetti nella cache di CloudFront, consulta Object Caching (Caching oggetti) in Valori da specificare durante la creazione o l'aggiornamento di una distribuzione.

    Minimum TTL (TTL minimo)

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

    Query String Forwarding and Caching (Inoltro e caching di stringhe di query)

    Scegli Forward all, cache based on whitelist (Inoltra tutto, cache basata su lista bianca).

    Query String Whitelist (Lista bianca stringhe di query)

    Specifica m come parametro della stringa di query che CloudFront deve utilizzare come base per il caching. La risposta di MediaPackage include sempre il tag ?m=### per acquisire l'orario di modifica dell'endpoint. Se i contenuti sono già memorizzati nella cache con un valore differente per questo tag, CloudFront richiede un nuovo manifest invece di distribuire la versione memorizzata nella cache.

    Se utilizzi la funzionalità di visualizzazione in differita in MediaPackage, specifica start e end come ulteriori parametri della stringa di query sul comportamento cache per le richieste di manifest (*.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 si utilizza la caratteristica del filtraggio dei manifest in MediaPackage, specificare aws.manifestfilter come parametro della stringa di query aggiuntivo sul comportamento della cache per le richieste manifest (*.m3u8, *.mpd e index.ism/*). In questo modo la distribuzione viene configurata per inoltrare la stringa di query aws.manifestfilter all'origine MediaPackage, necessaria per il funzionamento della caratteristica del filtraggio dei manifest. Per ulteriori informazioni, consulta Filtraggio dei manifest nella Guida per l'utente di AWS Elemental MediaPackage.

  5. Scegliere Create (Crea).

  6. Se non disponi di un endpoint Microsoft Smooth Streaming, scegli Create Behavior (Crea comportamento) e quindi ripeti questa procedura per creare un secondo comportamento cache.

Fase 4: utilizzo di CloudFront per distribuire il canale video in streaming

Una volta creata la distribuzione, aggiunte le origini e creati i comportamenti cache, puoi distribuire il canale in streaming live tramite CloudFront. CloudFront instrada le richieste dai visualizzatori agli endpoint MediaPackage corretti in base alle impostazioni configurate per i comportamenti della cache.

Per i collegamenti nella tua applicazione (ad esempio a un lettore multimediale), specifica l'URL per il file multimediale nel formato standard per gli URL di CloudFront. Per ulteriori informazioni, consulta Personalizzazione del formato URL per i file in CloudFront.