// the find
AlexxIT/go2rtc
Ultimate camera streaming application
go2rtc is a camera streaming proxy/bridge written in Go that can ingest from 30+ protocols (RTSP, ONVIF, HomeKit, Tapo, Wyze, Xiaomi, WebRTC, etc.) and re-stream to browsers or other consumers with minimal added latency. It ships as a single binary with no runtime dependencies, and is embedded in both Home Assistant and Frigate as their default streaming backend. If you run IP cameras at home, this is probably already running somewhere in your stack.
The codec negotiation logic is genuinely clever — go2rtc picks the best codec path across multiple sources automatically, so you don't need to manually configure transcoding unless you hit an edge case. Zero-dependency single binary that cross-compiles to MIPS for flashing directly onto Wyze and Xiaomi cameras is a serious engineering commitment, not a talking point. Real-time stats via the web UI and the graph API (dot format) give you actual visibility into active connections, packet counts, and codec chains — rare for this category. The Home Assistant and Frigate integrations mean 13k stars understates real usage; it's the plumbing for a large chunk of the self-hosted camera ecosystem.
Authentication is off by default — the web UI and RTSP server are open to your whole LAN, which is fine if you trust your network but is a footgun for anyone who doesn't read the security section. The exec/echo source modules let you run arbitrary shell commands, so if the API port is exposed even briefly, it's full server compromise — the security model is essentially 'don't expose this.' No built-in recording; go2rtc is purely a streaming proxy, so you still need Frigate or something else if you want NVR functionality. The transcoding story is FFmpeg-or-nothing for anything beyond PCM resampling — fine in practice, but adds an external dependency and complicates Docker images when you need hardware acceleration.