> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qa.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Camera Video

> Show a video on the browser camera to test QR scanning, barcode scanning, and document capture

The AI agent can show a video on the browser camera during a test. Use this to test features that read from the camera, such as QR code and barcode scanners, ID or document capture, and video calls.

The agent decides when to start a video, and it can switch to a different video at any point in the test. The page keeps the same camera stream, so your application does not need to reopen the camera.

## Built-in Camera Videos

These videos are available in every web test:

| File | Shows | Good for |
| - | - | - |
| `test-pattern.webm` | Moving color test pattern with a running clock | Checking that a preview is live |
| `qr-code-qatech.webm` | QR code that encodes `https://qa.tech` | QR code scanners |
| `barcode-ean13.webm` | EAN-13 product barcode `5901234123457` | Barcode and product scanners |
| `id-card-specimen.webm` | Synthetic identity card marked SPECIMEN with made-up data | ID and document capture flows |

Ask for a clip by name in your test steps, for example: "Show `qr-code-qatech.webm` on the camera, then scan the QR code."

When no video is playing, the camera shows the default Chrome test pattern.

## Custom Camera Videos

To show your own clip, such as a specific QR code, product label, or document, create a Camera Video config.

**1. Navigate to Configs**

Go to **Settings → Configs** in your project dashboard

**2. Create Camera Video Config**

Click **Add config** and select **Camera Video**

**3. Upload Your Video**

Upload a video file (MP4, WebM, or MOV, max 250MB)

**4. Save Configuration**

Enter a config name and click **Save**

**5. Add to Test Case**

Edit your test case, go to **Settings → Configs**, and select your camera
video config

If a config video has the same file name as a built-in video, the config video is used.

### How Videos Are Played

* The whole video loops until the agent stops it or switches to another clip. The camera stream stays open either way.
* Videos are scaled down to 720p (the shorter side is at most 720 pixels, so portrait clips stay portrait) and played at 24 frames per second. The camera stream delivers 30 frames per second, so pages that require a steady 24 fps accept it.
* When a page does not request a camera size, the stream is 640×480, the same default Chrome uses. The clip is center-cropped into that frame, so a scanner that copies the camera image at its real size still sees the whole subject.
* Uploaded videos are converted in the background when you save the config. A test plays that converted clip. A test that starts before conversion finishes plays the original upload.
* Audio in the video plays into the microphone while the clip is showing.
* The agent can start a video before the page opens the camera. The camera then shows the video from its first frame.
* The video is shown to every page and iframe in the test, including pages that open the camera after a reload.

### Tips

* Keep the subject large and centered, with good contrast. Scanners read a steady, sharp frame more reliably than a moving one.
* Short clips of 5 to 10 seconds are enough for most scanning flows.

## Limitations

* Camera video works in web tests only. It is not available for mobile app tests.
* The video replaces the stream returned by `getUserMedia`. Pages that read the camera through other APIs will not see it.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.