go2rtc

Ultimate camera streaming application with support RTSP, WebRTC, HomeKit, FFmpeg, RTMP, etc.

  • Home Automation
  • Media Servers
  • Tools & Utilities
Ultimate camera streaming application with support RTSP, WebRTC, HomeKit, FFmpeg, RTMP, etc. • zero-dependency and zero-config small app for all OS (Windows, macOS, Linux, ARM) • zero-delay for many supported protocols (lowest possible streaming latency) • streaming from RTSP, RTMP, MJPEG, HLS/HTTP, USB Cameras and other sources • streaming to RTSP, WebRTC, MSE/MP4 or MJPEG • first project in the World with support streaming from HomeKit Cameras • on the fly transcoding for unsupported codecs via FFmpeg • multi-source 2-way codecs negotiation • mixing tracks from different sources to single stream • auto match client supported codecs • 2-way audio for ONVIF Profile T Cameras • streaming from private networks via Ngrok • can be integrated to any smart home platform or be used as standalone app Inspired by: • series of streaming projects from @deepch • webrtc go library and whole @pion

Platform availability

Available on 2 of 9 platforms

  • Unraid
  • TrueNAS (not listed)
  • Umbrel (not listed)
  • ZimaOS (not listed)
  • Proxmox
  • Helm (not listed)
  • Mac (not listed)
  • Windows (not listed)
  • Linux (not listed)

Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.

65/100 Good

Maintained
66last commit 92 days ago
Popular
8314,329 GitHub stars
Easy to install
452 install platforms, install notes, Docker image
Light to run
602 GB minimum RAM, runs on ARM

Availability: platform listings confirmed today, links checked 13 days ago

GitHub stars
14,329
Open issues
964
Last commit
2026-07-13
Latest release
v1.9.14
License
MIT
Activity
stale

Checked 5 days ago - source: GitHub (AlexxIT/go2rtc)

Resources & Compatibility

Minimum requirements: 2 GB RAM. ARM (e.g. Raspberry Pi) is supported.

Checked 14 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Add your camera streams before starting In your go2rtc streams configuration, add each camera with its protocol, username, password, and address, for example an ONVIF camera: onvif://admin:[email protected]. Without these entries, go2rtc starts but has no cameras to show. source
  • Open the ports you plan to use By default go2rtc listens on port 1984 for its API (the app's control endpoint), 8554 for RTSP (a common live-video protocol), and 8555 for WebRTC (a browser/app video method). If you don't open the ports your apps need, cameras may work inside the server but won't appear in phones, Home Assistant, or other players. source
  • Import cameras from Home Assistant If your cameras are in Home Assistant, add the hass section and reference those cameras in streams; for another Home Assistant instance include its address and a long-lived token (a personal API key you create in Home Assistant). Without this, go2rtc can't import cameras that only exist in Home Assistant. source

Fetched 14 days ago - each note links to its source

Alternatives

No alternatives collected yet.

Common questions

Which ports do I need to open for go2rtc to work with phones, Home Assistant, or other players?

Open port 1984 for the API, 8554 for RTSP, and 8555 for WebRTC. If the needed ports are closed, cameras may work inside the server but not in phones, Home Assistant, or other players.

Why does go2rtc start but show no cameras?

You must add each camera in the streams configuration before starting go2rtc, including protocol, username, password, and address. Without these entries, go2rtc starts but has no cameras to show.

How do I import cameras that only exist in Home Assistant into go2rtc?

Add the Home Assistant section and reference those cameras in streams. For another Home Assistant instance, include its address and a long-lived token.

Answers sourced from deepwiki.com, deepwiki.com, deepwiki.com

Community

Collected 13 days ago - public community threads