ChromeOS Compatible - Webcam Specification v2.0

Version: 2.0
Last updated: 2026-09-28

Overview

Webcam Types

This document covers normal USB webcams, focused on video conferencing.

It does not cover more specialized products that support UVC and work like a camera from the software point of view. Some examples of specialized imaging products include:

  • IR camera
  • RGB camera
  • Document camera
  • HDMI capture adapter
  • Microscope

Minimum and Additional Requirements

This specification document is divided into two sections:

  1. Minimum requirements describe the criteria for a peripheral category to be compatible.
  2. Additional requirements describe the criteria for certification.

Use these navigation buttons to show only the minimum or both the minimum and additional specification, respectively.

Legend

Product Verb Development Action
"MUST" Mandatory product requirement
"SHOULD" Optional recommendation
"MAY" Nice to have

MINIMUM REQUIREMENTS

Generic peripheral Specifications

  • The peripheral MUST meet the minimum requirements defined in the Generic peripheral specifications.

Prerequisite Certifications

Hardware and Packaging

  • The camera MUST support USB version 2.0 and later.
  • The camera activity indicator, if present, MUST NOT be in the active state when the camera is not saving data or sending data to the host.
  • The camera activity indicator MUST NOT be controllable independently of the camera.
  • The camera activity indicator MUST NOT be controllable by software.
  • The electronic shutter, if present, MUST make acquiring frames impossible.
  • The electronic shutter, if present, MUST communicate its state to the OS.

USB video class (UVC)

  • The USB camera MUST support UVC (USB Video Class) 1.0 or later.
  • The USB camera MUST work without any additional software.
  • The USB camera MUST support streaming 1280x720 at 30 fps with MJPEG format.
  • The USB camera MUST support auto white balance (AWB).
  • The USB camera MUST support auto exposure (AE).
  • The USB camera MUST support anti-banding for 50 Hz and 60 Hz power line frequency.
  • The USB camera MUST start streaming the first frame in 2000 ms.
  • The USB camera MUST report monotonic timestamps.

App Compatibility

  • The USB camera MUST work with the Google Meet web version.
    • The USB camera MUST be recognized by Meet when joining a meeting for the first time.
  • The USB camera MUST work with the built-in camera app.

ADDITIONAL REQUIREMENTS

Along with the Minimum requirements, a peripheral MUST meet the following mandatory requirements to achieve certification.

Generic peripheral Specifications

  • [Mandatory] The peripheral MUST meet the additional requirements defined in the Generic peripheral specifications.

Hardware and Packaging

  • [Mandatory] If the USB camera includes a USB cable, then the cable MUST have a USB-IF compliance report.
  • [Mandatory] The camera activity indicator MUST be in the active state when the camera is sending data to the ChromeOS host device.
  • [Mandatory] The camera activity indicator MUST be in the active state when the camera is saving data to its internal memory.
  • [Optional] The USB camera SHOULD have a camera activity indicator.
  • [Optional] The USB camera MAY have a microphone.
  • [Optional] The USB camera SHOULD have a privacy mechanism.

USB video class (UVC)

  • [Optional] The USB camera SHOULD support UVC (USB Video Class) 1.5.
  • [Optional] The USB camera SHOULD start streaming the first frame in 500ms.
  • [Optional] The USB camera SHOULD support auto focus (AF).
  • [Optional] The USB camera SHOULD support streaming 640x480.
  • [Optional] The USB camera SHOULD support streaming 640x360.
  • [Optional] The USB camera SHOULD support streaming at 24 fps.
  • [Optional] The USB camera SHOULD advertise a user friendly display name.
  • [Optional] The USB camera SHOULD support constant frame rate control (V4L2_CID_EXPOSURE_AUTO_PRIORITY or UVC_CT_AE_PRIORITY_CONTROL).
  • [Optional] The USB camera SHOULD keep streaming with >= 15fps in low-light environments.
  • [Optional] The USB camera MAY support pan, tilt, or zoom (PTZ) controls.
    • If the USB camera supports any PTZ controls, then the camera MUST support Zoom control (V4L2_CID_ZOOM_ABSOLUTE) with (value / 100) as the zoom ratio.
      • For example, 250 control value means 2.5x = 250%, and 100 means the normal value without zooming, which must be the default.
    • If the USB camera supports any PTZ controls, then the camera MUST support Pan and Tilt controls together.
    • For all formats and resolutions supported by the camera, the USB camera SHOULD work normally with a single [min, max] range exposed by V4L2_CID_ZOOM_ABSOLUTE control.
      • For example, the maximum zoom ratio SHOULD be the same for 720p and 1080p streaming.
  • [Optional] If the USB camera includes a physical privacy shutter or kill switch, then the camera MAY implement V4L2_CID_PRIVACY or UVC_CT_PRIVACY_CONTROL.
    • If the USB camera supports V4L2_CID_PRIVACY or UVC_CT_PRIVACY_CONTROL then it MUST expose the privacy control state according to the physical shutter or switch.
    • If the USB camera supports V4L2_CID_PRIVACY or UVC_CT_PRIVACY_CONTROL then it MUST not report privacy control as "On" when the physical shutter or switch is not in use, even if the lens is covered by other objects such as hands or stickers.
    • If the USB camera supports V4L2_CID_PRIVACY or UVC_CT_PRIVACY_CONTROL then it MUST be able to be queried and return a valid value when the camera is streaming or idle (streamon or streamoff).
    • The privacy shutter or kill switch MUST NOT be modifiable by the AP. The physical switch MUST be only restored with a physical interaction.
    • The USB camera SHOULD support privacy control if there is a physical privacy shutter or kill switch.
  • [Optional] The USB camera SHOULD support USB suspend. If the device supports USB suspend:
    • If the USB camera supports USB suspend, then the camera MUST be able to resume and produce valid frames without any quirk (device-specific workaround) from the system, such as UVC_QUIRK_WAKE_AUTOSUSPEND.

App Compatibility

  • [Optional] The USB camera SHOULD support firmware updates using fwupd.
  • [Optional] The USB camera SHOULD work out of the box with the distributed firmware or provide a mechanism to update its firmware (preferably using fwupd).

Audio Requirements

This section is applicable if the webcam has a built-in microphone or audio interface.

Audio Format

MINIMUM REQUIREMENTS

Playback Recording
Sample rate ≥ 16 kHz ≥ 16 kHz
Format S16_LE S16_LE
  • The channel number and configuration MUST be correct.
  • All sampling rates the peripheral declares supported MUST work correctly.
    • The deviation between measured rate and sampling rate MUST be ≤ 0.1%.
    • The standard error for linear regression of measured rate MUST be < 30.
  • The device MUST support playback or capture under different sample rates it asserts to support. Otherwise, it requires the OS to add a specific configuration file to prevent it on the system side.

    For example: play audio under 44.1 kHz but capture voice under 48 kHz simultaneously.

ADDITIONAL REQUIREMENTS

Along with the Minimum requirements, a peripheral MUST meet the following requirements to achieve certification:

  • None

Audio Quality

MINIMUM REQUIREMENTS

Capture Path - Mute

  • If there is any interface for users to mute the audio device, it MUST:
    • Maintain the mute state in a way that is not affected by:
      • Opening and closing the device.
      • Switching to another input device.

ADDITIONAL REQUIREMENTS

Along with the Minimum requirements, a peripheral MUST meet the following requirements to achieve certification:

Playback Path - Loudness

  • [Mandatory] The device MUST comply with EN50332 standards.

Capture Path - Mute

  • [Mandatory] If there is any interface for users to mute the audio device, it MUST:
    • Mute the device such that all recorded samples are zeros or within the range of \((level_{max} - level_{min}) \le 0.0028 \text{ dBFS}\).
      • If the device cannot meet the requirements, then the device SHOULD have a button to mute.
      • The mute button on the device SHOULD trigger the system mute (mic).
      • The mute button SHOULD trigger the system mute (mic) through the Telephony, or the Consumer interface can be waived.
  • [Mandatory] If the user presses the mute button on the device or OS, the mute state MUST change.
  • [Mandatory] If the device synchronizes the MUTE state with the OS, then the mute state indicator (e.g., LED) on the device MUST change.

Capture Path - Output Frequency Response

  • [Mandatory] The device MUST be fully functional using the factory default frequency response and gain settings without any manual adjustment of the capture gain on OS.
  • [Mandatory] The following table specifies the computed average RMS dBFS level output under signal level 94 dBSPL.

    Device type Output level range versus sine tone frequency
    1 kHz 4 kHz 7 kHz
    Bluetooth and USB [-15, -5] dBFS 1kHz value ±5 dB 1kHz value ±5 dB
    3.5 mm wired [-23, 0] dBFS [-23, 0] dBFS [-23, 0] dBFS

Note: In Bluetooth and USB devices, the response around the 4 kHz and 7 kHz tones is given relative to the response at 1 kHz.

Works With Meet Certification

MINIMUM REQUIREMENTS

There is an existing Google Meet hardware peripheral qualification program covering part of this spec.

Peripherals qualified by the program are exempted from the following qualification items:

  • Playback Path - Loudness
  • Capture Path - Output Frequency Response

ADDITIONAL REQUIREMENTS

Along with the Minimum requirements, a peripheral MUST meet the following requirements to achieve certification:

  • None

Revision history

Date Version Notes
2026-09-28 2.0 Updated specification per Revised Product Specs (Minimum & Additional requirements).
2024-02-01 1.3.1 Republication on a new platform
2023-11-08 1.3 Initial Partner Site Publication