The browser camera picks the wrong device, or won't start
A saved camera can go missing after a laptop swap, and the browser camera has real hardware/permission requirements the phone/OBS path doesn't.
Symptom
Either the browser camera won't turn on at all, or a scene's camera layer starts on a device that isn't the one the creator expects.
Cause
Won't start at all is almost always one of two hard requirements: the panel must be served over HTTPS, and the browser's camera permission must actually be granted — without both, the browser hands Stream nothing to work with.
Picks the wrong device happens because a camera choice is saved per browser
(useBrowserCamera.ts), not per scene. Move to a different laptop, or unplug the
saved webcam, and that exact device no longer exists on this machine. Stream falls back
to whatever camera is available and shows an amber notice rather than silently
failing — the saved choice is gone, not the camera layer itself.
How to check
- No picture at all → check the site is on HTTPS and that the browser's camera permission prompt was actually accepted, not dismissed.
- Wrong or unexpected camera → look for the amber "device not found" notice; the
"forget device" control next to it (
SceneCameraPanel.tsx) clears the stale saved choice and lets the browser pick again, or lets the creator choose the right one explicitly. - Resolution looking soft on a weak connection is expected, not a bug — the browser camera adapts its own resolution to the connection automatically rather than tearing; the panel shows what actually arrived, not what was requested.
- If the picture disappears entirely mid-stream, check whether the browser tab was closed — the browser-camera publication ends the moment its tab does, unlike a phone app or OBS running independently. For a long show, prefer the phone or OBS as the source of record.
What's next
Key rotation and publishing conflicts — what happens when more than one source tries to publish, and what breaks if the stream key changes mid-show.
The picture stutters or breaks up
The panel's live bitrate readout tells you whether the bottleneck is your connection or your device — read it before assuming either.
Publishing stopped after a key change, or two sources are fighting
Rotating the stream key invalidates the old address immediately, and two encoders publishing to the same address isn't supported the way app-plus-browser-camera is.