Legendas em tempo real

Use a API Live Captions para transcrever fluxos de áudio e gerar legendas em tempo real para seu aplicativo.

A Video API de legendas ao vivo do Vonage Video permite exibir legendas ao vivo para os usuários finais em uma sessão do Vonage Video, utilizando um serviço de transcrição. Estamos utilizando o AWS Transcribe como provedor de transcrição. Como o Live Captions captura o áudio do OpenTok Media Router, ele também pode fornecer legendas para o áudio dos participantes que se conectam via SIP.

O Live Captions está ativado por padrão em todos os projetos e é um produto cobrado com base no uso. A cobrança pelo uso do Live Captions é feita com base no número de fluxos de áudio dos participantes (ou IDs de fluxo) enviados ao serviço de transcrição. Para obter mais informações, consulte Regras de preços da API de legendas em tempo real.

O recurso “Legendas em tempo real” é compatível apenas com sessões roteadas (sessões que utilizam o Roteador de mídia OpenTok). É possível enviar até 50 fluxos de áudio de uma única sessão da Vonage por vez para o serviço de transcrição, a fim de gerar legendas.

Passos para ativar as legendas em tempo real

  1. Use a API REST ou o SDK do servidor para ativar as legendas em uma sessão

  2. Use o método do Client SDK para publicar áudio no serviço de legendas:

  3. Ao inscrever clientes, chame o método correspondente do Client SDK para que um assinante se inscreva para receber legendas de uma transmissão.

Ao iniciar a legenda em tempo real, o OpenTok transmite o áudio de forma segura para um serviço terceirizado de transcrição de áudio, como o Amazon Transcribe.

Use a API de legendas nos SDKs do cliente OpenTok para ativar ou desativar o recebimento de legendas ao vivo em seu aplicativo:

Iniciar ou interromper o recebimento de legendas em tempo real em um cliente web não afeta as legendas recebidas por outros clientes conectados à sessão do OpenTok.

Idiomas suportados

O Live Captions oferece suporte a vários idiomas e dialetos. Indique o idioma desejado como o languageCode opção quando ativando legendas em tempo real com a API REST:

  • "af-ZA" - africâner
  • "ar-AE" - Árabe, Golfo
  • "ar-SA" - Árabe, Árabe Padrão Moderno
  • "eu-ES" - basco
  • "ca-ES" - Catalão
  • "zh-HK" - Chinês (simplificado)
  • "zh-CN" - Chinês, cantonês
  • "zh-TW" - Chinês tradicional
  • "hr-HR" - croata
  • "cs-CZ" - Tcheco
  • "da-DK" - dinamarquês
  • "nl-NL" - Holandês
  • "en-AU" - Inglês (australiano)
  • "en-GB" - Inglês (britânico)
  • "en-IN" - Inglês, indiano
  • "en-IE" - Inglês, Irlandês
  • "en-NZ" - Inglês, Nova Zelândia
  • "en-AB" - Inglês, escocês
  • "en-ZA" - Inglês, sul-africano
  • "en-US" - Inglês (EUA)
  • "en-WL" - Inglês, galês
  • "fa-IR" - farsi
  • "fi-FI" - Finlandês
  • "fr-FR" - Francês
  • "fr-CA" - Francês, canadense
  • "gl-ES" - galego
  • "de-DE" - Alemão
  • "de-CH" - alemão, suíço
  • "el-GR" - Grego
  • "he-IL" - hebraico
  • "hi-IN" - hindi, indiano
  • "id-ID" - Indonésio
  • "it-IT" - Italiano
  • "ja-JP" - Japonês
  • "ko-KR" - Coreano
  • "lv-LV" - letão
  • "ms-MY" - malaio
  • "no-NO" - Norueguês (Bokmål)
  • "pl-PL" - Polonês
  • "pt-PT" - Português
  • "pt-BR" - Português (do Brasil)
  • "ro-RO" - romeno
  • "ru-RU" - Russo
  • "sr-RS" - sérvio
  • "sk-SK" - Eslovaco
  • "so-SO" - somali
  • "es-ES" - Espanhol
  • "es-US" - Espanhol, EUA
  • "sv-SE" - Sueco
  • "tl-PH" - Tagalo/Filipino
  • "th-TH" - tailandês
  • "uk-UA" - ucraniano
  • "vi-VN" - Vietnamita
  • "zu-ZA" - Zulu

Casos de uso

As legendas em tempo real podem melhorar a experiência do usuário e o engajamento com o aplicativo. As legendas aumentam o índice de acessibilidade do seu aplicativo, o que muitas vezes resulta na participação de pessoas com deficiência auditiva. Algumas leis em todo o mundo exigem que as aplicações ofereçam legendas.

A exibição de legendas pode aumentar a compreensão do que o locutor diz em ambientes não controlados, melhorando assim o envolvimento do usuário.

As legendas em tempo real estão disponíveis apenas para sessões do OpenTok encaminhadas (sessões que utilizam o Roteador de mídia OpenTok).

Ao ativar o recurso “Legendas em tempo real”:

  • Use a API de legendagem de áudio do cliente para iniciar a legendagem de áudio para cada transmissão publicada.
  • O fluxo de áudio é enviado a um serviço terceirizado de transcrição de áudio.
  • Use a API de legendagem de áudio do cliente para se inscrever nas legendas ao vivo de cada transmissão publicada.
  • A decisão de um assinante específico de não receber as legendas não afeta o recebimento das legendas por outros assinantes em outros clientes conectados à sessão.
  • Quando a sessão do OpenTok terminar (quando todos os clientes tiverem parado de publicar transmissões na sessão), você pode explicitamente interromper a exibição de legendas usando a opção “Interromper legendas” API. Caso contrário, a legenda de áudio é interrompida automaticamente após o término da duração máxima (especificada ao chamar a API Start Captions).
  • A legenda em tempo real é interrompida automaticamente após o término do tempo máximo especificado na API Start Captions.

Notas

  • Use a API de legendagem de áudio do Client SDK para iniciar a legendagem de áudio para cada transmissão publicada.

  • O fluxo de áudio é enviado a um serviço de transcrição de áudio de terceiros (AWS Transcribe).

  • Use a API de legendagem de áudio do cliente para se inscrever nas legendas ao vivo de cada transmissão publicada.

  • A decisão de um assinante específico de não receber as legendas não afeta o recebimento das legendas por outros assinantes em outros clientes conectados à sessão.

  • Quando a sessão do OpenTok terminar (ou seja, quando todos os clientes tiverem parado de transmitir para a sessão), você poderá interromper explicitamente a legenda usando a API Stop Captions. Caso contrário, a legenda de áudio será interrompida automaticamente após o término da duração máxima (especificada ao chamar a API Start Captions).

  • As legendas em tempo real de uma sessão são interrompidas durante a rotação de servidores. É possível reiniciar as legendas em tempo real em resposta a eventos de notificação de rotação de servidores. Consulte Rotação de servidores e migração de sessões.

A duração máxima padrão permitida para as legendas em cada sessão do OpenTok é de 4 horas. Você pode definir outra duração máxima ao chamar o método “Start Captions” API. Ao expirar, a legenda de áudio será interrompida sem afetar a sessão do OpenTok em andamento. Além disso, as legendas serão encerradas 60 segundos após o último cliente se desconectar da sessão.

Atualizações de status das legendas em tempo real

Você pode configurar um webhook para receber notificações quando as legendas em tempo real forem iniciadas, encerradas ou apresentarem falhas durante uma sessão.

  1. Acesse o seu Account da Video API e selecione o projeto na lista de projetos no menu à esquerda.

  2. Sob Configurações do projeto, encontrar Monitoramento de legendas em tempo real e clique em Configurar.

  3. Insira a URL para a qual os callbacks devem ser enviados.

    Callbacks seguros: Defina um Segredo da Assinatura para utilizar solicitações de retorno de chamada de webhook seguras com retornos de chamada assinados, utilizando o segredo de assinatura. Consulte Callbacks seguros.

Quando o status das legendas em tempo real muda, uma solicitação HTTP POST é enviada para as URLs de retorno de chamada. Se nenhuma URL de retorno de chamada estiver configurada, nenhuma atualização de status será enviada. Os dados brutos da solicitação HTTP consistem em uma mensagem codificada em JSON com o seguinte formato:


{
  "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"
}

O objeto JSON inclui as seguintes propriedades:

  • captionsId — O ID exclusivo da sessão de legendagem de áudio.
  • projectId — Chave da API
  • sessionId — Sessão do OpenTok na qual a legenda de áudio já foi iniciada.
  • status — Situação atual das legendas em tempo real.
    • "started" — A plataforma Vonage Video API alocou com sucesso os recursos necessários para enviar fluxos de áudio para a geração de legendas. "transcribing" — O serviço de transcrição já começou (e a legenda está em andamento).* "stopped" — A legenda foi interrompida e todos os recursos foram excluídos.
    • "failed" — O serviço de legendagem não conseguiu alocar os recursos necessários ou não enviou os fluxos para a geração de legendas.
  • createdAt — O timestamp do Unix (Época) no qual a legenda de áudio teve início.
  • updatedAt — O timestamp do Unix (Época) no qual a legenda de áudio foi atualizada. Se o status se estiver “parado”, o updatedAt indica o momento em que a legenda foi encerrada.
  • stream — Um objeto que contém o ID da transmissão e o status da transmissão em questão.
  • languageCode — O código de idioma BCP-47 utilizado
  • reason — Informações adicionais sobre o erro relacionadas à mudança de status
  • provider —O provedor de serviços terceirizado utilizado para a legenda de áudio:
    • "aws-transcribe" — Amazon Transcribe
  • group — O tipo do evento, que é sempre definido como “captions” para eventos da API de legendas de áudio.

Exemplo

O opentok-web-samples – Exemplo “Basic-Captions” utiliza legendas em tempo real em um aplicativo web desenvolvido com o Vonage Client SDK.

Problemas conhecidos

  • Quando um participante desativa o microfone por mais de 15 segundos, a conexão com o provedor terceirizado de transcrição é interrompida, a fim de economizar custos de cobrança. Pode levar de 2 a 5 segundos para se reconectar e ver as legendas voltarem a aparecer.

Mais informações

Veja este artigo do Suporte da API da Vonage para obter mais especificações técnicas e perguntas frequentes.

Veja este artigo do Suporte da API da Vonage para obter informações sobre os preços da API do Live Captions.