
go2rtc
A small server that receives, converts and re-serves live camera video in many formats.
- Stars
- 14.6k
- Forks
- 1.5k
- Licence
- MIT
- Language
- Go
- Last update
- 11 days ago
- Type
- App
What it is
go2rtc is a single program that takes video streams from cameras and other sources (such as RTSP, RTMP, and WebRTC) and re-publishes them in formats that web browsers, apps, and smart home systems can play. It can also convert codecs when needed and send audio to cameras that support two-way audio. People use it to view camera feeds in a browser or to connect cameras to Home Assistant with low delay.
- Open a camera feed in a web browser through the built-in web interface at port 1984
- Publish a camera stream to a service such as YouTube or Telegram, as the README lists
- Send audio from a source to a camera that supports two-way audio
- Add camera streams to Home Assistant through the add-on or integration
- Combine audio and video tracks from different sources into a single stream
Great for
- Home users connecting IP cameras to a browser or Home Assistant
- People who want low-latency live viewing of RTSP camera streams
- Developers integrating camera streams into their own smart home or video project via its HTTP API
- Users running it on small hardware such as a Raspberry Pi or old routers, since it is a single small binary
Not ideal for
- People who need a full video recording or NVR system with storage and motion search, since the README describes streaming rather than recording
- Users who want a no-configuration graphical app, because setup is done through a config file and a web interface
- Anyone expecting every camera brand to work without testing, since compatibility depends on the camera and protocol
How to get it
- 1
Download the app
Make the downloaded binary executable on Linux or Mac
chmod +x go2rtc_xxx_xxx - 2
Run it
- Download the binary for your operating system from the latest release page
- Make it executable on Linux or Mac with chmod +x
- Run the program and open http://localhost:1984/ in a browser
- Add your camera streams to the configuration file
- 3
Get the most out of it
- Use the HTTP API to integrate streams into your own smart home platform
- Run it in Docker using the alexxit/go2rtc image if you prefer containers
- Use the Home Assistant add-on or integration if you already run Home Assistant
- Enable streaming stats to monitor active connections
Downloads
Strengths
- Ships as a single binary with no runtime dependencies, per the README
- Supports many input and output formats and protocols
- Uses FFmpeg for transcoding only when necessary, which keeps latency low
Trade-offs
- The README is truncated and does not fully document configuration, so setup may take trial and error
- Some features depend on specific camera models or protocols, so results vary by device
- Its description of 'ultimate' coverage is the author's own framing, and the README gives no independent benchmarks
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| go2rtc (this) | 14.6k | App | intermediate | 11 days ago | Home users connecting IP cameras to a browser or Home Assistant |
| mediamtx | 20.6k | App | intermediate | 4 days ago | People routing IP camera streams to viewers in a browser or media player |
| frigate | 37.1k | App | intermediate | 4 days ago | People with IP cameras who want local recording and detection |
| srs | 29.4k | App | intermediate | 6 days ago | Developers building live streaming backends that need several delivery protocols |
| livego | 10.2k | App | intermediate | 11 months ago | Developers who want to self-host a basic live streaming endpoint |
| owncast | 11.6k | App | intermediate | 10 days ago | Streamers who want control over their content, interface and moderation |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.