

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
<a name="stream-urls"></a>

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
<a name="stream-urls-how"></a>

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 ](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamUrl.html) 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
<a name="stream-urls-end-user"></a>

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](compatible-devices-browsers.md) 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](#stream-urls-differences).

## Requisitos previos
<a name="stream-urls-prerequisites"></a>

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](security_iam_id-based-policy-examples.md#create-and-manage-streamurls-iam) de la política.
+ Si traspasas un rol de IAM`RoleArn`, también necesitarás `iam:PassRole` permiso para ese rol.

## Crear una URL de transmisión
<a name="stream-urls-creating"></a>

**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` (prefijo`su-`), su ARN, todo lo que se puede compartir`StreamUrl`, 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
<a name="stream-urls-monitoring"></a>

[GetStreamUrl](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamUrl.html)Utilí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 `Status``RemainingUses`, 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
```

[ListStreamUrls](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamUrls.html)Utilí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 `CreateStreamUrl``GetStreamUrl`,`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](logging-using-cloudtrail.md).

## Revocar la URL de una transmisión
<a name="stream-urls-revoking"></a>

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.

[RevokeStreamUrl](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_RevokeStreamUrl.html)requiere: `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 permanece`ACTIVE`, 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
<a name="stream-urls-lifecycle"></a>

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 es`REVOKED`, `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
<a name="stream-urls-differences"></a>

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
<a name="stream-urls-troubleshooting"></a>

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` con`GetStreamUrl`. `EXPIRED``REVOKED`, o `LIMIT_REACHED` cada una explica una URL de transmisión que no se puede iniciar. Si el estado es «`ACTIVE`pero 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 capacidad`StartStreamSession`. 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 con`REVOKE_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](compatible-devices-browsers.md) 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.
+ **`CreateStreamUrl`devoluciones`ServiceQuotaExceededException`. ** 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.
+ **`CreateStreamUrl`devuelve. `ValidationException` ** Un valor de entrada está fuera de rango. `UsageLimit`Establézcalo entre 1 y 50 y `UrlExpiresAfterMinutes` entre 1 y 1440.