finds.dev← search

// the find

AlexxIT/WebRTC

★ 2,147 · JavaScript · MIT · updated Nov 2025

Home Assistant custom component for real-time viewing of almost any camera stream using WebRTC and other technologies.

A Home Assistant custom component that pipes camera streams through go2rtc to get sub-second latency in the HA dashboard. It replaces HA's built-in camera card, which buffers HLS and has 5–15 second lag. If you have IP cameras and run Home Assistant, this is the component you actually want.

The go2rtc backend handles protocol negotiation automatically — it'll try WebRTC, fall back to MSE, then HLS, based on what the browser and network support, without you configuring anything. Digital PTZ (zoom/pan via pinch and scroll) is implemented in the client with no server-side transcoding cost. The two-way audio path through WebRTC is genuinely useful for doorbell cameras, not just a checkbox feature. The known-cameras table in the README is one of the most practically useful pieces of documentation in any HA integration.

go2rtc runs its own HTTP server on port 1984 with no authentication by default — that's called out in the README but a lot of people will miss it and expose live camera feeds on their LAN. The Python component itself is a thin wrapper; all the real logic is in go2rtc, so filing issues here when go2rtc is the problem (codec negotiation, ICE failures) is confusing. External WebRTC access requires NAT traversal setup (STUN/TURN) that the docs punt on with a link to an old issue thread. No test coverage to speak of beyond one backward-compatibility test file.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →