Comience las sesiones de streaming con Amazon GameLift Streams - Amazon GameLift Streams

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

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 tu aplicación o jugar a tu 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.

Acerca de las sesiones de streaming

Los requisitos previos para iniciar una sesión de transmisión son una aplicación y un grupo de transmisión que tengan capacidad activa disponible. Una sesión de transmisión se ejecuta en uno de los recursos de procesamiento, o capacidad de transmisión, que un grupo de transmisión ha asignado. 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 StartStreamSessionde la API de Amazon GameLift Streams.

Probar una transmisión en la consola

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 AWS Management Console y ábrala.

  2. 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.

    2. 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.

    3. En Aplicaciones vinculadas, seleccione una aplicación.

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

    5. (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.

    6. Confirme su selección y elija Test stream.

  3. 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.

    2. 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.

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

  4. Para finalizar la transmisión, selecciona Finalizar sesión. Cuando la transmisión se desconecta, la capacidad de la 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

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.

  • StartStreamSessioncrea 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 aACTIVE. Cuando un cliente se conecta a la transmisión activa, la sesión de transmisión pasa aCONNECTED.

  • Cuando un cliente se desconecta de una transmisión, la sesión de transmisión pasa al PENDING_CLIENT_RECONNECTION estado. CreateStreamSessionConnectionpasa 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 tiempoConnectionTimeoutSeconds, 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 especificadoConnectionTimeoutSeconds, pasa aTERMINATED.

  • TerminateStreamSessioninicia 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 enTERMINATED, puede pasar aERROR. 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 GetStreamSessionpara 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.

Valores de tiempo de espera que afectan a las sesiones de streaming

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 deplacementTimeout.

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

  • 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 aTERMINATED.

Tiempo de inactividad

Período de tiempo durante el que una sesión de streaming puede estar inactiva sin intervención del usuario.

  • Parámetro: (interno)

  • Valor: 60 minutos

  • Comportamiento: si no se recibe ninguna entrada del usuario durante este tiempo, Amazon GameLift Streams finaliza la sesión de transmisión.

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

  • 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

Si necesitas forzar la finalización de una sesión de streaming, tienes las siguientes opciones:

  • Usa la TerminateStreamSession API: para usarla TerminateStreamSession, necesitarás el ID del grupo de transmisión y el ID de la sesión de transmisión. Puedes usar ListStreamSessionso ListStreamSessionsByAccountcon 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 RemoveStreamGroupLocationsAPI.

  • 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 DeleteStreamGroupAPI. Úselo con precaución, ya que finalizará abruptamente las conexiones de los clientes.

Volver a conectarse a una sesión de streaming

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 CreateStreamSessionConnectionla 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.