Conceitos básicos sobre Composição do servidor do IVS
Este documento descreve as etapas envolvidas ao começar a usar a composição do servidor do IVS.
Pré-requisitos
Para usar a composição do servidor, você deve ter um palco com publicadores ativos e usar um canal do IVS e/ou um bucket do S3 como destino da composição. Abaixo, descrevemos um possível fluxo de trabalho que usa eventos do EventBridge para iniciar uma composição que transmite o palco para um canal do IVS quando um participante publica. Como alternativa, você pode iniciar e interromper as composições com base na lógica da sua própria aplicação. Consulte Gravação composta para ver outro exemplo que mostra o uso da composição do servidor para gravar um palco diretamente em um bucket do S3.
-
Crie um canal do IVS. Consulte Conceitos básicos do streaming de baixa latência do Amazon IVS.
-
Crie um palco do IVS e tokens de participante para cada publicador.
-
Crie um EncoderConfiguration.
-
Entre no palco e publique nele. (Consulte as seções “Publicação e inscrição” dos guias de SDK de transmissão de streaming em tempo real: Web, Android e iOS.)
-
Quando você receber um evento do EventBridge publicado pelo participante, chame StartComposition com a configuração de layout desejada.
-
Aguarde alguns segundos e veja a visualização composta na reprodução do canal.

Obs.: uma composição será desligada automaticamente após 60 segundos de inatividade dos participantes do publicador no palco. Nesse ponto, a composição será encerrada e passará para um estado STOPPED
. Uma composição será excluída automaticamente após alguns minutos no estado STOPPED
.
Instruções da CLI
Usar a AWS CLI é uma opção avançada e exige que você baixe e configure a CLI em sua máquina primeiro. Para obter mais detalhes, consulte o Guia do usuário da Interface de Linhas de Comando da AWS.
Agora é possível usar a CLI para criar e gerenciar recursos. As operações da composição estão no namespace ivs-realtime
.
Criar o recurso EncoderConfiguration
Um objeto EncoderConfiguration permite que você personalize o formato do vídeo gerado (altura, largura, taxa de bits e outros parâmetros de streaming). Você pode reutilizar um EncoderConfiguration sempre que chamar a operação de composição, conforme explicado na etapa seguinte.
O comando abaixo cria um recurso EncoderConfiguration que configura parâmetros de composição de vídeo do servidor, como taxa de bits, taxa de quadros e resolução do vídeo:
aws ivs-realtime create-encoder-configuration --name "MyEncoderConfig" --video "bitrate=2500000,height=720,width=1280,framerate=30"
A resposta é:
{ "encoderConfiguration": { "arn": "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/9W59OBY2M8s4", "name": "MyEncoderConfig", "tags": {}, "video": { "bitrate": 2500000, "framerate": 30, "height": 720, "width": 1280 } } }
Iniciar uma composição
Usando o ARN do EncoderConfiguration fornecido na resposta acima, crie seu recurso de composição:
Exemplo de layout de grade
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}}'
Exemplo de 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"}}'
Observação: você pode usar essa ferramenta--layout
com base em suas escolhas de layout.
A resposta mostrará que a composição foi criada com um estado STARTING
. Quando a composição começa a publicar a composição, o estado passará para ACTIVE
. (Você poderá ver o estado chamando a operação ListCompositions ou GetComposition.)
Quando uma composição for ACTIVE
, a visualização composta do palco do IVS ficará visível no canal do IVS, usando ListCompositions:
aws ivs-realtime list-compositions
A resposta é:
{ "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": {} } ] }
Obs.: você precisa que os participantes do publicador publiquem ativamente no palco para manter a composição viva. Para obter mais informações, Consulte as seções “Publicação e inscrição” dos guias de SDK de transmissão de streaming em tempo real: Web, Android e iOS. Você deverá criar um token de palco distinto para cada participante.