Subtítulos en directo
Utiliza la API de subtítulos en directo para transcribir flujos de audio y generar subtítulos en tiempo real para tu aplicación.
La API de subtítulos en directo de Vonage Video te permite mostrar subtítulos en directo a los usuarios finales en una sesión de Vonage Video, utilizando un servicio de transcripción. Utilizamos AWS Transcribe como proveedor de transcripción. Dado que la función de subtítulos en directo captura el audio desde el OpenTok Media Router, también puede proporcionar los subtítulos para el audio de los participantes que se conectan mediante SIP.
Live Captions está activado por defecto para todos los proyectos, y es un producto basado en el uso. El uso de Live Captions se cobra en función del número de secuencias de audio de los participantes (o ID de secuencia) que se envían al servicio de transcripción. Para más información, consulte Normas de tarificación de la API de subtítulos en directo.
La función «Subtítulos en directo» solo está disponible en sesiones enrutadas (sesiones que utilizan el OpenTok Media Router). Puedes enviar hasta 50 transmisiones de audio de una sola sesión de Vonage a la vez al servicio de transcripción para subtítulos.

Pasos para activar los subtítulos en directo
-
Utiliza la API REST o el SDK del servidor para activar los subtítulos en una sesión
-
Utiliza el método del Client SDK para publicar audio en el servicio de subtítulos:
-
En los clientes suscriptores, llame al método Client SDK correspondiente para que un suscriptor se suscriba a los subtítulos de un flujo.
Al iniciar el subtitulado en directo, OpenTok transmite de forma segura el audio a un servicio externo de transcripción de audio, como Amazon Transcribe.
Utiliza la API de subtítulos de los SDK de cliente de OpenTok para activar o desactivar la recepción de subtítulos en directo en tu aplicación:
El hecho de activar o desactivar la recepción de subtítulos en directo en un cliente web no afecta a los subtítulos que reciben los demás clientes conectados a la sesión de OpenTok.
Idiomas admitidos
La función «Subtítulos en directo» es compatible con numerosos idiomas y dialectos. Indica el idioma deseado como el languageCode opción cuando activar los subtítulos en directo con la API REST:
"af-ZA"- afrikáans"ar-AE"- Árabe, del Golfo"ar-SA"- Árabe moderno estándar"eu-ES"- Euskera"ca-ES"- catalán"zh-HK"- Chino simplificado"zh-CN"- Chino, cantonés"zh-TW"- Chino tradicional"hr-HR"- Croata"cs-CZ"- Checa"da-DK"- Danés"nl-NL"- Neerlandés"en-AU"- Inglés, australiano"en-GB"- Inglés, británico"en-IN"- Inglés, indio"en-IE"- Inglés, irlandés"en-NZ"- Inglés, Nueva Zelanda"en-AB"- Inglés, escocés"en-ZA"- Inglés, sudafricano"en-US"- Inglés (EE. UU.)"en-WL"- Inglés, galés"fa-IR"- farsi"fi-FI"- Finlandés"fr-FR"- Francés"fr-CA"- francés, canadiense"gl-ES"- Gallego"de-DE"- Alemán"de-CH"- Alemán, suizo"el-GR"- Griego"he-IL"- hebreo"hi-IN"- Hindi, indio"id-ID"- Indonesio"it-IT"- Italiano"ja-JP"- Japonés"ko-KR"- Coreano"lv-LV"- Letón"ms-MY"- Malayo"no-NO"- Noruego (Bokmål)"pl-PL"- Polaco"pt-PT"- Portugués"pt-BR"- Portugués, brasileño"ro-RO"- rumano"ru-RU"- Ruso"sr-RS"- serbio"sk-SK"- Eslovaco"so-SO"- Somalí"es-ES"- Español"es-US"- Español, US"sv-SE"- Sueco"tl-PH"- Tagalo/Filipino"th-TH"- Tailandia"uk-UA"- Ucraniano"vi-VN"- Vietnamita"zu-ZA"- Zulú
Casos de uso
Los subtítulos en directo pueden mejorar la experiencia y la participación de los usuarios de una aplicación. Los subtítulos mejoran la puntuación de accesibilidad de su aplicación, lo que a menudo se traduce en la participación de personas con discapacidad auditiva. Algunas leyes de todo el mundo exigen que las aplicaciones ofrezcan subtítulos.
Los subtítulos pueden facilitar la comprensión de lo que dice el interlocutor en entornos no controlados, lo que mejora la participación de los usuarios.
Los subtítulos en directo solo están disponibles para las sesiones de OpenTok enrutadas (sesiones que utilizan el OpenTok Media Router).
Al activar la función «Subtítulos en directo»:
- Utilice la API de subtitulación de audio del cliente para iniciar la subtitulación de audio de cada secuencia publicada.
- El flujo de audio se envía a un servicio externo de transcripción de audio.
- Utiliza la API de subtitulado de audio del cliente para suscribirte a los subtítulos en directo de cada transmisión publicada.
- El hecho de que un suscriptor decida no recibir los subtítulos no afecta a la recepción de los mismos por parte de otros suscriptores que utilicen otros clientes conectados a la sesión.
- Cuando finalice la sesión de OpenTok (cuando todos los clientes hayan dejado de publicar transmisiones en la sesión), puedes de forma explícita Detener los subtítulos con la opción «Detener subtítulos» API. De lo contrario, los subtítulos de audio se detienen automáticamente una vez que ha transcurrido la duración máxima (especificada al llamar a la API «Start Captions»).
- Los subtítulos en directo se detienen automáticamente una vez transcurrido el tiempo máximo especificado en la API «Start Captions».
Notas
-
Utiliza la API de subtitulado de audio del Client SDK para iniciar el subtitulado de audio de cada transmisión publicada.
-
El flujo de audio se envía a un servicio de transcripción de audio de terceros (AWS Transcribe).
-
Utiliza la API de subtitulado de audio del cliente para suscribirte a los subtítulos en directo de cada transmisión publicada.
-
El hecho de que un suscriptor decida no recibir los subtítulos no afecta a la recepción de los mismos por parte de otros suscriptores que utilicen otros clientes conectados a la sesión.
-
Cuando finalice la sesión de OpenTok (es decir, cuando todos los clientes hayan dejado de publicar transmisiones en la sesión), puedes detener explícitamente la generación de subtítulos mediante la API «Stop Captions». De lo contrario, la generación de subtítulos de audio se detendrá automáticamente una vez que haya transcurrido la duración máxima (especificada al llamar a la API «Start Captions»).
-
Los subtítulos en directo de una sesión finalizan durante la rotación del servidor. Puede reiniciar los subtítulos en directo en respuesta a eventos de notificación de rotación del servidor. Véase Rotación de servidores y migración de sesiones.
La duración máxima predeterminada permitida para los subtítulos en cada sesión de OpenTok es de 4 horas. Puedes establecer otra duración máxima al llamar a la función «Iniciar subtítulos». API. Una vez transcurrido ese tiempo, los subtítulos de audio se detendrán sin que ello afecte a la sesión de OpenTok en curso. Además, los subtítulos se desactivarán 60 segundos después de que el último cliente se desconecte de la sesión.
Actualizaciones del estado de los subtítulos en directo
Puedes configurar un webhook para recibir eventos cuando los subtítulos en directo se inicien, se detengan y fallen en una sesión.
-
Vaya a su Account de la Video API y selecciona el proyecto de la lista de proyectos que aparece en el menú de la izquierda.
-
En Configuración del proyectoencuentra Supervisión de subtítulos en directo y haga clic en Configure.
-
Introduce la URL a la que se deben enviar las notificaciones.
Devoluciones de llamada seguras: Establecer un Secreto de firma para utilizar solicitudes de callback de webhook seguras con callbacks firmados, utilizando el secreto de firma. Véase Devoluciones de llamada seguras.
Cuando cambia el estado de los subtítulos en directo, se envía un HTTP POST a las URL de devolución de llamada. Si no se configura ninguna URL de devolución de llamada, no se envía ninguna actualización de estado. Los datos brutos de la solicitud HTTP son un mensaje codificado en JSON de la siguiente forma:
{
"captionId": "<captionsId>",
"projectId": "<apiKey>",
"sessionId": "<sessionId>",
"status": "stopped",
"createdAt": 1651253477,
"updatedAt": 1651253837,
"duration": 360,
"stream": {
"streamId": "<streamId>",
"streamStatus": "stopped"
},
"languageCode": "en-US",
"reason": "Maximum duration exceeds.",
"provider": "aws-transcribe",
"status": "stopped",
"group": "captions"
}
El objeto JSON incluye las siguientes propiedades:
captionsId— El identificador único de la sesión de subtitulado de audio.projectId— Clave de APIsessionId— Sesión de OpenTok en la que se ha activado el subtitulado de audio.status— Estado actual de los subtítulos en directo."started"— La plataforma Vonage Video API ha asignado correctamente los recursos necesarios para enviar flujos de audio para la generación de subtítulos."transcribing"— El servicio de transcripción ya ha comenzado (y se está trabajando en los subtítulos).*"stopped"— Se ha interrumpido el subtitulado y se han eliminado todos los recursos."failed"— El servicio de subtítulos no ha asignado los recursos necesarios o no ha enviado las transmisiones para su subtitulación.
createdAt— La marca de tiempo de Unix (Época) en la que ha comenzado el subtitulado de audio.updatedAt— La marca de tiempo de Unix (Época) en la que se ha actualizado el subtitulado de audio. Si elstatusestá «detenido», elupdatedAtindica el momento en el que se ha interrumpido el subtitulado.stream— Un objeto que contiene el identificador de la transmisión y el estado de la transmisión a la que se refiere el subtítulo.languageCode— Se ha utilizado el código de idioma BCP-47reason— Información adicional sobre el error relacionado con el cambio de estadoprovider—El proveedor de servicios externo utilizado para el subtitulado de audio:"aws-transcribe"— Amazon Transcribe
group— El tipo del evento, que siempre se establece en «captions» para los eventos de la API de subtítulos de audio.
Muestra
El Ejemplo «Basic-Captions» de opentok-web-samples utiliza subtítulos en directo en una aplicación web desarrollada con el Vonage Client SDK.
Problemas conocidos
- Cuando un participante se silencia durante más de 15 segundos, se desconecta la conexión con el proveedor externo de transcripciones, para ahorrar costes de facturación. Los subtítulos pueden tardar entre 2 y 5 segundos en volver a conectarse.
Más información
Véase este artículo de soporte de API de Vonage para consultar más especificaciones técnicas y preguntas frecuentes.
Véase este artículo de soporte de API de Vonage para obtener información sobre las tarifas de la API de subtítulos en directo.