

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Comience las sesiones de streaming con Amazon GameLift Streams
<a name="stream-sessions"></a>

En esta sección se describen las sesiones de retransmisión, es decir, la instancia real de una retransmisión en la que un usuario final o un jugador puede interactuar con su aplicación o jugar a su juego. Aprenderás a probar tu propia sesión de streaming y a entender su ciclo de vida.

 Para lanzar sesiones de streaming para los usuarios finales, debe integrar Amazon GameLift Streams en su propio servicio. Para obtener más información, consulta [Servicio de backend y cliente web de Amazon GameLift Streams](sdk.md). 

## Acerca de las sesiones de streaming
<a name="stream-sessions-about"></a>

 Los requisitos previos para iniciar una sesión de transmisión son una aplicación con el estado **Listo**, un grupo de transmisiones que tenga capacidad disponible en la ubicación en la que desea transmitir y la aplicación replicada en la ubicación en la que desea transmitir. Una sesión de transmisión se ejecuta en uno de los recursos de procesamiento que ha asignado un grupo de transmisión. Al iniciar una transmisión, debe especificar un grupo de transmisiones y una aplicación para transmitir utilizando sus valores de ARN o ID. 

 Cuando inicias correctamente una sesión de transmisión, recibes un identificador único para esa sesión de transmisión. Luego, usa ese ID para conectar la sesión de transmisión a un usuario final. Para obtener más información, consulte la referencia [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)de la *API de Amazon GameLift Streams*. 

## Probar una transmisión en la consola
<a name="stream-sessions-testing"></a>

 La forma más directa de probar cómo se transmite su aplicación es a través de la consola de Amazon GameLift Streams. Al iniciar una transmisión, Amazon GameLift Streams utiliza uno de los recursos informáticos que asigna su grupo de transmisiones. Por lo tanto, debe tener capacidad disponible en su grupo de transmisiones. 

**Para probar la transmisión en la consola de Amazon GameLift Streams**

1.  Inicie sesión en la [consola de Amazon GameLift Streams Consola de administración de AWS y ábrala](https://console.aws.amazon.com/gameliftstreams/).

1. Puede probar una transmisión de varias maneras. Comienza desde la página de **grupos de transmisiones** o la página de **prueba de transmisiones** y sigue estos pasos:

   1. Selecciona un grupo de transmisiones que quieras usar para transmitir.

   1. Si empiezas desde la página de **grupos de transmisiones**, selecciona **Probar transmisión**. Si empiezas desde la página **Probar transmisión**, selecciona **Elegir**. Esto abre la página de configuración de **transmisión de prueba** para el grupo de transmisiones seleccionado.

   1. En **Aplicaciones vinculadas**, seleccione una aplicación.

   1. En **Ubicación**, elija una ubicación con capacidad disponible.

   1. (Opcional) En **las configuraciones del programa**, introduzca los argumentos de la línea de comandos o las variables de entorno para pasarlos a la aplicación a medida que se inicie.

   1. Confirme su selección y elija **Test** stream.

1. Una vez que se cargue la transmisión, puedes realizar las siguientes acciones en ella:

   1. Para conectar entradas, como el ratón, el teclado y el mando (excepto los micrófonos, que no son compatibles con la **transmisión de pruebas**), selecciona **Adjuntar** entrada. El ratón se conecta automáticamente al mover el cursor a la ventana de transmisión.

   1. Para exportar los archivos que se crearon durante la sesión de streaming a un bucket de Amazon S3 al final de la sesión, selecciona **Exportar archivos** y especifica los detalles del bucket. Los archivos exportados se encuentran en la página **Sesiones**.

   1. Para ver la transmisión en pantalla completa, selecciona Pantalla **completa**. Presiona **Escape** para revertir esta acción.

1. Para finalizar la transmisión, selecciona **Finalizar sesión**. Cuando la transmisión se desconecta, la capacidad de transmisión queda disponible para iniciar otra transmisión.

**nota**  
La función **Test Stream** de la consola de Amazon GameLift Streams no admite micrófonos.

## Ciclo de vida de las sesiones
<a name="stream-sessions-lifecycle"></a>

Al trabajar con sesiones de streaming en Amazon GameLift Streams, este diagrama puede ayudarle a comprender los diferentes estados a los que pasa una sesión de streaming a lo largo de su ciclo de vida. 
+ [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)crea una nueva sesión de transmisión, que comienza en el `ACTIVATING` estado. Cuando Amazon GameLift Streams encuentra los recursos disponibles para alojar la transmisión, la sesión de transmisión pasa a`ACTIVE`. Cuando un cliente se conecta a la transmisión activa, la sesión de transmisión pasa a`CONNECTED`.
+ Cuando un cliente se desconecta de una transmisión, la sesión de transmisión pasa al `PENDING_CLIENT_RECONNECTION` estado. [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html)pasa la sesión de transmisión a `RECONNECTING` la transmisión e iniciará al cliente para que se vuelva a conectar a la transmisión o creará una nueva sesión de transmisión. Cuando una sesión de transmisión está lista para que el cliente se vuelva a conectar, pasará a. `ACTIVE` Cuando el cliente se vuelve a conectar, vuelve a. `CONNECTED` Si un cliente está desconectado durante más tiempo`ConnectionTimeoutSeconds`, la sesión de transmisión finaliza.
+ Cuando un cliente no se conecta a una sesión de streaming en un `PENDING_CLIENT_RECONNECTION` estado `ACTIVE` o en el periodo de tiempo especificado`ConnectionTimeoutSeconds`, pasa a`TERMINATED`.
+ [TerminateStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html)inicia la finalización de la transmisión y la sesión de transmisión pasa al `TERMINATING` estado. Cuando la sesión de transmisión finaliza correctamente, pasa a. `TERMINATED`
+ Una sesión de streaming en cualquier estado, excepto en`TERMINATED`, puede pasar a`ERROR`. Cuando una llamada a la API devuelva `ERROR` un valor de estado, compruebe el valor de StatusReason para obtener una breve descripción de la causa del error. También puedes llamar [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html)para comprobar estos valores. 

![\[Este diagrama muestra los diferentes estados a los que pasa una sesión de streaming a lo largo de su ciclo de vida.\]](http://docs.aws.amazon.com/es_es/gameliftstreams/latest/developerguide/images/stream_session_lifecycle.png)


## Valores de tiempo de espera que afectan a las sesiones de streaming
<a name="stream-sessions-lifecycle-timeouts"></a>

Las sesiones de transmisión se rigen por varios valores de tiempo de espera que controlan diferentes aspectos del ciclo de vida de la sesión. En un orden más o menos cronológico según el momento en que se suelen encontrar durante el ciclo de vida de la sesión de streaming, se incluyen los siguientes:

**Tiempo de espera de colocación**  
Límite de tiempo para que Amazon GameLift Streams encuentre recursos informáticos para alojar una sesión de streaming utilizando la capacidad disponible. El tiempo de espera de la transmisión varía en función del tipo de capacidad utilizado para tramitar la solicitud de transmisión:  
+ Capacidad permanente: 75 segundos
+ Capacidad bajo demanda:
  + Tiempos de ejecución de Linux/Proton: 90 segundos
  + Tiempo de ejecución de Windows: 10 minutos
+ Comportamiento: si Amazon GameLift Streams no puede identificar los recursos disponibles en este período, la sesión de transmisión `Status` cambia `ERROR` a una `StatusReason` de`placementTimeout`.

**Tiempo de espera de la conexión**  
Tiempo que Amazon GameLift Streams espera a que un cliente se conecte o vuelva a conectarse a una sesión de streaming.  
+ Parámetro: en `ConnectionTimeoutSeconds` [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)
+ Rango: 1 - 3600 segundos (1 hora)
+ Predeterminado: 120 segundos (2 minutos)
+ Comportamiento: el temporizador se inicia cuando la sesión de transmisión alcanza `ACTIVE` `PENDING_CLIENT_RECONNECTION` su estado. Si ningún cliente se conecta antes de que se agote el tiempo de espera, la sesión `Status` pasa a`TERMINATED`.

**Tiempo de espera de la sesión**  
El tiempo máximo que Amazon GameLift Streams mantiene abierta una sesión de streaming.  
+ Parámetro: `SessionLengthSeconds` en [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)
+ Rango: 1 - 86400 segundos (24 horas)
+ Predeterminado: 43200 segundos (12 horas)
+ Comportamiento: finaliza la sesión de transmisión independientemente de la conexión de cliente existente cuando se alcanza el límite de tiempo.

## Finalizar una sesión de transmisión
<a name="stream-sessions-terminate"></a>

Si necesitas forzar la finalización de una sesión de streaming, tienes las siguientes opciones:
+ **Usa la TerminateStreamSession API:** para usarla [TerminateStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html), necesitarás el ID del grupo de transmisión y el ID de la sesión de transmisión. Puedes usar [ListStreamSessions](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessions.html)o [ListStreamSessionsByAccount](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessionsByAccount.html)con el `--status CONNECTED` parámetro para obtener una lista de las sesiones de transmisión que tienen un cliente conectado.
+ **Eliminar la ubicación de la sesión de su grupo de transmisiones:** al eliminar la ubicación del grupo de transmisiones en el que se está transmitiendo la sesión, se cancelarán todas las sesiones de transmisión activas en esa ubicación. Puedes eliminar una ubicación de un grupo de transmisiones desde la consola o mediante la [RemoveStreamGroupLocations](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_RemoveStreamGroupLocations.html)API.
+ **Eliminar el grupo de transmisiones de la sesión:** al eliminar un grupo de transmisiones, se cancelarán todas las sesiones de transmisión activas en todas las ubicaciones del grupo de transmisiones. Puedes eliminar un grupo de transmisiones desde la consola o mediante la [DeleteStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_DeleteStreamGroup.html)API. Úselo con precaución, ya que finalizará abruptamente las conexiones de los clientes.

## Volver a conectarse a una sesión de streaming
<a name="stream-sessions-reconnection"></a>

Si un cliente se desconecta de una sesión de transmisión sin finalizar la sesión, puede volver a conectarse a la sesión dentro del tiempo especificado en el momento en que `ConnectionTimeoutSeconds` se inició la sesión de transmisión. Para volver a conectarte a una sesión, necesitas el ID de la sesión de transmisión. Para obtener más información, consulte [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html)la *referencia de la API de Amazon GameLift Streams*. Puedes ver un ejemplo de cómo volver a conectarte a una sesión de streaming en el [ejemplo de React Starter](https://github.com/aws-samples/sample-amazon-gamelift-streams-react-app).