

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.

# JoinStorageSessionAsViewer
<a name="API_webrtc_JoinStorageSessionAsViewer"></a>

**nota**  
Antes de usar esta API, debe llamar a la `GetSignalingChannelEndpoint` API para solicitar el punto final WEBRTC. A continuación, especifique el punto final y la región en su solicitud de `JoinStorageSessionAsViewer` API.

 `JoinStorageSessionAsViewer`permite al espectador unirse a una sesión de streaming WebRTC grabada en la nube en curso. Esta API inicia una conexión WebRTC enviando una oferta de SDP y candidatos a ICE entre el espectador y el agente de grabación, lo que permite al espectador recibir vídeo en tiempo real del maestro a través del agente de grabación y participar en una comunicación de audio bidireccional a través del agente de grabación. Una vez conectado, el audio del espectador, si se proporciona, se reenvía a todos los demás pares conectados, incluido el participante principal, y se incorpora a la transmisión de WebRTC que se guarda en la transmisión de Kinesis Video. 

**importante**  
Por el momento, los espectadores no pueden enviar ninguna pista de vídeo. Los espectadores pueden enviar una pista de audio opcional o no enviar ninguna pista.   
Requisitos actuales de envío de los espectadores y participantes:  
Pista de vídeo: no compatible
Pista de audio (opcional): Opus

Si el participante principal está conectado actualmente al dispositivo de producción de vídeo, el vídeo ingerido resultante en la transmisión de vídeo de Kinesis tendrá los siguientes parámetros: vídeo H.264 y audio AAC. 

**nota**  
Los espectadores participantes se conectan directamente a la sesión de almacenamiento y no directamente al participante principal. La sesión de almacenamiento se encarga de mezclar, duplicar y enrutar el contenido multimedia al destino adecuado.

**nota**  
Si el participante principal no está presente, los espectadores no podrán escucharse entre sí.

Una vez que el espectador participante haya negociado una conexión a través de WebRTC, la sesión de audio ingerida se almacenará en la transmisión de vídeo de Kinesis siempre que el participante principal también esté conectado a la sesión de almacenamiento. 

También puede utilizar las funciones existentes de Kinesis Video Streams, `HLS` como `DASH` la reproducción, la generación de imágenes [GetImages](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html)mediante, etc., con medios WebRTC incorporados.

**nota**  
Actualmente, no se admiten la entrega de imágenes ni las notificaciones de S3.

**nota**  
Suponga que solo se puede asociar un cliente de un dispositivo de producción de vídeo a una sesión del canal. Si más de un cliente se une a la sesión de un canal específico como dispositivo de producción de vídeo, prevalece la solicitud más reciente del cliente. 

 **Límites** 

Los límites actuales están vigentes:
+  **Número máximo de espectadores:** 3
+  **Tiempo máximo que los espectadores permanecen conectados a la sesión de almacenamiento sin la presencia de un participante principal:** 3 minutos

**importante**  
Si un espectador se desconecta de la sesión de almacenamiento (cierra la conexión entre pares), su cuota (límite de espectadores) permanece consumida durante 1 minuto. Durante este período de 1 minuto, el espectador puede invocar esta API con el mismo ID de cliente para volver a unirse a la sesión sin consumir una cuota de espectadores adicional. Transcurrido un minuto, se liberará la cuota de espectadores y estará disponible para que otros espectadores se unan.

 **Información adicional** 
+  **Idempotente**: esta API no es idempotente.
+  **Comportamiento de reintento**: se considera una nueva llamada a la API.
+  **Llamadas simultáneas**: se permiten las llamadas simultáneas. Se envía una oferta por cada llamada.

## Sintaxis de la solicitud
<a name="API_webrtc_JoinStorageSessionAsViewer_RequestSyntax"></a>

```
POST /joinStorageSessionAsViewer HTTP/1.1
Content-type: application/json

{
   "channelArn": "{{string}}",
   "clientId": "{{string}}"
}
```

## Parámetros de solicitud del URI
<a name="API_webrtc_JoinStorageSessionAsViewer_RequestParameters"></a>

La solicitud no utiliza ningún parámetro de URI.

## Cuerpo de la solicitud
<a name="API_webrtc_JoinStorageSessionAsViewer_RequestBody"></a>

La solicitud acepta los siguientes datos en formato JSON.

 ** [channelArn](#API_webrtc_JoinStorageSessionAsViewer_RequestSyntax) **   <a name="KinesisVideo-webrtc_JoinStorageSessionAsViewer-request-channelArn"></a>
El nombre de recurso de Amazon (ARN) del canal de señalización.  
Tenga en cuenta el uso de mayúsculas en este parámetro de entrada.
Tipo: cadena  
Patrón: `arn:(aws[a-zA-Z-]*):kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`   
Obligatorio: sí

 ** [clientId](#API_webrtc_JoinStorageSessionAsViewer_RequestSyntax) **   <a name="KinesisVideo-webrtc_JoinStorageSessionAsViewer-request-clientId"></a>
 El identificador único del cliente remitente.   
Tipo: cadena  
Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 256 caracteres.  
Patrón: `[a-zA-Z0-9_.-]+`   
Obligatorio: sí

## Sintaxis de la respuesta
<a name="API_webrtc_JoinStorageSessionAsViewer_ResponseSyntax"></a>

```
HTTP/1.1 200
```

## Elementos de respuesta
<a name="API_webrtc_JoinStorageSessionAsViewer_ResponseElements"></a>

Si la acción se realiza correctamente, el servicio devuelve una respuesta HTTP 200 con un cuerpo HTTP vacío.

## Errores
<a name="API_webrtc_JoinStorageSessionAsViewer_Errors"></a>

Para obtener información acerca de los errores comunes a todas las acciones, consulte [Tipos de errores comunes](CommonErrors.md).

 ** AccessDeniedException **   
No tiene los permisos necesarios para realizar esta operación.  
Código de estado HTTP: 403

 ** ClientLimitExceededException **   
 Kinesis Video Streams ha limitado la solicitud porque ha superado el límite de llamadas de clientes permitidas. Intente realizar la llamada más tarde.   
Código de estado HTTP: 400

 ** InvalidArgumentException **   
El valor de este parámetro de entrada no es válido.  
Código de estado HTTP: 400

 ** ResourceNotFoundException **   
No se encuentra el recurso especificado.  
Código de estado HTTP: 404

## Véase también
<a name="API_webrtc_JoinStorageSessionAsViewer_SeeAlso"></a>

Para obtener más información sobre el uso de esta API en uno de los idiomas específicos AWS SDKs, consulta lo siguiente:
+  [AWS Interfaz de línea de comandos V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para C\+\+](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para Python](https://docs.aws.amazon.com/goto/boto3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 
+  [AWS SDK para Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer) 