← Back to all sparks
G

go2rtc

MEETINGS
Velocity0.0

Ultra-low-latency camera streaming server

The universal camera translator keeps absorbing proprietary cloud protocols one vendor at a time.

webrtcrtspcamera-protocolshome-assistanthomekitreverse-engineering
Current state
go2rtc turns almost any camera into a stream any client can consume, and the last year of releases has been a steady march through vendor-specific cloud protocols: Tuya, then a full Xiaomi source including TUTK and cs2 transports, alongside SwitchBot, DoorBird, VIGI and UniFi Protect via ONVIF. Local capture also broadened with a V4L2 source down to MIPS builds. A dedicated security release added path allowlists and local auth to the api, exec and echo modules.
Where it's heading
Two expansions are running at once. Horizontally, each release reverse-engineers another walled-garden camera cloud, which is what makes go2rtc the layer Home Assistant and Frigate build on rather than a competitor to them. Vertically, the Wyoming module pushes past video into voice-assistant audio, which is a different category from streaming cameras. The security release is the counterweight — a project embedded that deeply in other people's stacks cannot keep shipping modules that execute arbitrary paths by configuration.
Prediction
The Xiaomi rework was still landing device-specific fixes in the most recent release, so continued protocol and model coverage for that source is the likeliest next step. Whether Wyoming graduates from work-in-progress is the open question these notes leave.

Recent moves

  1. 6mo ago

    Xiaomi source reworked with TUTK and cs2 transports

    A large rework of the Xiaomi source added two months after it first appeared — TUTK protocol support, cs2 over TCP, cached cloud logins, captcha-affected account login fixed, and coverage extended to older cateye devices. The pace of follow-up fixes shows how much surface a single vendor cloud carries.

    View source ↗
  2. 7mo ago

    Tuya and Xiaomi camera sources arrive; HomeKit QR code in the web UI

    Two new vendor clouds land in one release, each with its own documentation page, plus backchannel audio fixes for specific Xiaomi models. The HomeKit additions — a pairing QR code in the web UI and a custom category ID — continue the pattern of go2rtc acting as a bridge rather than an endpoint.

    View source ↗
  3. 8mo ago

    Path allowlists and local auth added to api, exec and echo modules

    A release billed as a security update that adds allow_paths to the api, exec and echo modules, local_auth for the API, an explicit list of modules to initialise, and logic flagging insecure sources including ONVIF URIs. Necessary tightening for a component that other projects embed and expose.

    View source ↗
  4. 8mo ago

    RTSP UDP transport, redirects, preload streams and secrets management

    The broadest transport-layer release in the window: RTSP gains UDP transport and redirect following, streams can be preloaded, H265 gets codec priority in the JS client and corrected FFmpeg encoding parameters, and configuration secrets get proper handling. SwitchBot video doorbells are added on the vendor side.

    View source ↗
  5. 10mo ago

    Wyoming module extends go2rtc from cameras into voice audio

    ⚡ SPARK

    The one release in this window that changes what go2rtc is for rather than what it connects to. A Wyoming module with speaker and microphone modes, event support and file playback puts go2rtc on the voice-assistant path, adjacent to but distinct from the camera streaming that defines it.

    View source ↗
  6. 1y ago

    V4L2 source adds direct local capture, down to MIPS builds

    A V4L2 source brings directly attached Linux capture devices into go2rtc with H264, H265 and NV12 support, built for MIPS as well as mainstream architectures. Notable because it complements the vendor-cloud work from the opposite end — hardware you own outright rather than hardware you have to talk to a cloud to reach.

    View source ↗