Démarrez avec le montage côté serveur IVS - Amazon IVS

Démarrez avec le montage côté serveur IVS

Ce document explique les étapes nécessaires pour le démarrage avec le montage côté serveur IVS.

Prérequis

Pour utiliser le montage côté serveur, vous devez disposer d’une scène avec des diffuseurs de publication actifs et utiliser un canal IVS et/ou un compartiment S3 comme destination de montage. Nous décrivons ci-dessous un flux de travail possible qui utilise les événements EventBridge pour démarrer un montage qui diffuse la scène sur une chaîne IVS lorsqu’un participant diffuse. Vous pouvez également démarrer et arrêter des montages en fonction de la logique de votre propre application. Voir Enregistrement composite pour un autre exemple illustrant l’utilisation d’un montage côté serveur pour enregistrer une scène directement dans un compartiment S3.

  1. Créez un canal IVS. Consultez Démarrer avec la diffusion à faible latence d’Amazon IVS.

  2. Créez une scène IVS et des jetons de participation pour chaque diffuseur de publication.

  3. Créez un objet EncoderConfiguration.

  4. Joignez-vous à la scène et diffusez dessus. (Consultez les sections « Diffusion et abonnement » des guides du SDK de diffusion en temps réel : Web, Android et iOS.)

  5. Lorsque vous recevez un événement EventBridge diffusé par un participant, appelez StartComposition avec la configuration de disposition souhaitée.

  6. Patientez quelques secondes pour voir la vue composite apparaître lors de la lecture des chaînes.

Flux de travail de montage côté serveur qui utilise les événements EventBridge pour démarrer un montage lorsqu’un participant publie.

Remarque : un montage s’arrête automatiquement après 60 secondes d’inactivité de la part du diffuseur de publication participant à la scène. À ce stade, le montage prend fin et passe à un état STOPPED. Un montage est automatiquement supprimé après quelques minutes passées dans l’état STOPPED.

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

Vous pouvez désormais utiliser l’interface de ligne de commande pour créer et gérer des ressources. Les points de terminaison du montage se trouvent sous l’espace de noms ivs-realtime.

Création de la ressource EncoderConfiguration

Une ressource EncoderConfiguration vous permet de personnaliser le format de la vidéo à générer (hauteur, largeur, débit et autres paramètres de diffusion). Vous pouvez réutiliser une ressource EncoderConfiguration chaque fois que vous appelez le point de terminaison Montage, comme expliqué à l’étape suivante.

La commande ci-dessous crée une ressource EncoderConfiguration qui configure les paramètres de montage vidéo côté serveur, tels que le débit vidéo, la fréquence d’images et la résolution :

aws ivs-realtime create-encoder-configuration --name "MyEncoderConfig" --video "bitrate=2500000,height=720,width=1280,framerate=30"

La réponse est :

{ "encoderConfiguration": { "arn": "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/9W59OBY2M8s4", "name": "MyEncoderConfig", "tags": {}, "video": { "bitrate": 2500000, "framerate": 30, "height": 720, "width": 1280 } } }

Commencer un montage

À l’aide de l’ARN EncoderConfiguration fourni dans la réponse ci-dessus, créez votre ressource de montage :

Exemple de disposition en grille

aws ivs-realtime start-composition --stage-arn "arn:aws:ivs:us-east-1:927810967299:stage/8faHz1SQp0ik" --destinations '[{"channel": {"channelArn": "arn:aws:ivs:us-east-1:927810967299:channel/DOlMW4dfMR8r", "encoderConfigurationArn": "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/9W59OBY2M8s4"}}]' --layout '{"grid":{"featuredParticipantAttribute":"isFeatured","videoFillMode":"COVER","gridGap":0}}'

Exemple de disposition PiP

aws ivs-realtime start-composition --stage-arn "arn:aws:ivs:us-east-1:927810967299:stage/8faHz1SQp0ik" --destinations '[{"channel": {"channelArn": "arn:aws:ivs:us-east-1:927810967299:channel/DOlMW4dfMR8r", "encoderConfigurationArn": "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/DEkQHWPVaOwO"}}]' --layout '{"pip":{"pipParticipantAttribute":"isPip","pipOffset":10,"pipPosition":"TOP_RIGHT"}}'

Remarque : vous pouvez utiliser cet outil pour générer plus facilement la configuration --layout en fonction de vos choix de disposition.

La réponse indiquera que le montage est créé avec un état STARTING. Une fois que le Montage commence à diffuser la composition, l’état passe à ACTIVE. (Vous pouvez consulter l’état en appelant le point de terminaison ListCompositions ou GetComposition.)

Une fois qu’un montage est ACTIVE, la vue composite de la scène IVS est visible sur le canal IVS, à l’aide de ListCompositions :

aws ivs-realtime list-compositions

La réponse est :

{ "compositions": [ { "arn": "arn:aws:ivs:us-east-1:927810967299:composition/YVoaXkKdEdRP", "destinations": [ { "id": "bD9rRoN91fHU", "startTime": "2023-09-21T15:38:39+00:00", "state": "ACTIVE" } ], "stageArn": "arn:aws:ivs:us-east-1:927810967299:stage/8faHz1SQp0ik", "startTime": "2023-09-21T15:38:37+00:00", "state": "ACTIVE", "tags": {} } ] }

Remarque : pour que le montage reste actif, les diffuseurs de publication participants doivent diffuser activement sur la scène. Pour plus d’informations, consultez les sections « Diffusion et abonnement » des guides du SDK de diffusion en temps réel : Web, Android et iOS. Vous devez créer un jeton de scène distinct pour chaque participant.