View a markdown version of this page

Comparte sesiones de streaming con URL de streaming - 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.

Comparte sesiones de streaming con URL de streaming

Las URL de streaming te permiten compartir rápidamente tus sesiones de streaming con cualquier persona. Los destinatarios acceden a tus sesiones de streaming en un navegador web compatible, sin necesidad de Cuenta de AWS integrarlas con el cliente, y tú controlas la caducidad, el uso y la revocación. Después de crear una URL de transmisión, cualquier persona que acceda a ella inicia su propia sesión de transmisión sin necesidad de credenciales. Las URL de las retransmisiones son ideales para configurar de forma rápida y sencilla demostraciones, pruebas de juego, reseñas de las partes interesadas y el acceso de invitados.

importante

Cualquier persona que tenga la URL completa puede iniciar una sesión de transmisión hasta que la URL de la transmisión caduque, alcance su límite de uso o sea revocada. Trata la URL de la transmisión como si fuera una credencial: compártela solo a través de canales de confianza, elige el límite de caducidad y uso más corto posible y revoca inmediatamente la URL si se filtra.

Cómo funcionan las URL de streaming

La URL de una transmisión vincula un grupo de transmisiones (la capacidad que ejecuta la transmisión) y una aplicación de ese grupo de transmisiones (el contenido que se va a ejecutar). Al crear una URL de transmisión, Amazon GameLift Streams devuelve una URL de transmisión con el siguiente formato:

https://gameliftstreams.aws.com/su-1AB2C3De4/stream?token=EXAMPLETOKEN

El flujo de trabajo consta de cuatro pasos:

  • Crear. Se CreateStreamUrl solicita un grupo de transmisión y una aplicación, y se establece durante cuánto tiempo la URL de la transmisión permanece válida (UrlExpiresAfterMinutes) y cuántas veces se puede usar (UsageLimit). La configuración de la sesión de transmisión (argumentos de inicio, variables de entorno, duración de la sesión, resolución de visualización, etc.) se congela en la URL de la transmisión en el momento de la creación.

  • Compartir. Distribuyes la URL de la transmisión a través de tus propios canales, como el correo electrónico, el chat o la página de un evento.

  • Activa. Cada vez que un usuario abre la URL de la transmisión e inicia la transmisión, Amazon GameLift Streams consume un uso de la URL de la transmisión e inicia una sesión de transmisión completamente nueva con la configuración congelada. Cada activación es una sesión independiente; no hay ningún estado compartido entre las personas que usan la misma URL de transmisión.

  • Finalizar. Las sesiones que se inician desde una URL de transmisión duran poco y no admiten la reconexión. Cuando finaliza una sesión, su uso ya se ha contabilizado; al volver a abrir la URL de la transmisión, se inicia una nueva sesión y se consume otro uso.

Como la URL de la transmisión no está autenticada, el usuario final nunca ve ni necesita tus credenciales. AWS El servicio dirige a cada usuario final a una ubicación cercana en función de la preferencia de ubicación de transmisión que estableciste en el momento de la creación. Amazon GameLift Streams reordena tus ubicaciones de streaming preferidas por proximidad, pero nunca añade ubicaciones que no hayas incluido.

La experiencia del usuario final

Los usuarios con los que compartes una URL de transmisión no necesitan instalar Cuenta de AWS ningún software. Abren la URL en un navegador web compatible y transmiten desde una página web que Amazon GameLift Streams aloja para ti. La transmisión usa WebRTC y tiene los mismos requisitos de navegador y dispositivo que el cliente del SDK web de Amazon GameLift Streams. Para conocer los navegadores compatibles y las versiones mínimas, consulte. Dispositivos y navegadores compatibles con Amazon GameLift Streams Si el grupo de transmisiones no tiene capacidad disponible cuando un usuario final abre la URL, la página muestra un mensaje que indica que la transmisión está temporalmente llena y el usuario final puede volver a intentarlo. Si el usuario final intenta cerrar la pestaña o volver a cargarla, la página le pide que confirme, ya que al salir de la página finaliza la sesión.

nota

Las sesiones que se inician desde una URL de transmisión se ajustan para una reproducción breve con un solo espectador. Si el usuario final pierde la conexión o vuelve a cargar la página, la sesión finaliza y, al volver a abrir la URL de la transmisión, se inicia una nueva sesión que consume otro uso. Consulte Diferencias con respecto a las sesiones con las que comienzas StartStreamSession.

Requisitos previos

Antes de crear una URL de transmisión, necesitas lo siguiente:

  • Un grupo de transmisiones que esté activo y tenga capacidad para ejecutar sesiones.

  • Una aplicación que está vinculada a ese grupo de transmisiones.

  • Permiso de IAM para las acciones de la URL de la transmisión. La creación de una URL de transmisión también requiere el gameliftstreams:StartStreamSession permiso de la aplicación a la que apunta, ya que al activar la URL de transmisión se inicia una sesión de transmisión que ejecuta esa aplicación. Consulta el ejemplo Crea y administra las URL de las transmisiones de la política.

  • Si traspasas un rol de IAMRoleArn, también necesitarás iam:PassRole permiso para ese rol.

Crear una URL de transmisión

nota

Puede crear una URL de transmisión en la consola de Amazon GameLift Streams, con la AWS CLI API o con ella. En los siguientes ejemplos se utiliza la AWS CLI.

El siguiente AWS CLI ejemplo crea una URL de transmisión para una aplicación de un grupo de transmisiones. La URL de la transmisión es válida durante dos horas y se puede usar hasta cinco veces, y prefiere las us-east-1 ubicaciones us-west-2 y.

aws gameliftstreams create-stream-url \ --identifier sg-1AB2C3De4 \ --application-identifier a-9ZY8X7Wv6 \ --protocol WebRTC \ --url-expires-after-minutes 120 \ --usage-limit 5 \ --locations us-west-2 us-east-1 \ --description "Preview build - reviewer invites"

Una llamada exitosa devuelve el recurso URL de la transmisión, incluidos su StreamUrlId (prefijosu-), su ARN, todo lo que se puede compartirStreamUrl, el tiempo de caducidad calculado y los usos iniciales restantes.

{ "StreamUrlId": "su-1AB2C3De4", "Arn": "arn:aws:gameliftstreams:us-west-2:111122223333:streamurl/sg-1AB2C3De4/su-1AB2C3De4", "StreamUrl": "https://gameliftstreams.aws.com/su-1AB2C3De4/stream?token=EXAMPLETOKEN", "Status": "ACTIVE", "UsageLimit": 5, "RemainingUses": 5, "ExpiresAt": "2026-07-31T20:00:00+00:00" }

Se requieren los siguientes parámetros:

Parámetro Description (Descripción)
Identifier(grupo de transmisiones) El grupo de transmisiones cuya capacidad ejecuta las sesiones. Proporcione el ID o ARN del grupo de transmisiones.
ApplicationIdentifier La aplicación de ese grupo de transmisiones a transmitir. Proporcione el ID o el ARN de la aplicación.
Protocol El protocolo de transmisión. WebRTCes el único valor admitido.
UrlExpiresAfterMinutes Cuánto tiempo permanece válida la URL de la transmisión, en minutos, desde su creación. Mínimo 1; máximo 1440 (24 horas). Tras esta ventana, la URL de la transmisión pasa EXPIRED a ser.
Locations Tus ubicaciones preferidas, como Región de AWS códigosus-west-2, por orden de prioridad. Amazon GameLift Streams los reordena según la proximidad del usuario final, pero nunca añade ubicaciones que no hayas incluido en la lista.

Los siguientes parámetros son opcionales. Todos los ajustes de sesión que proporciones se congelan en la URL de la transmisión en el momento de la creación y se aplican a todas las sesiones que se inicien desde la URL de la transmisión.

Parámetro Description (Descripción)
UsageLimit Cuántas veces la URL de la transmisión puede iniciar una sesión. Predeterminado 1; máximo 50.
Description Una etiqueta para la URL de la transmisión, de 1 a 80 caracteres.
SessionLengthSeconds Duración máxima de cada sesión iniciada desde la URL de la transmisión.
AdditionalLaunchArgs Command-line los argumentos se transfirieron a la aplicación en el momento del lanzamiento.
AdditionalEnvironmentVariables Variables de entorno configuradas para la aplicación en el momento del lanzamiento.
DisplayConfiguration (Resolution) La resolución de visualización de la transmisión, expresada Resolution como requerida Width y Height en píxeles. Cada dimensión debe estar comprendida entre 320 y 4096. Si se omite, el servicio usa una resolución predeterminada.
RoleArn Un rol de IAM cuyas credenciales puede usar la aplicación durante cada sesión. El rol se congela en cada sesión que inicie la URL de la transmisión. Para transferir un rol se requiere iam:PassRole permiso para hacerlo.
ClientToken Un identificador único que distingue entre mayúsculas y minúsculas que hace que la solicitud de creación sea idempotente, por lo que un reintento con el mismo token no crea una URL de transmisión duplicada.

Supervisar las URL de tus transmisiones

GetStreamUrlUtilízalo para recuperar una única URL de transmisión. Especifica el grupo de transmisiones con --identifier y la URL de la transmisión --stream-url-identifier (un ARN o ID de URL de transmisión). Además de la configuración, actual y, de la URL de la transmisión StatusRemainingUses, la respuesta incluye una StreamSessions lista de las sesiones iniciadas desde la URL de la transmisión, para que puedas ver quién está haciendo streaming de forma activa.

aws gameliftstreams get-stream-url \ --identifier sg-1AB2C3De4 \ --stream-url-identifier su-1AB2C3De4

ListStreamUrlsUtilízala para enumerar las URL de las transmisiones en tu cuenta. Puedes filtrar por grupo de retransmisiones Status y hojear los resultados con MaxResults (del 1 al 100, predeterminado 25) y. NextToken

aws gameliftstreams list-stream-urls \ --status ACTIVE \ --stream-group-identifier sg-1AB2C3De4

También puedes auditar la actividad de administración de las URL de las transmisiones en CloudTrail. CloudTrail graba las llamadas a CreateStreamUrlGetStreamUrl,ListStreamUrls, y RevokeStreamUrl como eventos de datos. El hecho de que un usuario final abra la URL de una transmisión e inicie una sesión no es una de sus llamadas a la API y no se registra como CloudTrail actividad del cliente. Para obtener más información, consulte Registro de llamadas a la API de Amazon GameLift Streams mediante AWS CloudTrail.

Revocar la URL de una transmisión

Revoca la URL de una transmisión cuando quieras impedir que inicie más sesiones, por ejemplo, cuando finalice el período de previsualización o cuando se haya compartido de forma involuntaria.

RevokeStreamUrlrequiere: RevocationMode

RevocationMode Efecto
REVOKE_URL (predeterminado) La URL de la transmisión ya no puede iniciar nuevas sesiones. Las sesiones que ya están en curso continúan hasta que finalizan por sí solas.
REVOKE_AND_TERMINATE_SESSIONS La URL de la transmisión ya no puede iniciar nuevas sesiones y se cancelan todas las sesiones que se estén ejecutando actualmente desde allí. Cuando una sesión en ejecución finaliza de esta manera, el usuario final se desconecta y ve un mensaje que indica que la transmisión ya no está disponible.
aws gameliftstreams revoke-stream-url \ --identifier sg-1AB2C3De4 \ --stream-url-identifier su-1AB2C3De4 \ --revocation-mode REVOKE_AND_TERMINATE_SESSIONS

La URL de una transmisión revocada pasa al REVOKED estado y no se puede reactivar. Crea una nueva URL de transmisión si necesitas volver a compartirla.

Amazon GameLift Streams también revoca automáticamente la URL de una transmisión cuando se elimina un recurso del que depende. Al eliminar el grupo de transmisiones, se revocan todas las URL de transmisión de ese grupo de transmisiones y, al eliminar la aplicación, se revocan todas las URL de transmisión que hacen referencia a esa aplicación. En ambos casos, la URL de la transmisión se desplaza REVOKED con un motivo de estado que identifica el recurso eliminado.

nota

Eliminar un recurso del que depende la URL de una transmisión no es lo mismo que eliminarlo, y no revoca automáticamente la URL de la transmisión. La URL de la transmisión permaneceACTIVE, pero todos los intentos de iniciar una sesión desde ella fallan. Esto ocurre si desvinculas la aplicación de la URL de la transmisión del grupo de transmisiones o si eliminas todas las ubicaciones de los grupos de transmisiones con las que se creó la URL de transmisión. Solo si eliminas el grupo de transmisiones o la aplicación, se activa la revocación automática.

Estado y ciclo de vida de la URL de la transmisión

La URL de una transmisión es el ACTIVE momento en que se crea y permanece así hasta que caduque, se quede sin uso o se revoque. Nunca regresa ACTIVE después de salir de ese estado.

Status Significado
ACTIVE La URL de la transmisión puede iniciar nuevas sesiones.
EXPIRED La UrlExpiresAfterMinutes ventana ha transcurrido.
REVOKED La URL de la transmisión se revocó de forma explícita RevokeStreamUrl o automática cuando se eliminó su grupo de transmisión o aplicación.
LIMIT_REACHED La URL de la transmisión ha utilizado todos susUsageLimit.

Cuando la URL de una transmisión esREVOKED, GetStreamUrl y ListStreamUrls también devuelve, un motivo de estado que explica por qué.

Motivo del estado Causa
userRevoked Se revoca con el RevokeStreamUrl usoREVOKE_URL.
revokedAndTerminatingSessions Revocado conREVOKE_AND_TERMINATE_SESSIONS; las sesiones en curso finalizan.
revokedAndSessionsTerminated Revocado conREVOKE_AND_TERMINATE_SESSIONS; las sesiones en curso han terminado.
streamGroupDeleted Se eliminó el grupo de transmisiones.
applicationDeleted Se eliminó la aplicación a la que se hace referencia.

Diferencias con respecto a las sesiones con las que comienzas StartStreamSession

Las sesiones que se inician desde la URL de una transmisión se ejecutan en la misma infraestructura que las sesiones que inicias tú mismo, pero están optimizadas para una reproducción corta, sin intervención y con un solo espectador. Ten en cuenta estas diferencias:

  • Sin reconexión. Si el usuario final pierde la conexión o vuelve a cargar la página, la sesión finaliza.

  • Re-visiting consume otro uso. 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

  • No hay canales de datos. Las transmisiones que se inician desde una URL de transmisión no exponen los canales de datos de la aplicación. Cree su propio cliente con el SDK web de Amazon GameLift Streams si lo necesita.

Resolución de problemas

Amazon GameLift Streams oculta deliberadamente a los usuarios finales el motivo específico por el que no se ha podido activar la URL de una transmisión. Un usuario final que abre una URL de transmisión que no puede iniciar una transmisión siempre ve una página genérica en la que se indica que no se ha encontrado nada o un mensaje que indica que se ha agotado su capacidad, independientemente de la causa subyacente. Para diagnosticar la verdadera causa, inspecciona la URL de la transmisión desde el punto de vista del creador GetStreamUrl y ListStreamUrls comprueba la razón del estado Status y revisa la actividad de la API de URL de la transmisión en CloudTrail.

  • La URL de la transmisión muestra una página de error genérica o «no se ha encontrado». Comprueba el Status conGetStreamUrl. EXPIREDREVOKED, o LIMIT_REACHED cada una explica una URL de transmisión que no se puede iniciar. Si el estado es «ACTIVEpero las activaciones siguen fallando», lo más probable es que se haya eliminado (no eliminado) un recurso del que depende la URL de la transmisión: la aplicación se desvinculó del grupo de transmisiones o se eliminaron todas las ubicaciones del grupo de transmisiones con las que se creó la URL de la transmisión. Re-link la aplicación o restaurar una ubicación, o crear una nueva URL de transmisión con recursos válidos.

  • El usuario final ve el mensaje «al límite de su capacidad». El grupo de transmisión no tiene capacidad disponible para colocar una nueva sesión en la ubicación más cercana del usuario final. Cada activación inicia una nueva sesión y consume la misma capacidadStartStreamSession. Aumente la capacidad mínima (siempre activa) o máxima, o utilice la capacidad inactiva (precalentada) prevista para mantener la capacidad lista antes de la demanda, especialmente en el caso de eventos con plazos limitados.

  • La sesión finaliza cuando el usuario final se actualiza o se marcha. Esto es lo que se espera. URL-activatedlas sesiones no se vuelven a conectar y cada visita inicia una nueva sesión que consume un usuario. Aconseje a los usuarios finales que no actualicen las actualizaciones y establezca un valor lo suficientemente UsageLimit alto como para tolerar recargas ocasionales.

  • El usuario final se desconecta a mitad de la sesión y ve el mensaje «Esta experiencia ya no está disponible». Los usuarios finales ven este mensaje genérico cada vez que finaliza una sesión en el servidor. La causa más común de la URL de una transmisión es la revocación conREVOKE_AND_TERMINATE_SESSIONS, lo que pone fin a las sesiones en ejecución de inmediato, pero aparece el mismo mensaje si la sesión alcanza el límite de duración configurado o si el servicio la cancela de otro modo. Esto es normal. Crea una nueva URL de transmisión para volver a compartirla.

  • La transmisión no se carga o no se inicia para el usuario final. Es posible que el navegador del usuario final no cumpla con los requisitos de transmisión. La transmisión requiere un navegador compatible con WebRTC y H.264 (AVC); consulte Dispositivos y navegadores compatibles con Amazon GameLift Streams para ver los navegadores compatibles y las versiones mínimas. Una causa común es abrir la URL de la transmisión en una vista de navegador integrada en la aplicación, como cuando se pulsa un enlace en un chat, un correo electrónico o una aplicación social en un dispositivo móvil, lo que puede inhabilitar WebRTC. Recomienda a los destinatarios que abran la URL de la transmisión en un navegador independiente, como Chrome, Edge o Safari.

  • CreateStreamUrldevolucionesServiceQuotaExceededException. La solicitud superaría un límite de recuento activo (20 URL de transmisiones activas por cuenta o 5 por grupo de transmisiones). Revoca las URL de las retransmisiones que ya no necesites para liberar espacio libre y úsalas ListStreamUrls filtradas por Status conjunto para ACTIVE ver tu recuento actual.

  • CreateStreamUrldevuelve. ValidationException Un valor de entrada está fuera de rango. UsageLimitEstablézcalo entre 1 y 50 y UrlExpiresAfterMinutes entre 1 y 1440.