NestJS + Swagger + OAuth2 + Sherpa-ONNX
Diarização de áudio e vídeo
O navegador grava áudio ou seleciona uma mídia, a API NestJS extrai a faixa sonora quando necessário, identifica os locutores e o Chrome transcreve cada trecho.
API e OAuth2
Obtenha um token pelo fluxo client_credentials antes de enviar o áudio ou vídeo.
Áudio ou vídeo
Grave pelo microfone ou selecione um arquivo de áudio ou vídeo existente.
Diarização pela API
Áudio ou vídeo é enviado com Bearer Token. Em vídeos, o NestJS envia os bytes diretamente ao FFmpeg, extrai somente o áudio e executa o sherpa-onnx-node.
Trechos encontrados
Transcrição pelo Chrome
Os intervalos retornados pela API são reproduzidos um por vez para a Web Speech API.
O arquivo é enviado para a API NestJS somente após a obtenção do token. Vídeos permanecem apenas na memória durante o upload; o servidor envia seus bytes diretamente ao FFmpeg e não grava o vídeo original no sistema de arquivos.
Somente o WAV extraído pode existir temporariamente para a diarização e para a transcrição no Chrome. Ele exige o mesmo Bearer Token e é apagado após a primeira entrega ou ao expirar.
O fluxo client_credentials é indicado para clientes internos e servidores. Em uma página pública de produção, prefira Authorization Code + PKCE com um provedor como Keycloak.