

# Composición del servidor de IVS \$1 Transmisión en tiempo real
<a name="server-side-composition"></a>

La composición del servidor utiliza un servidor IVS para mezclar el audio y el vídeo de todos los participantes del escenario y, a continuación, envía este vídeo mixto a un canal IVS (por ejemplo, para llegar a un público más amplio) o a un bucket de S3. La composición del servidor se invoca a través de las operaciones del plano de control de IVS en la región de origen de la fase.

Transmitir o grabar un escenario utilizando la composición del servidor ofrece numerosas ventajas, lo que lo convierte en una opción atractiva para los usuarios que buscan flujos de trabajo de vídeo eficientes y fiables basados en la nube.

**Topics**
+ [Información general sobre la composición del servidor de IVS](ssc-overview.md)
+ [Introducción a la composición del servidor de IVS](ssc-getting-started.md)
+ [Orden personalizado de los participantes](ssc-getting-started-custom-participant-ordering.md)
+ [Habilitación de la pantalla compartida en la composición del servidor de IVS](ssc-getting-started-screen-share.md)
+ [Problemas conocidos y soluciones alternativas](ssc-known-issues.md)

# Información general sobre la composición del servidor de IVS
<a name="ssc-overview"></a>

Este diagrama ilustra cómo funciona la composición del servidor:

![\[Transmitir un escenario mediante la composición del servidor.\]](http://docs.aws.amazon.com/es_es/ivs/latest/RealTimeUserGuide/images/ssc_Intro_Composite_Recording.png)


## Ventajas
<a name="ssc-benefits"></a>

En comparación con la composición del cliente, la composición del servidor tiene las siguientes ventajas:
+ **Reducción de la carga de clientes**: con la composición del servidor, la carga de procesar y combinar las fuentes de audio y vídeo pasa de los dispositivos cliente individuales al propio servidor. La composición del servidor elimina la necesidad de que los dispositivos cliente utilicen sus recursos de CPU y red para componer la vista y transmitirla al IVS. Esto significa que los espectadores pueden ver la transmisión sin que sus dispositivos tengan que realizar tareas que consumen muchos recursos, lo que puede mejorar la duración de la batería y disfrutar de una experiencia de visualización más fluida.
+ **Calidad uniforme**: la composición del servidor permite un control preciso de la calidad, la resolución y la velocidad de bits de la transmisión final. Esto garantiza una experiencia de visualización uniforme para todos los espectadores, independientemente de las capacidades de sus dispositivos individuales.
+ **Resiliencia**: al centralizar el proceso de composición en el servidor, la transmisión se vuelve más sólida. Incluso si el dispositivo de un publicador experimenta limitaciones o fluctuaciones técnicas, el servidor puede adaptarse y ofrecer una transmisión más fluida a toda la audiencia.
+ **Eficiencia del ancho de banda**: dado que el servidor se encarga de la composición, los publicadores de la presentación no tienen que gastar más ancho de banda para transmitir el vídeo a IVS.

Como alternativa, para retransmitir una escena a un canal de IVS, puede realizar la composición desde el lado del cliente; consulte [Habilitación de varios hosts en una transmisión de Amazon IVS](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/multiple-hosts.html) en la *Guía del usuario de transmisión de baja latencia de IVS.*

## Vida útil de la Composición
<a name="ssc-composition-endpoint"></a>

Utilice el siguiente diagrama para comprender las transiciones de estado de una composición:

![\[Ciclo de vida de un recurso de Composición del servidor.\]](http://docs.aws.amazon.com/es_es/ivs/latest/RealTimeUserGuide/images/ssc_Composition_Lifecycle.png)


A grandes rasgos, el ciclo de vida de una Composición es el siguiente:

1. Se crea un recurso de Composición cuando el usuario llama a la operación StartComposition.

1. Una vez que IVS inicie correctamente la composición, se enviará un evento EventBridge de “Cambio de estado de composición de IVS (inicio de sesión)”. Consulte [Uso de EventBridge con la transmisión en tiempo real de IVS](eventbridge.md) para obtener más información sobre los eventos.

1. Una vez que una Composición está en estado activo, puede ocurrir lo siguiente:
   + Detención de la Composición por parte del usuario: si se llama a la operación StopComposition, IVS inicia un cierre correcto de la Composición y envía eventos de “Final de destino” seguidos de un evento de “Fin de sesión”.
   + Cierre automático de la Composición: si la etapa IVS se elimina o ningún participante publica activamente en la etapa IVS durante 60 segundos, la Composición finaliza automáticamente y se envían los eventos de EventBridge.
   + Error en el destino: si un destino falla inesperadamente (por ejemplo, si se elimina el canal IVS), el destino pasa al estado `RECONNECTING` y se envía un evento de “Reconexión del destino”. Si la recuperación no es posible, el IVS cambia el destino al estado `FAILED` y se envía un evento de “Error en el destino”. El IVS mantiene viva la composición si al menos uno de sus destinos está activo.

1. Una vez que la composición está en el estado `STOPPED` o `FAILED`, se limpia automáticamente después de cinco minutos. (Entonces, ListCompositions o GetComposition ya no la recuperan).

## API de IVS
<a name="ssc-api"></a>

La composición del servidor utiliza estos elementos clave de la API:
+ Un objeto *EncoderConfiguration* permite personalizar el formato del vídeo que se va a generar (altura, anchura, velocidad de bits y otros parámetros de transmisión). Puede reutilizar una EncoderConfiguration cada vez que llame a la operación StartComposition.
+ Las operaciones de *Composición* rastrean la composición del video y lo envían a un canal IVS.
+ *StorageConfiguration* rastrea el bucket de S3 en el que se graban las composiciones.

Para utilizar la composición del servidor, debe crear una EncoderConfiguration y asociarla al llamar a la operación StartComposition. En este ejemplo, la configuración de SquareVideo EncoderConfiguration se utiliza en dos composiciones:

![\[La composición del servidor utiliza dos elementos clave de la API.\]](http://docs.aws.amazon.com/es_es/ivs/latest/RealTimeUserGuide/images/ssc_IVS_API_Composite_Recording.png)


Para obtener información completa, consulte la [Referencia de la API de transmisión en tiempo real de IVS](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/Welcome.html).

## Diseños
<a name="ssc-api-layouts"></a>

La operación StartComposition ofrece dos opciones de diseño: cuadrícula e imagen en imagen.

### Diseño de cuadrícula
<a name="ssc-api-layouts-grid"></a>

El diseño de cuadrícula organiza a los participantes de la fase en una cuadrícula de espacios del mismo tamaño. Proporciona varios beneficios personalizables:
+ `videoAspectRatio` establece el modo de visualización de los participantes para controlar la relación de aspecto de los mosaicos de video.
+ `videoFillMode` define cómo encaja el contenido de video en el mosaico del participante.
+ `gridGap` especifica el espacio entre los mosaicos de los participantes en píxeles.
+ `omitStoppedVideo` permite excluir de la composición las transmisiones de video detenidas.
+ `featuredParticipantAttribute` identifica el espacio destacado. Cuando se establece, el participante destacado aparece en un espacio más grande en la pantalla principal y debajo aparecen los demás participantes.
+ `participantOrderAttribute` permite ordenar a los participantes de forma personalizada en función de los valores de los atributos de los tokens de los participantes. Cuando se especifica, los participantes se ordenan numéricamente según los valores de sus atributos, y los participantes que no tengan el atributo se ordenan según la hora de llegada. Esto proporciona un posicionamiento determinista opcional de los participantes y permite diseños basados en roles.

Para obtener más información sobre el diseño de cuadrícula (incluidos los valores válidos y los valores predeterminados de todos los campos), consulte el tipo de datos [GridConfiguration](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_GridConfiguration.html).

![\[Diseño de cuadrícula de composición del servidor\]](http://docs.aws.amazon.com/es_es/ivs/latest/RealTimeUserGuide/images/ssc_Grid_Layout.png)


### Diseño de imagen en imagen
<a name="ssc-api-layouts-pip"></a>

El diseño de imagen en imagen permite mostrar a un participante en una ventana superpuesta con un tamaño, posición y comportamiento configurables. Entre las propiedades clave se incluyen las siguientes:
+ `pipParticipantAttribute` especifica el participante de la ventana de imagen en imagen.
+ `pipPosition` determina la posición de la esquina de la ventana de imagen en imagen.
+ `pipWidth` y `pipHeight` configuran el ancho y la altura de la ventana de imagen en imagen.
+ `pipOffset` establece la posición de desplazamiento de la ventana de imagen en imagen en píxeles desde los bordes más cercanos.
+ `pipBehavior` define el comportamiento de imagen en imagen cuando todos los demás participantes se han ido.

Al igual que el diseño de cuadrícula, imagen en imagen admite `featuredParticipantAttribute`, `omitStoppedVideo`, `videoFillMode`, `gridGap` y `participantOrderAttribute` para personalizar aún más la composición. `participantOrderAttribute` permite ordenar a los participantes de forma personalizada, tanto con el objetivo de seleccionarlos para la ventana de imagen en imagen como para posicionar a los participantes de la cuadrícula en función de los valores de los atributos de los tokens de los participantes.

Para obtener más información sobre el diseño de imagen en imagen (incluidos los valores válidos y los valores predeterminados de todos los campos), consulte el tipo de datos [PipConfiguration](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_PipConfiguration.html).

![\[Diseño de imagen en imagen de composición del servidor\]](http://docs.aws.amazon.com/es_es/ivs/latest/RealTimeUserGuide/images/ssc_PiP_Layout.png)


**Nota**: la resolución máxima admitida por un publicador de escenarios en la composición del servidor es de 1080p. Si un publicador envía un vídeo de más de 1080p, se representará como participante únicamente de audio.

**Importante**: Asegúrese de que su aplicación no dependa de las características específicas del diseño actual, como el tamaño y la posición de los mosaicos. *Se pueden introducir mejoras visuales en los diseños en cualquier momento*. 

# Introducción a la composición del servidor de IVS
<a name="ssc-getting-started"></a>

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

## Requisitos previos
<a name="ssc-getting-started-prerequisites"></a>

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.

Para crear un bucket de S3, consulte la documentación de S3 sobre [cómo crear buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html). El bucket de S3 debe crearse en la misma región de AWS que la etapa de IVS.

**Importante**: Si utiliza un bucket de S3 existente:
+ La configuración **Propiedad del objeto** debe ser **Aplicada al propietario del bucket** o **Propietario del bucket preferido**.
+ La opción de **Cifrado predeterminado** debe indicar **Cifrado del lado del servidor con claves administradas por Amazon S3 (SSE-S3)**.

Para obtener más información, consulte la documentación de S3 sobre el [control de propiedad de los objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) y la [protección de datos mediante cifrado](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html).

## Instrucciones de la API
<a name="ssc-getting-started-api-instructions"></a>

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](rt-composite-recording.md) 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](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/getting-started.html).

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

1. Cree una configuración [EncoderConfiguration](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_EncoderConfiguration.html).

1. Ú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](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/web-publish-subscribe.html), [Android](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/android-publish-subscribe.html) e [iOS](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/ios-publish-subscribe.html)).

1. Cuando reciba un evento de EventBridge publicado por un participante, llame a [StartComposition](https://docs.aws.amazon.com//ivs/latest/RealTimeAPIReference/API_StartComposition.html) con su configuración de diseño deseada.

1. 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.\]](http://docs.aws.amazon.com/es_es/ivs/latest/RealTimeUserGuide/images/ssc_Workflow.png)


**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
<a name="ssc-getting-started-cli"></a>

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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

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
<a name="ssc-getting-started-cli-create-encoderconfiguration"></a>

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
<a name="ssc-getting-started-cli-start-mediapublish"></a>

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":{"participantOrderAttribute":"order","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":{"participantOrderAttribute":"priority","pipParticipantAttribute":"isPip","pipOffset":10,"pipPosition":"TOP_RIGHT"}}'
```

**Nota**: Puede utilizar [esta herramienta](https://composition.ivsdemos.com/) 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](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/web-publish-subscribe.html), [Android](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/android-publish-subscribe.html) e [iOS](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/ios-publish-subscribe.html). Debe crear un token de escenario distinto para cada participante.

# Orden personalizado de los participantes
<a name="ssc-getting-started-custom-participant-ordering"></a>

El orden personalizado de los participantes le permite controlar la posición de los participantes en los diseños de cuadrícula y de imagen en imagen en función de los valores de los atributos personalizados en los tokens de los participantes, incluida la posición de los participantes destacados y la selección de los participantes para la ventana de imagen en imagen. Esto proporciona un posicionamiento determinista de los participantes y permite diseños basados en roles.

## Cómo funciona el orden personalizado
<a name="ssc-getting-started-custom-participant-ordering-how-custom-ordering-works"></a>

Cuando `participantOrderAttribute` se especifica en la configuración del diseño, los participantes se ordenan de acuerdo con las siguientes reglas:
+ Los participantes con el atributo de orden especificado en sus tokens se posicionan en primer lugar y se ordenan numéricamente según los valores de sus atributos.
+ Los participantes sin el atributo de orden se ordenan según la hora de llegada y se colocan después de los participantes ordenados.
+ Cuando varios participantes tienen valores de orden idénticos, se subclasifican según su hora de llegada al escenario.
+ El orden utiliza una clasificación numérica (no lexicográfica), por lo que el número «10» viene después del «9» (no después del «1»).
+ También se admiten valores negativos. Se colocan antes de los valores positivos.
+ Los valores no numéricos (p. ej., «abc», «1,5») se consideran inválidos y esos participantes se ordenan según la hora de llegada.

**Importante:** El orden de los participantes (ya sea en función de la hora de llegada o de forma personalizada) surtirá efecto una vez que se haya iniciado la composición. El orden correcto de los participantes no está garantizado para los participantes que se unan al escenario antes de que comience la composición.

## Creación de tokens con atributos de orden
<a name="ssc-getting-started-custom-participant-ordering-creating-tokens-with-ordering-attributes"></a>

Para utilizar un orden de participantes personalizado, incluya el atributo de ordenación en sus tokens de participante al crearlos:

```
aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=1

aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=2

aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=3
```

Puedes combinar el atributo de orden de los participantes personalizados con los atributos para seleccionar a los participantes del espacio destacado y de la ventana de imagen en imagen:

```
aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=2,isFeatured=true

aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=3,isFeatured=true

aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes order=4,isPip=true
```

## Ejemplos de casos de uso
<a name="ssc-getting-started-custom-participant-ordering-example-use-cases"></a>

Entre los casos de uso de ejemplo se incluyen:
+ Posicionamiento uniforme: los participantes mantienen sus posiciones cuando se vuelven a conectar con el mismo token.
+ Posicionamiento basado en roles: por ejemplo, puede especificar a los profesores con un orden igual a 1 y a los estudiantes con un orden igual a 2.
+ Diseños basados en prioridades: los participantes VIP con valores de orden más bajos aparecerían primero.
+ Diseños dinámicos: puede combinar el orden personalizado con `featuredParticipantAttribute` y `pipParticipantAttribute` para escenarios complejos.
+ Interacciones entre escenarios: al utilizar la replicación de participantes en escenarios como las competiciones del modo VS, en las que interactúan streamers de diferentes escenarios, puede anular los atributos de orden para controlar el posicionamiento en la composición del escenario de destino.

**Nota:** Para los casos de uso de la replicación de los participantes, puede anular los atributos de los participantes (incluido el atributo de orden) según sea necesario al iniciar una replicación para lograr el diseño deseado en la etapa de destino.

## Compatibilidad con versiones anteriores
<a name="ssc-getting-started-custom-participant-ordering-backward-compatibility"></a>

El orden personalizado de los participantes es una característica opcional y es totalmente compatible con versiones anteriores. Las composiciones existentes sin `participantOrderAttribute` siguen funcionando sin cambios y utilizan el orden de llegada. Cuando se establece `participantOrderAttribute` en una cadena vacía, el sistema ignora por completo el orden personalizado y vuelve al comportamiento predeterminado.

# Habilitación de la pantalla compartida en la composición del servidor de IVS
<a name="ssc-getting-started-screen-share"></a>

Para usar un diseño de pantalla compartida fijo, siga los pasos que se indican a continuación.

## Creación del recurso de EncoderConfiguration
<a name="ssc-getting-started-screen-share-create-encoderconfiguration"></a>

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

```
aws ivs-realtime create-encoder-configuration --name "test-ssc-with-screen-share" --video={bitrate=2000000,framerate=30,height=720,width=1280}
```

Cree un token de participante en el escenario con un atributo `screen-share`. Como especificaremos `screen-share` como el nombre del espacio `featured`, necesitamos crear un token de escenario con el atributo `screen-share` establecido en `true`:

```
aws ivs-realtime create-participant-token --stage-arn "arn:aws:ivs:us-east-1:123456789012:stage/u9OiE29bT7Xp" --attributes screen-share=true
```

La respuesta es:

```
{
   "participantToken": {
      "attributes": {
         "screen-share": "true"
      },
      "expirationTime": "2023-08-04T05:26:11+00:00",
      "participantId": "E813MFklPWLF",
      "token": "eyJhbGciOiJLTVMiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2OTExMjY3NzEsImlhdCI6MTY5MTA4MzU3MSwianRpIjoiRTgxM01Ga2xQV0xGIiwicmVzb3VyY2UiOiJhcm46YXdzOml2czp1cy1lYXN0LTE6OTI3ODEwOTY3Mjk5OnN0YWdlL3U5T2lFMjliVDdYcCIsInRvcGljIjoidTlPaUUyOWJUN1hwIiwiZXZlbnRzX3VybCI6IndzczovL3VzLWVhc3QtMS5ldmVudHMubGl2ZS12aWRlby5uZXQiLCJ3aGlwX3VybCI6Imh0dHBzOi8vYjJlYTVjMmZmMzU1Lmdsb2JhbC53aGlwLmxpdmUtdmlkZW8ubmV0IiwiYXR0cmlidXRlcyI6eyJzY3JlZW4tc2hhcmUiOiJ0cnVlIn0sImNhcGFiaWxpdGllcyI6eyJhbGxvd19wdWJsaXNoIjp0cnVlLCJhbGxvd19zdWJzY3JpYmUiOnRydWV9LCJ2ZXJzaW9uIjoiMC4zIn0.MGUCMFvMzv35O4yVzM9tIWZl7n3mmFQhleqsRSBx_G2qT2YUDlWSNg6H1vL7sAWQMeydSAIxAIvdfqt3Fh1MLiyelc9NnTjI5hL3YPKqDX6J3NDH1fksh8_5y1jztoPDy4yVA5OmtA"
   }
}
```

## Inicio de la Composición
<a name="ssc-getting-started-screen-share-start-mediapublish"></a>

Para iniciar la composición con la característica de compartir pantalla, utilizamos este comando:

```
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 '{"grid":{"featuredParticipantAttribute":"screen-share"}}'
```

La respuesta es:

```
{
"composition" : {
"arn" : "arn:aws:ivs:us-east-1:927810967299:composition/B19tQcXRgtoz",
"destinations" : [ {
 "configuration" : {
	"channel" : {
	   "channelArn" : "arn:aws:ivs:us-east-1:927810967299:channel/DOlMW4dfMR8r",
	   "encoderConfigurationArn" : "arn:aws:ivs:us-east-1:927810967299:encoder-configuration/DEkQHWPVaOwO"
	},
	"name" : ""
 },
 "id" : "SGmgBXTULuXv",
 "state" : "STARTING"
} ],
"layout" : {
 "grid" : {
	"featuredParticipantAttribute" : "screen-share",
	"gridGap": 2,
	"omitStoppedVideo": false,
	"videoAspectRatio": "VIDEO"
 }
},
"stageArn" : "arn:aws:ivs:us-east-1:927810967299:stage/8faHz1SQp0ik",
"startTime" : "2023-09-27T21:32:38Z",
"state" : "STARTING",
"tags" : { }
}
}
```

Cuando el participante del escenario `E813MFklPWLF` se una al escenario, el vídeo de ese participante se mostrará en el espacio destacado y todos los demás publicadores del escenario se renderizarán debajo del espacio:

![\[Iniciar la composición con la característica de pantalla compartida.\]](http://docs.aws.amazon.com/es_es/ivs/latest/RealTimeUserGuide/images/ssc_StartComposition.png)


## Detención de la composición
<a name="ssc-getting-started-screen-share-stop-mediapublish"></a>

Para detener una composición en cualquier momento, llame a la operación StopComposition:

```
aws ivs-realtime stop-composition --arn arn:aws:ivs:us-east-1:927810967299:composition/B19tQcXRgtoz
```

# Problemas conocidos y soluciones alternativas
<a name="ssc-known-issues"></a>

En esta sección, se enumeran los problemas conocidos que puede experimentar al utilizar la composición del servidor de IVS y se sugieren posibles soluciones alternativas.
+ Algunas composiciones pueden presentar una breve interrupción en el audio después de períodos de silencio.

  **Solución alternativa:** ninguna.