Skip to content
Louise Malvin Tanaka
← All projects
Software · Active

CamBridge

Phone-to-OBS webcam software that streams H.264 video across a local network without an account or cloud relay.

Context
2026 - present
Tools

Using a phone camera in OBS

CamBridge turns a phone into a camera source that OBS can use for recording, streaming, or video calls through OBS Virtual Camera. The phone keeps the live preview and camera controls, while a native OBS plugin receives the video over the local network. There is no account, cloud relay, or separate browser service in the path.

The current public release supports an Android phone sending to OBS on Linux. The phone can discover available receivers, connect to one explicitly, and choose resolution, frame rate, bitrate, orientation, zoom, and supported stabilisation modes before starting a session.

How the video reaches OBS

On Android, Camera2 feeds a MediaCodec H.264 encoder. CamBridge sends those encoded frames as RTP packets over UDP, alongside a small TCP control protocol for discovery, capability checks, session setup, and stop messages. The OBS plugin validates the session, reorders a bounded number of packets, decodes the stream through FFmpeg, and presents the newest available frame to OBS.

To stop latency from growing, the receiver drops late packets, incomplete frames, and stale decoded output. Linux can use a VAAPI and DMA-BUF hardware path when the host supports it, with software decoding and upload as a fallback.

Platform support

The receiver code is shared across Linux and macOS, and the Android and iOS senders use the same wire contract. This keeps platform-specific camera, decoder, and graphics work at the edges while session identity, message bounds, and RTP rules remain common.

Android to Linux is the supported release path today. The iOS sender and macOS receiver are implemented as development candidates, but they still need physical-device and clean-install acceptance before becoming supported downloads.

Current release

CamBridge v0.3.1 includes downloadable Android and Linux packages and compatibility work for OBS 32.2 and FFmpeg 8. The repository also contains protocol contracts, platform tests, CI, release packaging, architecture documentation, and explicit known limitations.

The control and media transport is not authenticated or encrypted. CamBridge is intended for a trusted local network, and a failed session requires the user to start it again after the connection problem is resolved.

Navigation