Introducción a la composición del servidor de IVS - Amazon IVS

Introducción a la composición del servidor de IVS

Este documento explica los pasos necesarios para comenzar a utilizar la composición del servidor de IVS.

Requisitos previos

Para utilizar la composición del servidor, debe tener un escenario con publicadores activos y utilizar un canal IVS o un bucket de S3 como destino de la composición. A continuación, describimos un posible flujo de trabajo que utiliza los eventos de EventBridge para iniciar una composición que retransmita el escenario a un canal de IVS cuando un participante publique. Como alternativa, puede iniciar y detener las composiciones según la lógica de su propia aplicación. Consulte Grabación del compuesto para ver otro ejemplo que muestra el uso de la composición del servidor para grabar un escenario directamente en un bucket de S3.

  1. Cree un canal IVS. Consulte Introducción a la transmisión de baja latencia de Amazon IVS.

  2. Cree un escenario de IVS y tokens de participante para cada publicador.

  3. Cree una configuración EncoderConfiguration.

  4. Únase al escenario y publique en él. (Consulte las secciones "Publicación y suscripción" de las guías del SDK para transmisiones en tiempo real: Web, Android e iOS).

  5. Cuando reciba un evento de EventBridge publicado por un participante, llame a StartComposition con su configuración de diseño deseada.

  6. Espere unos segundos y vea la vista compuesta en la reproducción del canal.

Flujo de trabajo de composición del servidor que utiliza eventos de EventBridge para iniciar una composición cuando un participante publica.

Nota: una composición se apaga automáticamente después de 60 segundos de inactividad por parte de los publicadores participantes en el escenario. En ese momento, la composición finaliza y pasa a un estado STOPPED. Una composición se elimina automáticamente después de unos minutos en ese estado STOPPED.

Instrucciones de la CLI

El uso de la CLI de AWS es una opción avanzada y requiere que primero descargue y configure la CLI en su equipo. Para obtener más información, consulte la Guía del usuario de la interfaz de línea de comandos de AWS.

Ahora puede utilizar la CLI para crear y administrar recursos. Las operaciones de Composición se encuentran debajo del espacio de nombres ivs-realtime.

Creación del recurso de EncoderConfiguration

Un EncoderConfiguration es un objeto que permite personalizar el formato del vídeo generado (altura, anchura, velocidad de bits y otros parámetros de transmisión). Puede reutilizar una EncoderConfiguration cada vez que llame a la operación de Composición, como se explica en el siguiente paso.

El siguiente comando crea un recurso EncoderConfiguration que configura los parámetros de composición de vídeo del servidor, como la velocidad de bits del vídeo, la velocidad de fotogramas y la resolución:

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

La respuesta es:

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

Inicialización de una Composición

Con el ARN de EncoderConfiguration proporcionado en la respuesta anterior, cree su recurso de Composición:

Ejemplo de diseño de cuadrícula

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

Ejemplo de diseño de imagen en imagen

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: Puede utilizar esta herramienta para generar más fácilmente la configuración de --layout en función de sus elecciones de diseño.

La respuesta mostrará que la Composición se creó con un estado STARTING. Una vez que la Composición comience a publicarse, el estado pasará a ACTIVE. (Para ver el estado, llame a la operación ListCompositions o GetComposition).

Una vez que una Composición sea ACTIVE, la vista compuesta del escenario IVS será visible en el canal IVS mediante ListCompositions:

aws ivs-realtime list-compositions

La respuesta es:

{ "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: es necesario que los publicadores participantes publiquen activamente en el escenario para mantener viva la composición. Para obtener más información, consulte las secciones "Publicaciones y suscripciones” de las guías del SDK para transmisiones en tiempo real: Web, Android e iOS. Debe crear un token de escenario distinto para cada participante.