Cómo integrar un servicio de subtítulos ocultos de terceros


Descripción general

Como anfitrión de una reunión, puede agregar subtítulos ocultos a las reuniones de Zoom proporcionando la URL de subtítulos al servicio de subtítulos ocultos de terceros . La URL de subtítulos permite al servicio de terceros transmitir texto desde su software de subtítulos ocultos a la reunión de Zoom. En este artículo se define el formato que utiliza Zoom para recibir datos de subtítulos ocultos.

Si nunca ha utilizado subtítulos ocultos en Zoom, consulte nuestra descripción general de subtítulos ocultos.

Este artículo trata sobre:

Requisitos previos

Cómo obtener la URL de subtítulos (token de API)

Para establecer la conexión, el anfitrión o el coanfitrión deben copiar la URL de subtítulos e introducirla en un software de subtítulos ocultos que admita la API REST de subtítulos ocultos de Zoom. El anfitrión también puede copiar la URL y enviarla a otra persona mediante el chat durante la reunión.

  1. En una reunión o seminario web de Zoom que celebre, haga clic en Subtítulos ocultos.
  2. Haga clic en Copiar el token de API.

Cómo usar la URL de subtítulos ocultos mediante HTTP

Zoom espera que los datos de los subtítulos ocultos lleguen en una secuencia continua de los POST. Cada sesión de salas para grupos pequeños y reuniones tiene una URL especial (las sesiones de salas para grupos pequeños tienen un parámetro subconfid [identificador de subconfiguración] adicional). La URL del POST especificará el destino de los datos (la reunión a la que están asociados los subtítulos ocultos).

Ejemplo: https://wmcapi.zoom.us/closedcaption?id=200610693&ns=GZHkEA==&expire=86400&spparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW

El siguiente parámetro debe agregarse a la URL de cada POST:

NombreDescripciónFragmento de ejemplo
sec.

Debe estar incluida en todos los POST. Contador para todos los post de datos de subtítulos ocultos. El contador debe aumentar en uno entre los post de los nuevos datos de subtítulos (no debe aumentarse para los reintentos).

El número de secuencia del último envío exitoso se puede obtener a través de la API: /closedcaption/seq [GET]

&seq
idioma

El código de idioma y el código ISO de país separados por un guion.

Ejemplos:

  • Alemán: de-DE
  • Inglés: en-US
  • Japonés: jp-JP
  • Español: es-ES
  • Francés: fr-FR
  • Chino: zh-CN
&lang= es-ES
 

Tipo de contenido y datos

El tipo de contenido (mimetype) para todos los POST debe estar en texto sin formato con codificación UTF-8.

Todos los HTTP POST enviados al punto de ingestión de subtítulos ocultos deben incluir solo datos de subtítulos ocultos dentro del cuerpo del contenido. Los datos no deben estar codificados por formulario.

El cuerpo del POST incluirá el texto de los datos de los subtítulos ocultos. Un salto de línea puede utilizar \n (0x0D) en el texto de los subtítulos ocultos.

Ejemplos:

Códigos de respuesta

Los HTTP POST pueden devolver los siguientes códigos de respuesta:

Código de respuestaDescripción
405

Método no permitido. No es un POST.

400

Solicitud incorrecta. La reunión no ha comenzado.

403

No autorizado. Podría deberse a la falta del parámetro de consulta &seq o a la falta de &id, &signature, &expire o &ns.

 

Reintentos de solicitud

Zoom recomienda que reintente todos los códigos. Esto incluye los códigos de respuesta 405, 400, 403 que se muestran arriba y códigos adicionales, tales como 408 tiempo de espera de la solicitud, 500 error interno del servidor, 502 puerta de enlace incorrecta, 503 servicio no disponible y 504 tiempo de espera de la puerta de enlace.

Todas las solicitudes HTTP POST deben realizarse con un tiempo de espera. Si se agota el tiempo de espera de una solicitud, se debe reintentar.

Al realizar solicitudes de reintento, utilice el retroceso exponencial binario aleatorio:

Espere un período aleatorio entre [0..100] milisegundos y reintente; si se produce un error, espere un período aleatorio entre [0..200] milisegundos y reintente; si se produce un error, espere un período aleatorio entre [0..400] milisegundos y reintente, y así sucesivamente. Debe reintentar hasta que tenga más sentido pasar al siguiente paquete de subtítulos ocultos (después de aproximadamente 5 segundos).

HTTP POST muestra la marca de tiempo

Un valor de la marca de tiempo está presente en el cuerpo de devolución del POST y corresponde a la hora en que se procesó el POST. Puede utilizarse para corregir el reloj local en un cliente que conduce el servidor. Zoom recomienda encarecidamente usar este valor porque los relojes locales suelen estar mal sincronizados.

Ejemplo de marca de tiempo devuelta: 2012-12-24T00:00:06.873

POST de ejemplo

POST /closedcaption?id=200610693&ns=GZHkEA==&expire=86400&sparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW&seq=41&lang=en-US 
Host: wmcapi.zoom.us:80
Accept: */*
Content-Type: text/plain
Content-Length: 11
I'M SENDING
 
POST /closedcaption?id=200610693&ns=GZHkEA==&expire=86400&sparams=id%2Cns%2Cexpire&signature=nYtXJqRKCW&seq=42&lang=en-US 
Host: wmcapi.zoom.us:80
Accept: */*
Content-Type: text/plain
Content-Length: 18
SEVERAL CAPTIONS.\n