For the complete documentation index, see llms.txt. This page is also available as Markdown.

Gravação de Vídeo

O componente Video Provider da Facephi oferece a gravação do processo realizado nos diferentes Widgets, como SelphID e Selphi.

O facephi-video-provider é um componente web importante do SDK Web, que permite a gravação de vídeo em tempo real do processo de onboarding ou autenticação. É compatível com modos de transmissão em tempo real (ws, sse) bem como um modo de gravação local apenas no navegador (serviceType: 'local').

Como provedor, você deve envolver os componentes que deseja gravar.

Tipo: HTMLFacephiVideoProviderElement


Como Funciona

O facephi-video-provider fornece uma gravação de vídeo fluida ao capturar as interações e processos durante a autenticação ou onboarding. Envolvê-lo ao redor dos componentes garante que todas as atividades sejam incluídas na gravação.


Tipos de gravação

A gravação pode ser realizada de diferentes formas:

Gravação remota (por padrão)

A ferramenta usará serviços WebSocket (ws) ou Server-Sent Events (sse) para a gravação.

Por padrão, o serviço WebSocket (ws).

Exemplo de Integração

Os widgets devem ser integrados dentro da tag Video Provider assim que ela for carregada completamente.

<facephi-video-provider
    settings={{ serviceType: 'ws' }}
    onChangeLoading={(event) => {
        if (!event.detail) {
            // Iniciar fluxo de widgets Facephi
        }
    }}
/>

O Video Provider deve ser interrompido assim que o processo de extração for concluído.

Para obter o vídeo, consulte a seção de resultados do Video Provider.

Gravação local

O componente <facephi-video-provider> suporta um modo de gravação local que captura vídeo totalmente no navegador usando a API MediaRecorder. Ao contrário dos tipos de serviço padrão WebSocket (ws) ou Server-Sent Events (sse), a gravação local não transmite vídeo para um servidor externo durante a captura. Em vez disso, o vídeo gravado é mantido no lado do cliente e retornado como um Blob quando a gravação é interrompida.

O vídeo gravado ainda é enviado automaticamente pelo pipeline de rastreamento do SDK (trackingAsset com tipo MIME video/mp4), portanto, ele se integra perfeitamente ao processamento posterior.

Assim que <facephi-video-provider> é renderizado no DOM com settings.serviceType definido como 'local', o componente inicia imediatamente o pipeline de gravação: inicializa a pilha de câmeras, chama getUserMedia e o navegador solicita ao usuário as permissões necessárias (câmera e microfone quando audioEnabled es true). Não é necessária uma chamada de início adicional: renderizar o provedor é suficiente para começar a gravação.

O vídeo gerado pode ser obtido chamando o método stopVideo() do componente, que retornará um Blob.

Compatibilidade do navegador

A gravação local se baseia na API MediaRecorder, que é compatível com todos os navegadores modernos (Chrome, Firefox, Safari 14.5+, Edge). O componente seleciona automaticamente o melhor codec de vídeo disponível para o navegador atual.

Em Chrome/Edge 94+, o componente usa Insertable Streams para um processamento de quadros de maior fidelidade (por exemplo, sobreposições de temporizador) sem uma camada intermediária de canvas. Isso é detectado e usado automaticamente sem necessidade de configuração.

Permissões

O usuário deve conceder permissões de câmera. Se audioEnabled es true (o valor padrão), também é necessária permissão de microfone. O componente trata internamente a chamada getUserMedia.

Configuração do proxy

Se você estiver encaminhando solicitações de SDK por meio de um proxy de encaminhamento, deve configurar a propriedade proxy en <facephi-sdk-provider> para que o módulo de câmera possa carregar seus ativos necessários. Consulte a propriedade proxy do provedor de SDK e o guia de configuração do proxy para obter detalhes sobre a configuração.

Licenciamento

O modo de gravação local não requer uma licença de gravação de vídeo. Quando serviceType está definido como "local", o componente ignora a validação de licença exigida pelos modos ws e sse.

Exemplo de Integração

Os widgets devem ser integrados dentro da tag Video Provider assim que ela for carregada completamente.

Para obter o vídeo, consulte a seção de resultados do Video Provider.

Diferenças entre os modos WS e SSE

Aspecto
Local
WS / SSE

Infraestrutura do servidor

Não é necessária para gravação

Requer baseUrl e apiKey

Licença de gravação de vídeo

Não requerida

Obrigatória

Saída de vídeo

Blob retornado do lado do cliente por meio de stopVideo()

Transmitido ao servidor em tempo real

Seleção de codec

Automática (melhor disponível: VP8, VP9, H.264, AV1)

Determinada pelo servidor

Sobreposição de temporizador

Opcional (videoTimer: true)

Não disponível

Troca de câmera

Suportado (gravação contínua mantida)

Suportado

Integração de rastreamento

Automática (enviada após stopVideo())

Automática (em tempo real)

Solução de problemas

Permissão de câmera negada

Se o usuário negar o acesso à câmera ou ao microfone, o componente emitirá um erro por meio do canal de erros do SDK (SDKErrorType.VideoProviderError). Escute o evento emitError en <facephi-sdk-provider> para tratá-lo em sua aplicação.

Tipo MIME não suportado

Em navegadores muito antigos que não suportam nenhum dos codecs testados (VP8, VP9, H.264, AV1, H.265), MediaRecorder recorrerá ao codec padrão do navegador. Se nenhum codec for suportado, um erro de gravação será emitido.

Falha ao trocar de câmera

Quando cameraSwitch está em true e a solicitação inicial de câmera falhar (comum em dispositivos com permissões restritas), o componente tentará novamente automaticamente com cameraSwitch desativado. Se ambas as tentativas falharem, um erro será emitido. Verifique as mensagens [LocalRecording] no console do navegador.

Registro de depuração

Configure showLog={true} en <facephi-video-provider> para habilitar uma saída detalhada no console. Procure mensagens com o prefixo [LocalRecorder] para rastrear o ciclo de vida da gravação:

  • Inicialização do mecanismo (resolução, FPS, qualidade, seleção do canal)

  • Início da gravação (codec, bitrate, método de agendamento de quadros)

  • Eventos de troca de câmera

  • Geração de vídeo (tamanho do arquivo, duração, número de fragmentos)

  • Desinicialização do mecanismo


Configuração

O componente Video Provider é configurado por meio de propriedades JSX ou JavaScript.

Propriedades

O componente Video Provider emitirá eventos durante seu ciclo de vida.

Eventos

Algumas funções são fornecidas com o componente para oferecer utilitários adicionais.

Métodos

Como obter o vídeo gravado da extração após o processo de extração.

Resultados

Benefícios de usar o Video Provider

  • Melhoria de desempenho em processos de vídeo.

  • Configuração avançada de parâmetros técnicos.

  • Compatibilidade ideal com dispositivos e navegadores.


Quando usar o Video Provider?

  • Sempre que você implementar VideoID em sua aplicação.

  • Quando precisar controlar ou personalizar a experiência de vídeo.

  • Para garantir compatibilidade técnica em ambientes diversos.


Próximos passos

Consulte:

  • Exemplos de uso do Video Provider.

  • Opções avançadas de configuração.

  • Boas práticas para processos de vídeo.

Atualizado