Browser test fixtures
The media the browser tests serve to the card, at the paths and names built by
tests/browser/fixtures.ts. Most requests reach them directly from the Vite dev
server. A test that needs a camera to misbehave gets copies from
tests/browser/test-media.ts instead.
still-red.png
A 320x180 red image, 16:9. Everything the card draws as a still image: a snapshot in the viewer, or a live view built from stills.
clip.webm
Ten seconds of red at 64x48, VP8. Ten seconds so a test can watch it play without it ending under the assertion.
WebM rather than the MP4 (what a real camera integration likely serves), because
nothing available offline encodes H.264: Playwright's bundled ffmpeg has
libvpx only. This does not change what is under test -- every non-HLS video
takes the same branch.
Rebuild it with ImageMagick and the ffmpeg Playwright installs alongside its
browsers:
convert tests/browser/fixtures/still-red.png -resize 64x48! /tmp/frame.jpg
for i in $(seq 100);
do
cat /tmp/frame.jpg;
done > /tmp/frames.mjpeg
~/.cache/ms-playwright/ffmpeg-*/ffmpeg-linux -f image2pipe -vcodec mjpeg -r 10 \
-i /tmp/frames.mjpeg -c:v libvpx -b:v 50k tests/browser/fixtures/clip.webm