Nozioni di base sulla composizione lato server di IVS - Amazon IVS

Nozioni di base sulla composizione lato server di IVS

Questo documento illustra i passaggi necessari per iniziare a utilizzare la composizione lato server di IVS.

Prerequisiti

Per utilizzare la composizione lato server, è necessario disporre di una fase con publisher attivi e utilizzare un canale IVS e/o un bucket S3 come destinazione della composizione. Di seguito, descriviamo un possibile flusso di lavoro che utilizza gli eventi EventBridge per avviare una composizione che trasmetta la fase su un canale IVS quando un partecipante pubblica. In alternativa, puoi avviare e interrompere le composizioni in base alla logica della tua applicazione. Consulta Registrazione composita per un altro esempio che mostra l'uso della composizione lato server per registrare una fase direttamente in un bucket S3.

  1. Crea un canale IVS. Consulta Guida introduttiva allo streaming a bassa latenza di Amazon IVS.

  2. Crea una fase IVS e dei token per i partecipanti per ogni publisher.

  3. Crea un EncoderConfiguration.

  4. Unisciti alla fase e pubblica su di essa. (Consulta le sezioni "Pubblicazione e sottoscrizione" delle guide per l'SDK di trasmissione in streaming in tempo reale: Web, Android e iOS).

  5. Quando ricevi un evento EventBridge Partecipante pubblicato, chiama StartComposition con la configurazione di layout desiderata.

  6. Attendi qualche secondo e guarda la vista composita nella riproduzione del canale.

Flusso di lavoro di composizione lato server che utilizza gli eventi EventBridge per avviare una composizione quando un partecipante pubblica.

Nota: una composizione si spegne automaticamente dopo 60 secondi di inattività dei publisher che partecipano alla fase. A quel punto, la composizione è terminata e passa a uno stato STOPPED. Una composizione viene eliminata automaticamente dopo alcuni minuti nello stato STOPPED.

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.

Ora puoi usare la CLI per creare e gestire le risorse. Gli endpoint della composizione si trovano nello spazio dei nomi ivs-realtime.

Creazione della risorsa EncoderConfiguration

Un oggetto EncoderConfiguration consente di personalizzare il formato del video da generare (altezza, larghezza, bitrate e altri parametri di streaming). È possibile riutilizzare un EncoderConfiguration ogni volta che si chiama l'endpoint di composizione, come spiegato nel passaggio successivo.

Il comando seguente crea una risorsa EncoderConfiguration che configura i parametri di composizione video lato server (bitrate video, framerate e risoluzione):

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

La risposta è:

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

Inizio di una composizione

Utilizzando l'ARN di EncoderConfiguration fornito nella risposta precedente, crea la tua risorsa di composizione:

Esempio di layout a griglia

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}}'

Esempio di layout 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"}}'

Nota: è possibile utilizzare questo strumento per generare più facilmente la configurazione --layout in base alle scelte di layout.

La risposta mostrerà che la composizione è stata creata con uno stato STARTING. Una volta che Composition inizia a pubblicare la composizione, lo stato passa a ACTIVE. (Puoi vedere lo stato chiamando l'endpoint ListCompositions o GetComposition.)

Una volta che la composizione è ACTIVE, la vista composita della fase IVS sarà visibile sul canale IVS, tramite ListCompositions:

aws ivs-realtime list-compositions

La risposta è:

{ "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": {} } ] }

Nota: per mantenere viva la composizione, è necessario che i publisher partecipanti pubblichino attivamente nella fase. Per ulteriori informazioni, consulta le sezioni "Pubblicazione e sottoscrizione" delle guide per l'SDK di trasmissione in streaming in tempo reale: Web, Android e iOS. È necessario creare un token di fase distinto per ogni partecipante.