Surveillance du streaming à faible latence Amazon IVS - Amazon Interactive Video Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillance du streaming à faible latence Amazon IVS

Vous pouvez contrôler les ressources Amazon Interactive Video Service (IVS) à l'aide d'Amazon CloudWatch. CloudWatch collecte et traite les données brutes d'Amazon IVS en métriques lisibles et disponibles pratiquement en temps réel. Ces statistiques sont conservées pendant 15 mois ; par conséquent, vous pouvez acquérir un point de vue historique sur la façon dont votre service ou application Web s'exécute. Vous pouvez définir des alarmes pour certains seuils et envoyer des notifications ou prendre des actions spécifiques lorsque ces seuils sont atteints. Pour plus d'informations, consultez le Guide de l'utilisateur CloudWatch.

L'horodatage d'une métrique représente le début de la période au cours de laquelle les données de métriques sont cumulées. Par exemple, supposons que vous obtenez une somme de métriques LiveDeliveredTime par minute de 300 secondes à 01:02:00. Cela voudrait dire que 5 minutes de vidéo ont été diffusées aux utilisateurs au cours de la période d'une minute allant de 01:02:00 à 01:02:59.

Pour les métriques désignées comme haute résolution, le premier point de données apparaît plusieurs secondes après le démarrage de la diffusion. Nous vous recommandons de spécifier une période de 5 secondes lorsque vous envoyez une demande de métrique. (Voir la section Résolution du guide de l'utilisateur d'Amazon CloudWatch) Les données des autres métriques sont émises dans un délai d'une minute suivant l'horodatage auquel elles se réfèrent.

Les métriques haute résolution sont cumulées au fil du temps. La résolution diminue à mesure que les métriques vieillissent. Voici le schéma :

  • Les métriques d'une seconde sont disponibles pendant 3 heures.

  • Les métriques de 60 secondes sont disponibles pendant 15 jours.

  • Les métriques de 5 minutes sont disponibles pendant 63 jours.

  • Les métriques d'une heure sont disponibles pendant 455 jours (15 mois).

Pour obtenir des informations à jour sur la conservation des données, recherchez « période de conservation » dans les FAQ Amazon CloudWatch.

Prérequis

Accès aux données des sessions de streaming

Le point de terminaison listStreamSessions vous permet d'accéder à la liste des flux de streaming émis par un canal au cours des 60 derniers jours. Celle-ci peut inclure une session de diffusion en direct (indiquée par un champ endTime vide).

Vous pouvez obtenir les données de session associées à un flux spécifique via le point de terminaison getStreamSession. Si vous ne spécifiez rien pour le paramètre streamId, le point de terminaison renvoie la dernière session. En outre, vous pouvez appeler périodiquement le point de terminaison pour obtenir les derniers événements de votre flux de streaming (dans la limite des 500 derniers événements).

Instructions de la console

  1. Ouvrez la console Amazon IVS.

    (Vous pouvez également accéder à la console Amazon IVS via la console de gestion AWS.)

  2. Dans le volet de navigation, choisissez Channels (Canaux). (Si le volet de navigation est réduit, ouvrez-le d'abord en choisissant l'icône en forme de hamburger.)

  3. Choisissez un canal pour accéder à sa page de détails.

  4. Faites défiler la page jusqu'à la section Stream sessions (Sessions de streaming).

  5. Sélectionnez l'ID de flux de la session à laquelle vous souhaitez accéder pour afficher les détails de sa session, y compris les graphiques des métriques haute résolution Amazon CloudWatch.

Sinon, si un ou plusieurs canaux sont déjà en direct :

  1. Ouvrez la console Amazon IVS.

  2. Dans le volet de navigation, sélectionnez Canaux en direct. (Si le volet de navigation est réduit, ouvrez-le d'abord en choisissant l'icône en forme de hamburger.)

  3. Sélectionnez un canal en direct dans la liste pour accéder aux détails de sa session dans une vue fractionnée.

Instructions du SDK AWS

L'accès aux données des sessions de flux de streaming via le SDK AWS est une option avancée. Vous devez d'abord télécharger et configurer le SDK sur votre application. Vous trouverez ci-dessous les instructions concernant le SDK AWS utilisant JavaScript.

Prérequis : pour pouvoir utiliser l'exemple de code ci-dessous, vous devez charger le SDK AWS JavaScript dans votre application. Pour plus d'informations, consultez la section Mise en route avec le kit SDK AWS pour 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);

Instructions de la CLI

L'accès aux données des sessions de flux de streaming via l'AWS CLI est une option avancée. Vous devez d'abord télécharger et configurer le SDK sur votre application. Pour plus de détails, consultez le ‬Guide de l’utilisateur de l’Interface de ligne de commande AWS‭.

  1. Affichage des listes de sessions de flux de streaming :

    aws ivs list-stream-sessions --channel-arn <arn>
  2. Vous pouvez obtenir les données de session d'un flux de streaming spécifique à l'aide de son streamId :

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

Voici un exemple de réponse à l'appel 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" } } }

Filtrage des flux de streaming selon leur état

Pour trouver facilement les flux de streaming qui rencontrent des problèmes, vous pouvez utiliser listStreams pour filtrer les flux en direct selon leur « état ».

Instructions de la console

  1. Ouvrez la console Amazon IVS.

    (Vous pouvez également accéder à la console Amazon IVS via la console de gestion AWS.)

  2. Dans la console de navigation, choisissez Live channels (Canaux en direct). (Si le volet de navigation est réduit, ouvrez-le d'abord en choisissant l'icône en forme de hamburger.)

  3. Sélectionnez le champ de recherche pour accéder au filtrage par état.

  4. Dans la liste déroulante, sélectionnez l'option de filtrage Health = STARVING

Une fois les flux de diffusion filtrés, vous pouvez accéder à la page de détails d'un canal, puis sélectionner la session de diffusion en direct pour accéder aux détails de la configuration d'entrée et aux événements de diffusion.

Instructions de la CLI

L’utilisation de l’AWS CLI est une option avancée qui nécessite le téléchargement et la configuration de la CLI sur votre machine. Pour plus de détails, consultez le ‬Guide de l’utilisateur de l’Interface de ligne de commande AWS‭.

Pour filtrer les flux de streaming selon leur état (par ex., STARVING) :

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

Dimension d'état CloudWatch pour ConcurrentStreams

Vous pouvez filtrer les ConcurrentStreams en fonction d'un Health spécifique. Consultez Métriques CloudWatch : streaming à faible latence IVS.

Accès aux métriques CloudWatch

Amazon CloudWatch collecte et transforme les données brutes d'Amazon IVS en métriques lisibles et disponibles pratiquement en temps réel. Ces statistiques sont conservées pendant 15 mois ; par conséquent, vous pouvez acquérir un point de vue historique sur la façon dont votre service ou application Web s'exécute. Vous pouvez définir des alarmes pour certains seuils et envoyer des notifications ou prendre des actions spécifiques lorsque ces seuils sont atteints. Pour plus d'informations, consultez le Guide de l'utilisateur CloudWatch.

Notez que les mesures CloudWatch sont cumulées au fil du temps. La résolution diminue à mesure que les métriques vieillissent. Voici le schéma :

  • Les métriques d'une seconde sont disponibles pendant 3 heures.

  • Les métriques de 60 secondes sont disponibles pendant 15 jours.

  • Les métriques de 5 minutes sont disponibles pendant 63 jours.

  • Les métriques d'une heure sont disponibles pendant 455 jours (15 mois).

Lorsque vous appelez getMetricData, vous pouvez spécifier une période de 1, 5 (recommandé), 10, 30 ou n'importe quel multiple de 60 secondes pour les métriques haute résolution.

Instructions pour la console CloudWatch

  1. Ouvrez la console CloudWatch à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau latéral de navigation, développez le menu déroulant Metrics (Métriques), puis sélectionnez All metrics (Toutes les métriques).

  3. Sous l'onglet Parcourir, à l'aide de la liste déroulante sans étiquette à gauche, sélectionnez votre région « d'accueil » dans laquelle votre ou vos canaux ont été créés. Pour en savoir plus sur les régions, consultez Solution mondiale, contrôle régional. Pour obtenir une liste des régions prises en charge, consultez la page Amazon IVS dans les Références générales AWS.

  4. Au bas de l'onglet Parcourir, sélectionnez l'espace de noms IVS.

  5. Effectuez l’une des actions suivantes :

    1. Dans la barre de recherche, entrez votre ID de ressource (partie de l'ARN, arn:::ivs:channel/<resource id>).

      Ensuite, sélectionnez IVS > Par canal.

    2. Si IVS apparaît comme un service sélectionnable sous AWS Namespaces (Espaces de noms AWS), sélectionnez-le. Il sera répertorié si vous utilisez Amazon IVS et qu'il envoie des métriques à Amazon CloudWatch. (Si IVS n'est pas répertorié, vous ne disposez pas de métriques Amazon IVS.)

      Choisissez ensuite un groupe de dimensions comme vous le souhaitez ; les dimensions disponibles sont répertoriées dans les Métriques CloudWatch ci-dessous.

  6. Choisissez des métriques pour ajouter au graphique. Les métriques disponibles sont répertoriées dans les Métriques CloudWatch ci-dessous.

Vous pouvez également accéder au graphique CloudWatch de votre session de flux de streaming à partir de la page de détails de ladite session, en sélectionnant le bouton View in CloudWatch (Afficher dans CloudWatch).

Instructions de la CLI

Vous pouvez également accéder aux métriques à l'aide de l'AWS CLI. Pour cela, vous devez d'abord télécharger et configurer la CLI sur votre machine. Pour plus de détails, consultez le Guide de l'utilisateur de l'Interface de ligne de commande AWS.

Ensuite, pour accéder aux métriques de streaming à faible latence Amazon IVS à l'aide de l'AWS CLI :

  • À partir d'une invite de commande, exécutez :

    aws cloudwatch list-metrics --namespace AWS/IVS

Pour de plus amples informations, consultez Utilisation des métriques Amazon CloudWatch dans le Guide de l'utilisateur Amazon CloudWatch.

Métriques CloudWatch : streaming à faible latence IVS

Amazon IVS fournit les métriques suivantes dans l'espace de noms AWS/IVS.

Métrique Dimension Description

ConcurrentViews

Aucune

Nombre de vues simultanées sur tous vos canaux en direct. Une vue est une session de visualisation unique qui est en train de télécharger ou de lire des vidéos activement. (Pour obtenir une définition plus détaillée, veuillez consulter le Glossaire.) Si les canaux sont en direct mais qu'ils n'ont pas de vues, la valeur de cette métrique est 0. Si aucun canal n'est en direct, la métrique ne comporte aucun point de données.

Unité : nombre

Statistiques valides : Moyenne, Maximum, Minimum — Nombre moyen, plus grand nombre ou plus petit nombre (respectivement) de vues simultanées durant l'intervalle configuré.

ConcurrentViews

Channel

Filtre ConcurrentViews par ARN de canal. Si un canal est en direct, mais n'a pas de vues, la valeur de cette métrique est 0. Si un canal n'est pas en direct, la métrique ne comporte aucun point de données.

Cette métrique fournit des données pour un canal, et non pour un flux. Pour afficher les vues simultanées d'une session de streaming particulière sur un canal donné, évaluez la métrique ConcurrentViews pour ce canal entre les heures de début et de fin de la séance de streaming.

Unité : nombre

Statistiques valides : Moyenne, Maximum, Minimum — Nombre moyen, plus grand nombre ou plus petit nombre (respectivement) de vues simultanées durant l'intervalle configuré.

ConcurrentStreams

Aucun

Nombre de vos canaux qui diffusent en direct. Si aucun canal n'est en direct, cette métrique ne comporte aucun point de données.

Unité : nombre

Statistiques valides : Moyenne, Maximum, Minimum, c'est-à-dire le nombre moyen, le plus grand nombre ou le plus petit nombre (respectivement) de flux simultanés durant l'intervalle configuré.

ConcurrentStreams

Health

Filtres ConcurrentStreams en fonction de l'état du canal. Si aucun canal n'est en direct, cette métrique ne comporte aucun point de données.

Unité : nombre

Statistiques valides : Moyenne, Maximum, Minimum, c'est-à-dire le nombre moyen, le plus grand nombre ou le plus petit nombre (respectivement) de flux simultanés pour un Health spécifique durant l'intervalle configuré.

IngestAudioBitrate

Channel

(Métriques haute résolution) Quantité de données audio qu'Amazon IVS reçoit lorsque vous diffusez en streaming. Plus le débit binaire est élevé, plus la consommation de votre bande passante Internet disponible est importante.

Unité : bits par seconde

Statistiques valides : Moyenne, Maximum, Minimum – Débit moyen, maximum et minimum (respectivement) d'ingestion des données audio au cours de l'intervalle configuré

IngestFramerate

Channel

(Métrique haute résolution) Fréquence de réception par Amazon IVS des images animées lorsque vous diffusez en streaming.

Unité : images par seconde

Statistiques valides : Moyenne, Maximum, Minimum – Débit moyen, maximum et minimum (respectivement) d'ingestion des images au cours de l'intervalle configuré

IngestVideoBitrate

Channel

(Métrique haute résolution) Quantité de données vidéo qu'Amazon IVS reçoit lorsque vous diffusez en streaming. Plus le débit binaire est élevé, plus la consommation de votre bande passante Internet disponible est importante. Plus le débit binaire plus élevé, plus la qualité vidéo peut s'en trouver améliorée, mais seulement jusqu'à un certain point.

Unité : bits par seconde

Statistiques valides : Moyenne, Maximum, Minimum – Débit moyen, maximum et minimum (respectivement) d'ingestion des données vidéo au cours de l'intervalle configuré

KeyframeInterval

Channel

(Métrique haute résolution) Point dans le flux vidéo correspondant à l'envoi de l'image entière au lieu des différences par rapport à l'image précédente.

Unité : secondes

Statistiques valides : Moyenne, Maximum, Minimum – Nombre moyen, maximal et minimal (respectivement) d'intervalles d'images clés au cours de l'intervalle configuré

LiveDeliveredTime

Aucun

Durée totale en temps réel de la vidéo diffusée à tous les utilisateurs.

Unité : secondes

Statistique valide : somme

LiveDeliveredTime

Channel

Filtre LiveDeliveredTime par canal. Les valeurs des canaux sont l'resource-id du canal, qui est la dernière partie d'un ARN.

Unité : secondes

Statistique valide : somme

LiveDeliveredTime

Channel, ViewerCountryCode

Filtre LiveDeliveredTime par canal et code pays de l'utilisateur. Les valeurs des canaux sont l'resource-id du canal, qui est la dernière partie d'un ARN. Les valeurs de pays sont des codes pays ISO 3166-1 à deux caractères. Cela vous permet de répondre à la question : d'où mes utilisateurs regardent-ils ? Si le pays de l'utilisateur ne peut pas être déterminé, il est affiché comme UNKNOWN.

Unité : secondes

Statistique valide : somme

LiveInputTime

Aucun

Durée en temps réel du flux vidéo.

Unité : secondes

Statistique valide : somme

LiveInputTime

Channel

Filtre LiveInputTime par canal. Les valeurs des canaux sont l'resource-id du canal, qui est la dernière partie d'un ARN.

Unité : secondes

Statistique valide : somme

RecordedTime

Aucun

Durée en temps réel de la vidéo enregistrée.

Unité : secondes

Statistique valide : somme

RecordedTime

Channel

Filtre RecordedTime par canal. Les valeurs des canaux sont l'resource-id du canal, qui est la dernière partie d'un ARN.

Unité : secondes

Statistique valide : somme