Monitoraggio dello streaming a bassa latenza di Amazon IVS - Amazon IVS

Monitoraggio dello streaming a bassa latenza di Amazon IVS

Utilizzando Amazon CloudWatch è possibile monitorare le risorse di Amazon Interactive Video Service (IVS). CloudWatch raccoglie ed elabora i dati non elaborati da Amazon IVS trasformandoli in parametri leggibili quasi in tempo reale. Queste statistiche vengono conservate per un periodo di 15 mesi, per permettere l'accesso alle informazioni della cronologia e per offrire una prospettiva migliore sulle prestazioni del servizio o dell'applicazione Web. Esiste la possibilità di impostare allarmi che controllano determinate soglie e inviare notifiche o intraprendere azioni quando queste soglie vengono raggiunte. Per informazioni dettagliate, consultare la Guida per l'utente di CloudWatch.

Il timestamp di un parametro rappresenta l'inizio del periodo durante il quale vengono accumulati i dati dei parametri. Ad esempio, si assuma di ottenere una somma di parametri LiveDeliveredTime al minuto di 300 secondi alle 01:02:00. Ciò significa che gli spettatori hanno ricevuto 5 minuti di video durante il periodo di 1 minuto dalle 01:02:00 alle 01:02:59.

Per i parametri designati come ad alta risoluzione, il primo punto dati viene visualizzato alcuni secondi dopo l'avvio dello streaming. Quando si effettuano le richieste di parametri, si consiglia di specificare un periodo di 5 secondi. (Consultare Risoluzione nella Guida per l'utente di Amazon CloudWatch.) Per altri parametri, i dati vengono emessi entro 1 minuto dal timestamp a cui si riferiscono.

I parametri ad alta risoluzione vengono registrati nel tempo. La risoluzione diminuisce sostanzialmente con l'età dei parametri. Lo schema è il seguente:

  • I parametri di 1 secondo sono disponibili per 3 ore.

  • I parametri di 60 secondi sono disponibili per 15 giorni.

  • I parametri di 5 minuti sono disponibili per 63 giorni.

  • I parametri di 1 ora sono disponibili per 455 giorni (15 mesi).

Per informazioni aggiornate sulla conservazione dei dati, cercare "periodo di conservazione" in Domande frequenti su Amazon CloudWatch.

Prerequisiti

Accesso ai dati della sessione di streaming

Usando l’operazione listStreamSessions, puoi accedere a un elenco di flussi che un canale ha avuto per un massimo di 60 giorni. Questo elenco può includere una sessione di streaming live (indicata da un endTime vuoto).

Puoi ottenere i dati di sessione per un flusso specifico tramite l'operazione getStreamSession. Se specifichi il parametro streamId, l'operazione restituisce la sessione più recente. Inoltre, puoi chiamare periodicamente l'operazione per ottenere gli ultimi eventi del flusso (fino ai 500 più recenti).

Istruzioni per la console

  1. Aprire la Console Amazon IVS.

    L'accesso alla console Amazon IVS è possibile anche dalla Console di gestione AWS.

  2. Nel riquadro di navigazione, scegliere Channels (Canali). Se il riquadro di navigazione è compresso, aprirlo prima scegliendo l'icona a hamburger.

  3. Scegliere il canale per accedere alla pagina dei dettagli.

  4. Scorrere la pagina verso il basso fino a visualizzare la sezione Stream sessions (Sessioni di streaming).

  5. Selezionare l'ID flusso della sessione a cui si desidera accedere per visualizzare i dettagli della sessione, inclusi i grafici per i parametri ad alta risoluzione di Amazon CloudWatch.

In alternativa, se uno o più canali sono già attivi:

  1. Aprire la Console Amazon IVS.

  2. Nel riquadro di navigazione, selezionare Live channels (Canali live). (Se il riquadro di navigazione è compresso, aprirlo prima scegliendo l'icona a hamburger.)

  3. Seleziona un canale live dall'elenco per accedere ai dettagli della sessione all'interno di una vista divisa.

Istruzioni per SDK AWS

L'accesso ai dati delle sessioni di streaming con un SDK AWS è un'opzione avanzata e richiede prima il download e la configurazione dell'SDK sull'applicazione. Di seguito sono riportate le istruzioni per l'SDK AWS che utilizza JavaScript.

Prerequisito: per utilizzare l'esempio di codice riportato di seguito, è necessario caricare l'SDK AWS JavaScript nell'applicazione. Per informazioni dettagliate, consultare Guida introduttiva all'SDK AWS per JavaScript.

// This first call lists up to 50 stream sessions for a given channel. const AWS = require("aws-sdk"); const REGION = 'us-west-2'; let channelArn = USE_YOUR_CHANNEL_ARN_HERE; AWS.config.getCredentials(function(err) { if (err) console.log(err.stack); // credentials not loaded else { console.log("Access key:", AWS.config.credentials.accessKeyId); } }); AWS.config.update({region: REGION}); var ivs = new AWS.IVS(); // List Stream Sessions async function listSessions(arn) { const result = await ivs.listStreamSessions({"channelArn": arn}).promise(); console.log(result.streamSessions); } listSessions(channelArn); // Get Stream Session async function getSession(arn, id) { const result = await ivs.getStreamSession({"channelArn": arn, "streamId": id}).promise(); console.log(result); // This function polls every 3 seconds and prints the latest IVS stream events. setInterval(function(){ console.log(result.streamSession.truncatedEvents); }, 3000); } getSession(channelArn);

Istruzioni per la CLI

L'accesso ai dati delle sessioni di streaming con AWS CLI è un'opzione avanzata e richiede prima il download e la configurazione della CLI sul computer in uso. Per maggiori dettagli, consultare la Guida per l'utente dell'interfaccia a riga di comando di AWS.

  1. Visualizzazione delle sessioni di streaming:

    aws ivs list-stream-sessions --channel-arn <arn>
  2. Ottene i dati delle sessioni di streaming per un flusso specifico utilizzando il relativo streamId:

    aws ivs get-stream-session --channel-arn <arn> --stream-id <streamId>

Di seguito è riportata una risposta di esempio alla chiamata get-stream-session:

{ "streamSession": { "startTime": "2021-10-22T00:03:57+00:00", "streamId": "st-1FQzeLONMT9XTKI43leLSo1", "truncatedEvents": [ { "eventTime": "2021-10-22T00:09:30+00:00", "name": "Session Ended", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:09:30+00:00", "name": "Stream End", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:03:57+00:00", "name": "Stream Start", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:03:50+00:00", "name": "Session Created", "type": "IVS Stream State Change" } ], "endTime": "2021-10-22T00:09:31+00:00", "ingestConfiguration": { "audio": { "channels": 2, "codec": "mp4a.40.2", "sampleRate": 48000, "targetBitrate": 160000 }, "video": { "avcLevel": "4.0", "avcProfile": "Baseline", "codec": "avc1.42C028", "encoder": "obs-output module (libobs version 27.0.1)", "targetBitrate": 3500000, "targetFramerate": 30, "videoHeight": 1080, "videoWidth": 1920 } }, "channel": { "name": "", "ingestEndpoint": "3f234d592b38.global-contribute.live-video.net", "authorized": false, "latencyMode": "LOW", "recordingConfigurationArn": "", "type": "STANDARD", "playbackUrl": "https://3f234d592b38.us-west-2.playback.live-video.net/api/video/v1/us-west-2.991729659840.channel.dY7LsluQX1gV.m3u8", "arn": "arn:aws:ivs:us-west-2:991729659840:channel/dY7LsluQX1gV" } } }

Filter Streams by Health (Filtro di flussi per integrità)

Per trovare facilmente i flussi che presentano dei problemi, è possibile utilizzare listStreams per filtrare gli streaming live in base all'integrità.

Istruzioni per la console

  1. Aprire la Console Amazon IVS.

    L'accesso alla console Amazon IVS è possibile anche dalla Console di gestione AWS.

  2. Nel riquadro di navigazione, selezionare Live channels (Canali live). Se il riquadro di navigazione è compresso, aprirlo prima scegliendo l'icona a hamburger.

  3. Selezionare il campo di ricerca per Filter by health (Filtra per integrità).

  4. Nell'elenco a discesa selezionare il filtro per Health = STARVING (Integrità = AFFAMATO).

Dopo aver applicato il filtro, esiste la possibilità di passare alla pagina dei dettagli di un canale e selezionare la relativa sessione di streaming live in modo da accedere ai dettagli della configurazione di input e agli eventi in streaming.

Istruzioni per la CLI

L'uso di AWS CLI è un'opzione avanzata e richiede prima il download e la configurazione della CLI sul computer. Per maggiori dettagli, consultare la Guida per l'utente dell'interfaccia a riga di comando di AWS.

Per filtrare i flussi in base all'integrità (ad esempio, STARVING):

aws ivs list-streams --filter-by health=STARVING

Dimensione integrità di CloudWatch per ConcurrentStreams

È possibile filtrare ConcurrentStreams per uno specifico valore di Health. Consulta Parametri di CloudWatch: streaming a bassa latenza IVS.

Accesso ai parametri di CloudWatch

Amazon CloudWatch raccoglie ed elabora i dati non elaborati da Amazon IVS trasformandoli in parametri leggibili quasi in tempo reale. Queste statistiche vengono conservate per un periodo di 15 mesi, per permettere l'accesso alle informazioni della cronologia e per offrire una prospettiva migliore sulle prestazioni del servizio o dell'applicazione Web. Esiste la possibilità di impostare allarmi che controllano determinate soglie e inviare notifiche o intraprendere azioni quando queste soglie vengono raggiunte. Per informazioni dettagliate, consultare la Guida per l'utente di CloudWatch.

Tenere presente che i parametri di CloudWatch vengono registrati nel tempo. La risoluzione diminuisce efficacemente con l'età dei parametri. Lo schema è il seguente:

  • I parametri di 1 secondo sono disponibili per 3 ore.

  • I parametri di 60 secondi sono disponibili per 15 giorni.

  • I parametri di 5 minuti sono disponibili per 63 giorni.

  • I parametri di 1 ora sono disponibili per 455 giorni (15 mesi).

Quando si chiama getMetricData si può specificare un periodo di 1, 5 (consigliato), 10, 30 o qualsiasi multiplo di 60 secondi per i parametri ad alta risoluzione.

Istruzioni per la console CloudWatch

  1. Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nella navigazione laterale, espandere il menu a discesa Metrics (Parametri), quindi selezionare All metrics (Tutti i parametri).

  3. Nella scheda Sfoglia, utilizzando il menu a discesa senza etichetta sulla sinistra, seleziona la propria regione "di origine", ovvero dove sono stati creati i canali. Per ulteriori informazioni sulle Regioni, consultare Soluzione globale, controllo regionale. Per un elenco delle Regioni supportate, consultare la pagina di Amazon IVS nei Riferimenti generali di AWS.

  4. Nella parte inferiore della scheda Sfoglia, seleziona lo spazio dei nomi IVS.

  5. Esegui una di queste operazioni:

    1. Nella barra di ricerca digitare l'ID della risorsa (parte dell'ARN, arn:::ivs:channel/<resource id>).

      Quindi seleziona IVS > Per canale.

    2. Se IVS viene visualizzato come servizio selezionabile in Spazi dei nomi AWS, selezionarlo. Verrà elencato se si utilizza Amazon IVS e se invia i parametri ad Amazon CloudWatch. Se IVS non è presente nell'elenco, allora significa che non si dispone di parametri Amazon IVS.

      Selezione ora il raggruppamento di dimensioni desiderato. Le dimensioni disponibili sono elencate nei Parametri di CloudWatch qui sotto.

  6. Seleziona i parametri da aggiungere al grafico. I parametri disponibili sono elencati nei Parametri di CloudWatch qui sotto.

È inoltre possibile accedere al grafico CloudWatch della sessione di streaming dalla pagina dei dettagli della sessione di streaming, selezionando il pulsante View in CloudWatch (Visualizza in CloudWatch).

Istruzioni per la CLI

È possibile accedere ai parametri anche utilizzando l'interfaccia a riga di comando (CLI) di AWS. Ciò richiede il download e la configurazione della CLI sul computer. Per maggiori dettagli, consultare la Guida per l'utente dell'interfaccia a riga di comando di AWS.

Quindi, per accedere ai parametri dello streaming a bassa latenza di Amazon IVS utilizzando la CLI di AWS:

  • Al prompt dei comandi, esegui:

    aws cloudwatch list-metrics --namespace AWS/IVS

Per ulteriori informazioni, consulta Utilizzo di parametri di Amazon CloudWatch nella Guida per l'utente di Amazon CloudWatch.

Parametri di CloudWatch: streaming a bassa latenza IVS

Amazon IVS fornisce i parametri riportati di seguito nello spazio nomi AWS/IVS.

Parametro Dimensione Descrizione

ConcurrentViews

Nessuno

Un conteggio di viste simultanee su tutti i canali live. Una vista è una sessione di visualizzazione unica che sta attivamente scaricando o riproducendo un video. Per una definizione più dettagliata, consultare la Glossario IVS. Se i canali sono attivi ma in aggregato non hanno viste, il valore di questo parametro è 0. Se non vi sono canali attivi, il parametro non ha punti dati.

Unità: numero

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di visualizzazioni simultanee nell'intervallo configurato.

ConcurrentViews

Channel

Filtra ConcurrentViews per ARN del canale. Se un canale è attivo ma non ha viste, il valore di questo parametro è 0. Se un canale non è attivo, il parametro non ha punti dati.

Questo parametro fornisce i dati per un canale, non per uno stream. Per visualizzare viste simultanee per una particolare sessione di streaming su un determinato canale, valuta il parametro ConcurrentViews per quel canale tra l'ora di inizio e di fine della sessione di streaming.

Unità: numero

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di visualizzazioni simultanee nell'intervallo configurato.

ConcurrentStreams

Nessuno

Il conteggio dei canali in streaming dal vivo. Se non vi sono canali attivi, questo parametro non ha punti dati.

Unità: numero

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di flussi simultanei nell'intervallo configurato.

ConcurrentStreams

Health

Filtra ConcurrentStreams per integrità del canale. Se non vi sono canali attivi, questo parametro non ha punti dati.

Unità: numero

Statistiche valide: Average (Media), Maximum (Massimo), Minimum (Minimo). Il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di flussi simultanei per un valore di Health specifico nell'intervallo configurato.

IngestAudioBitrate

Channel

(Parametri ad alta risoluzione) La quantità di dati audio che Amazon IVS riceve durante lo streaming. Un bitrate più elevato occupa una maggiore larghezza di banda Internet disponibile.

Unità: bit al secondo

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di bitrate audio di importazione dati nell'intervallo configurato

IngestAudioBitrate

Channel, Track

(Parametri ad alta risoluzione) La quantità di dati audio che Amazon IVS riceve durante lo streaming. Un bitrate più elevato occupa una maggiore larghezza di banda Internet disponibile.

Unità: bit al secondo

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di bitrate audio di importazione dati nell'intervallo configurato

IngestBitrate

Channel

(Parametri ad alta risoluzione) La quantità di video, audio e metadati (sommati su tutte le tracce) che Amazon IVS riceve durante lo streaming. Un bitrate più elevato occupa una maggiore larghezza di banda Internet disponibile.

Unità: bit al secondo

Statistiche valide: Media, Massimo, Minimo: rispettivamente il numero medio, il numero più grande o il numero più piccolo di bitrate di importazione nell'intervallo configurato

IngestFramerate

Channel

(Metrica ad alta risoluzione) La frequenza con la quale i fotogrammi video vengono ricevuti da Amazon IVS durante lo streaming.

Unità: numero al secondo

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di framerate di importazione dati nell'intervallo configurato

IngestFramerate

Channel, Track

(Metrica ad alta risoluzione) La frequenza con la quale i fotogrammi video vengono ricevuti da Amazon IVS durante lo streaming.

Unità: numero al secondo

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di framerate di importazione dati nell'intervallo configurato

IngestVideoBitrate

Channel

(Parametri ad alta risoluzione) La quantità di dati video che Amazon IVS riceve durante lo streaming. Un bitrate più elevato occupa una maggiore larghezza di banda Internet disponibile. Il bitrate più elevato può migliorare la qualità video, ma solo fino a un certo punto.

Unità: bit al secondo

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di bitrate video di importazione dati nell'intervallo configurato

IngestVideoBitrate

Channel, Track

(Parametri ad alta risoluzione) La quantità di dati video che Amazon IVS riceve durante lo streaming. Un bitrate più elevato occupa una maggiore larghezza di banda Internet disponibile. Il bitrate più elevato può migliorare la qualità video, ma solo fino a un certo punto.

Unità: bit al secondo

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di bitrate video di importazione dati nell'intervallo configurato

KeyframeInterval

Channel

(Parametri ad alta risoluzione) Il punto nello streaming video in cui viene inviato l'intero fotogramma anziché solo le differenze rispetto al fotogramma precedente.

Unità: secondi

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di intervalli di fotogrammi nell'intervallo configurato

KeyframeInterval

Channel, Track

(Parametri ad alta risoluzione) Il punto nello streaming video in cui viene inviato l'intero fotogramma anziché solo le differenze rispetto al fotogramma precedente.

Unità: secondi

Statistiche valide: Media, Massimo, Minimo: il numero medio, il numero più grande o il numero più piccolo (rispettivamente) di intervalli di fotogrammi nell'intervallo configurato

LiveDeliveredTime

Nessuno

La durata totale in tempo reale del video fornito a tutti gli spettatori.

Unità: secondi

Statistica valida: Sum

LiveDeliveredTime

Channel

Filtra LiveDeliveredTime per canale. I valori del canale sono il resource-id del canale, che è l'ultima parte di un ARN.

Unità: secondi

Statistica valida: Sum

LiveDeliveredTime

Channel, ViewerCountryCode

Filtra LiveDeliveredTime per canale e codice paese dello spettatore. I valori del canale sono il resource-id del canale, che è l'ultima parte di un ARN. I valori dei paesi sono codici paese ISO 3166-1 a due caratteri. Ciò permette di rispondere alla domanda: da dove stanno guardando gli spettatori? Se il paese dello spettatore non può essere determinato, viene visualizzato come UNKNOWN.

Unità: secondi

Statistica valida: Sum

LiveInputTime

Nessuno

La durata in tempo reale dello streaming video.

Unità: secondi

Statistica valida: Sum

LiveInputTime

Channel

Filtra LiveInputTime per canale. I valori del canale sono il resource-id del canale, che è l'ultima parte di un ARN.

Unità: secondi

Statistica valida: Sum

RecordedTime

Nessuno

La durata in tempo reale del video registrato.

Unità: secondi

Statistica valida: Sum

RecordedTime

Channel

Filtra RecordedTime per canale. I valori del canale sono il resource-id del canale, che è l'ultima parte di un ARN.

Unità: secondi

Statistica valida: Sum