View a markdown version of this page

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

Inicie sesiones de streaming con Amazon GameLift Streams

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

Para lanzar sesiones de transmisión para los usuarios finales, puede integrar Amazon GameLift Streams en su propia aplicación de servicio y cliente; para obtener más información, consulteCliente web y servicio de backend de Amazon GameLift Streams. También puede crear una URL de transmisión, que inicie una sesión de transmisión en un navegador web compatible sin que el usuario final tenga AWS credenciales ni una integración con el cliente; para obtener más información, consulteComparte sesiones de streaming con URL de streaming.

Acerca de las sesiones de transmisión

Los requisitos previos para iniciar una sesión de transmisión son tener una aplicación en estado Listo, un grupo de transmisión que tenga capacidad disponible en la ubicación en la que desea transmitir y que la aplicación esté replicada en la ubicación en la que desea transmitir. Una sesión de transmisión se ejecuta en uno de los recursos informáticos que ha asignado un grupo de transmisión. Cuando inicias una transmisión, debes especificar un grupo de transmisiones y una aplicación para transmitir con 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, usas ese ID para conectar la sesión de transmisión a un usuario final. Para obtener más información, consulte StartStreamSession la referencia de la API de Amazon GameLift Streams.

Si lo desea, puede proporcionar un ARN para el rol de IAM al iniciar una sesión de transmisión. Si se proporciona, Amazon GameLift Streams asume el rol y su aplicación recibe automáticamente las credenciales de AWS. No necesita cambiar el código de la aplicación. Para obtener más información, consulte Proporcionar las credenciales de AWS a la aplicación de transmisión.

Probar una transmisión en la consola

La forma más directa de probar el modo en que se transmite la aplicación es a través de la consola de Amazon GameLift Streams. Cuando inicia 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 tu transmisión en la consola de Amazon GameLift Streams
  1. Inicia sesión en la consola de Amazon GameLift Streams Consola de administración de AWS y ábrela.

  2. Puedes probar una transmisión de varias maneras. Empieza desde la página de grupos de streaming o la página de prueba de streaming y sigue estos pasos:

    1. Selecciona un grupo de streaming que quieras usar para hacer streaming.

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

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

    4. En Ubicación, elige 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 cuando se inicie.

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

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

    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 prueba), selecciona Adjuntar entrada. Cuando mueves el cursor a la ventana de transmisión, conectas el ratón automáticamente.

    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, seleccione Exportar archivos y especifique los detalles del bucket. Los archivos exportados se encuentran en la página de sesiones.

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

  4. Para finalizar la transmisión, selecciona Terminar sesión. Cuando la transmisión se desconecta, la capacidad de transmisión pasa a estar disponible para iniciar otra transmisión.

nota

La función de prueba de transmisión de la consola de Amazon GameLift Streams no admite micrófonos.

Ciclo de vida de una sesión

Cuando trabaje con sesiones de transmisión en Amazon GameLift Streams, este diagrama puede ayudarlo a comprender los diferentes estados a los que pasa una sesión de transmisión a lo largo de su ciclo de vida.

  • StartStreamSessioncrea una nueva sesión de transmisión, que comienza en ese 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 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, pasa a. ACTIVE Cuando el cliente se vuelve a conectar, vuelve a. CONNECTED Si un cliente permanece desconectado durante más tiempoConnectionTimeoutSeconds, la sesión de transmisión finaliza.

  • Cuando un cliente no se conecta a una sesión de transmisión ACTIVE o PENDING_CLIENT_RECONNECTION estado dentro del período de tiempo especificado porConnectionTimeoutSeconds, 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 transmisión en cualquier estado, exceptoTERMINATED, puede hacer la transición aERROR. Cuando una llamada a la API ERROR aparezca como un valor de estado, comprueba el valor de StatusReason para obtener una breve descripción de la causa del error. También puedes llamar GetStreamSession 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.

Los valores de tiempo de espera que afectan a las sesiones de transmisión

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 el que suelen aparecer durante el ciclo de vida de la sesión de streaming, se incluyen los siguientes:

Tiempo de espera para la 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 para la colocación varía en función del tipo de capacidad utilizado para tramitar tu solicitud de transmisión:

  • Always-on capacidad: 75 segundos

  • On-demand capacidad:

    • Linux/Proton tiempos de ejecución: 90 segundos

    • Tiempo de ejecución de Windows: 10 minutos

  • Comportamiento: si Amazon GameLift Streams no puede identificar los recursos disponibles dentro de este tiempo, la sesión Status de transmisión ERROR pasa a ser StatusReason deplacementTimeout.

Tiempo de espera de la conexión

Tiempo durante el que Amazon GameLift Streams espera a que un cliente se conecte o se vuelva a conectar a una sesión de transmisión.

  • Parámetro: in 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 PENDING_CLIENT_RECONNECTION el estado ACTIVE o. Si ningún cliente se conecta antes de que se agote el tiempo de espera, la sesión Status pasa aTERMINATED.

Duración de la sesión: tiempo de espera

Duración máxima Amazon GameLift Streams mantiene abierta una sesión de streaming.

  • Parámetro: SessionLengthSeconds in StartStreamSession

  • Rango: 1 - 86400 segundos (24 horas)

  • Predeterminado: 43200 segundos (12 horas)

  • Comportamiento: finaliza la sesión de transmisión independientemente de si hay alguna conexión de cliente existente cuando se alcanza el límite de tiempo.

Finalización de 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 ListStreamSessions o ListStreamSessionsByAccount junto 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 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 API. Úselo con precaución, ya que terminará abruptamente las conexiones de los clientes.

Reconectarse a una sesión de transmisión

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

La reconexión no está disponible para las sesiones de transmisión que se inician activando una URL de transmisión. Como no hay reconexión, al volver a abrir la URL de la transmisión, se inicia una sesión completamente nueva y se consume otro uso de la misma. UsageLimit Para obtener más información, consulte Comparte sesiones de streaming con URL de streaming.