Compatível com ChromeOS - Especificação para webcams v1.3

Versão: 1.3.1
Última atualização: 01/02/2024

Legenda

Verbo do produto Ação de desenvolvimento
"PRECISA" Requisito obrigatório de produto
"DEVE" Recomendação opcional
"MAIO" Opcional

Visão geral

Este documento descreve os requisitos que uma webcam externa compatível com o ChromeOS atende. Essa especificação não se aplica a produtos da WWCB nem de produtos projetados e certificados junto com um Chromebook.

Tipos de webcam

Este documento abrange webcams USB normais, focadas em videoconferência.

Ele não abrange produtos mais especializados que oferecem suporte a UVC e funcionam como uma câmera do ponto de vista do software. Alguns exemplos de produtos de imagem especializados incluem:

  • Câmera infravermelha
  • Câmera RGB
  • Câmera para documentos
  • Adaptador de captura HDMI
  • Microscópio

Hardware e embalagem

  • A câmera PRECISA ser compatível com USB versão 2.0 ou mais recente.
  • A câmera USB PRECISA ser compatível com a conexão a um receptáculo USB 2.0 tipo A.
  • A câmera USB PRECISA ser compatível com a conexão a um receptáculo USB-C. Justificativa: todos os Chromebooks precisam ter uma porta USB-C. O USB-A é opcional.
  • A câmera USB DEVE ter um receptáculo USB-C para uso com um cabo USB removível.
  • A câmera USB DEVE se conectar ao dispositivo Chrome usando um cabo USB C para A.
  • A câmera USB PODE se conectar ao dispositivo Chrome usando um adaptador USB C para A.
  • Se a câmera USB incluir um cabo USB, o cabo DEVE ter a certificação USB-IF.
  • Se a câmera USB incluir um adaptador de conversão USB, o adaptador PRECISA atender à especificação para conectores compatível com ChromeOS.1
  • Se a câmera USB incluir um cabo USB, o cabo poderá oferecer suporte a taxas de dados USB 3.
  • A câmera USB DEVE ter um indicador de atividade.
  • O indicador de atividade da câmera DEVE ser um LED.
  • O indicador de atividade da câmera PRECISA estar no estado ativo quando a câmera está enviando dados para o dispositivo host do ChromeOS.
  • O indicador de atividade da câmera PRECISA estar no estado ativo quando ela está salvando dados na memória interna.
  • O indicador de atividade da câmera NÃO PODE estar no estado ativo quando a câmera não está salvando ou enviando dados ao host.
  • O indicador de atividade da câmera NÃO PODE ser controlável de maneira independente da câmera.
  • O indicador de atividade da câmera NÃO PODE ser controlado pelo software.
  • A câmera USB PODE ter um microfone.
  • A câmera USB DEVE ter um mecanismo de privacidade.
  • O mecanismo de privacidade DEVE incluir uma capa física que bloqueie a lente.
  • O mecanismo de privacidade PODE incluir um obturador eletrônico que bloqueia a lente.
  • O mecanismo de privacidade PRECISA incluir uma chave de privacidade física que é fechada quando a privacidade é selecionada.
  • O estado da chave de privacidade PRECISA ser comunicado ao dispositivo host do ChromeOS.

Requisitos de energia

  • A câmera USB PRECISA respeitar as restrições de energia na ordem de precedência descrita na especificação USB-C:
    • (se possível) os hosts USB3 não poderão ser sobrecarregados além da configuração enumerada.
    • Os hosts USB2 não devem ser sobrecarregados além da configuração enumerada
  • Como orientação geral:
    • Os dispositivos USB2 não devem consumir mais de 500 mA (instantâneo ou contínuo)
    • Os dispositivos USB3 não devem consumir mais de 900 mA (instantâneo ou contínuo)
    • Limites mais rigorosos podem ser aplicados em hosts com limitação de energia por especificação USB [^power limit]

Requisitos elétricos

Requisitos do USB-C

  • O design do receptáculo USB-C precisa usar dois menus suspensos Rd independentes para CC1 e CC2
    • As abreviações CC1 e CC2 não são permitidas.
  • O design do cabo cativo USB-C precisa usar exatamente um menu suspenso Rd.
  • O Vbus não pode ser sobrecarregado em cargas com taxas de mudança que obedecem às especificações.

Proteção contra OCP

  • Não pode causar evento de sobrecarga no Vconn ou VBUS devido a:
    • Capacitância de carregamento em massa no Vbus
    • Acesso rápido ao Vbus
    • Capacitância de aumento em massa no Vconn
    • Acesso rápido ao Vconn

Classe de vídeo USB (UVC)

  • A câmera USB PRECISA oferecer suporte a UVC (classe de vídeo USB) 1.0 ou mais recente.
  • A câmera USB PRECISA funcionar com o Chromebook sem qualquer outro software.
    • O ChromeOS inclui o driver uvcvideo Linux.
  • A câmera USB PRECISA oferecer suporte à transmissão de 1280 x 720 a 30 fps com o formato MJPEG.
  • A câmera USB PRECISA oferecer suporte ao balanço automático de branco (AWB, na sigla em inglês).
  • A câmera USB PRECISA oferecer suporte à exposição automática (AE, na sigla em inglês).
  • A câmera USB PRECISA oferecer suporte a antibanding para a frequência da linha de energia de 50 Hz e 60 Hz.
  • A câmera USB PRECISA começar a transmitir o primeiro frame em 2.000 ms.
  • A câmera USB PRECISA informar carimbos de data/hora monotônicos.
  • A câmera USB DEVE iniciar a transmissão do primeiro frame em 500 ms.
  • A câmera USB DEVE permitir foco automático (AF).
  • A câmera USB DEVE oferecer suporte à transmissão de 640 x 480.
  • A câmera USB DEVE oferecer suporte à transmissão de 640 x 360.
  • A câmera USB DEVE oferecer suporte a transmissão a 24 fps.
  • A câmera USB DEVE anunciar um nome de exibição fácil de usar.
  • A câmera USB DEVE oferecer suporte ao controle de frame rate constante (V4L2_CID_EXPOSURE_AUTO_PRIORITY/UVC_CT_AE_PRIORITY_CONTROL).
  • A câmera USB DEVE continuar fazendo streaming com >= 15 fps em ambientes com pouca luz.
  • A câmera USB PODE ser compatível com controles de movimento, inclinação ou zoom (PTZ).

    • Se a câmera USB oferecer suporte a qualquer controle PTZ, ela PRECISA oferecer suporte ao controle de zoom (V4L2_CID_ZOOM_ABSOLUTE) com (valor / 100) como a proporção de zoom.
      • Por exemplo, o valor de controle 250 significa 2,5x = 250%, e 100 significa o valor normal sem zoom, que precisa ser o padrão.
    • Se a câmera USB oferecer suporte a qualquer controle PTZ, ela PRECISA oferecer suporte aos controles de movimentação e inclinação juntos.
    • Para todos os formatos e resoluções compatíveis com a câmera, a câmera USB PRECISA funcionar normalmente com um único intervalo [min, max] exposto pelo controle V4L2_CID_ZOOM_ABSOLUTE.
      • Por exemplo, a proporção de zoom máxima DEVE ser a mesma para streaming de 720p e 1080p.
  • Se a câmera USB incluir um obturador de privacidade físico ou um interruptor, a câmera poderá implementar V4L2_CID_PRIVACY/UVC_CT_PRIVACY_CONTROL.

  • Se a câmera USB for compatível com V4L2_CID_PRIVACY/UVC_CT_PRIVACY_CONTROL, ela PRECISA expor o estado de controle de privacidade de acordo com o obturador/interruptor físico.

  • Se a câmera USB for compatível com V4L2_CID_PRIVACY/UVC_CT_PRIVACY_CONTROL, ela não poderá definir o controle de privacidade como "Ativado" quando o obturador/interruptor físico não estiver em uso, mesmo que a lente esteja coberta por outros objetos, como mãos ou adesivos.

  • Se a câmera USB for compatível com V4L2_CID_PRIVACY/UVC_CT_PRIVACY_CONTROL, ela PRECISA poder ser consultada e retornar um valor válido quando a câmera estiver em streaming ou inativa (streamon/streamoff).

  • A chave do obturador/bloqueio de privacidade NÃO PODE ser modificável pelo AP. A chave física PRECISA ser restaurada apenas com uma interação física.

  • A câmera USB DEVE oferecer suporte ao controle de privacidade se houver um obturador de privacidade físico ou um interruptor.

  • A câmera USB DEVE oferecer suporte à suspensão USB. Se o dispositivo for compatível com a suspensão USB:

    • Se a câmera USB oferecer suporte à suspensão por USB, ela PRECISA ser retomada e produzir frames válidos sem qualquer peculiaridade (alternativa específica do dispositivo) do sistema, como UVC_QUIRK_WAKE_AUTOSUSPEND.
  • A câmera USB NÃO PODE produzir quadros MJPEG inválidos.

  • A câmera USB NÃO PODE travar ao trocar de resoluções dinamicamente.

Áudio: microfone

Esta seção só é aplicável se a webcam tiver um microfone integrado.

Formato

  • Para reprodução e gravação:
    • A taxa de amostragem aceita precisa ser >= 16k
    • Compatibilidade com o formato S16_LE
  • O número do canal e a configuração precisam estar corretos.
  • Todas as taxas de amostragem que o fone de ouvido declara serem compatíveis precisam funcionar corretamente.
    • O desvio entre a taxa medida e a taxa de amostragem precisa ser ≤ 0,1% .
    • O erro padrão da regressão linear da taxa medida precisa ser menor que 30.
  • O fone de ouvido precisa oferecer suporte à reprodução ou captura em diferentes taxas de amostragem declaradas.
    • Por exemplo: tocar áudio abaixo de 44,1k, mas capturar voz abaixo de 48K simultaneamente.
      • Caso contrário, o ChromeOS precisará adicionar um arquivo de configuração específico para evitar isso no sistema.

Desativar o som

  • Capturar caminho: desativar som
    • Se houver uma interface para que os usuários silenciem o dispositivo de áudio, ela precisará
      • Manter o estado mudo de uma maneira que não seja afetada por:
        • Abrindo e fechando o dispositivo.
        • Alternando para outro dispositivo de entrada.
    • Se for fornecida uma interface do usuário indicando o estado mudo do fone de ouvido, ela vai mudar de forma correspondente quando o estado mudar.

Volume (resposta de frequência)

  • Resposta de frequência de saída (MAIO)
    • O requisito de resposta de frequência é necessário para que os usuários usem o fone de ouvido sem qualquer ajuste manual do ganho de captura.
    • Para Bluetooth, dispositivo USB
    • A saída de nível médio de RMS dBFS calculada para a amostra de fala abaixo de 94 dBSPL precisa atender a
      • Dentro do intervalo de [-15, -5] dBFS abaixo do tom senoidal de 1.000.
        • O valor será usado como pontos de referência para tom senoidal 4K e 7K.
      • No intervalo de ±5 dB da referência de resposta de 1k abaixo de 4K e 7k tom senoidal.
        • Isso garante uma resposta de frequência fixa aceitável
    • Em dispositivos de 3,5 mm, o requisito de resposta de frequência é necessário para que os usuários usem o fone de ouvido sem qualquer ajuste manual do ganho de captura.
      • Saída de nível RMS dBFS calculada para o tom senoidal 1k, 4k e 7k no nível de sinal 94dBSPL
      • O dBSPL deve estar no intervalo de 0 a -23 dBFS.

Sincronização A/V

  • Sincronização A/V
    • A quantidade de tempo que o áudio sai de uma sincronização perfeita.
    • O desvio precisa ser de -95 ms a 25 ms.
      • Observação:
        • (+) O áudio é mais rápido que o vídeo
        • (-) O áudio está abaixo do vídeo

Compatibilidade com aplicativo

  • A câmera USB PRECISA funcionar com a versão do Google Meet para Web.
    • A câmera USB PRECISA ser reconhecida pelo Meet ao entrar em uma reunião pela primeira vez.
  • A câmera USB PRECISA funcionar com o app de câmera integrado do ChromeOS.
  • Se a câmera USB tiver um microfone integrado, o vídeo e o áudio vão precisar ser sincronizados.
  • A câmera USB DEVE oferecer suporte a atualizações de firmware via fwupd.

Histórico de revisões

Data Versão Observações
2024-02-01 1.3.1 Republicação em uma nova plataforma
2023-11-08 1.3 Publicação inicial do site do parceiro

  1. Esta página será vinculada quando estiver disponível.