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

Supported Formats - describes the communication API: authorization, encryption, command set, structure of media packets
alsa (Linux audio), v4l2 (Linux video)adts, flv, h264, hevc, hls, mjpeg, mpegts, mp4, wavmpjpeg, onvif, rtmp, rtp, rtsp, webrtc, yuv4mpegpipebubble, doorbird, dvrip, eseecloud, gopro, hass (Home Assistant), homekit (Apple), isapi (Hikvision), kasa (TP-Link), multitrans (TP-Link), nest (Google), ring, roborock, tapo and vigi (TP-Link), tuya, webtorrent, wyze, xiaomi (Mi Home)creality, kinesis (Amazon), openipc, switchbot, whep, whip, wyzeascii, echo, exec, expr, ffmpegSupported Protocols - describes the transport for data transmission
http, pipe, rtmp, rtsp, tcp, udp, webrtc, ws (WebSocket)cs2 (PPPP), hap and hds (HomeKit), tutk (P2P)Inspired by:
[!CAUTION] The official website of the project is this GitHub repository and go2rtc.org (hosted on GitHub Pages). The website go2rtc[.]com is in no way associated with the authors of this project.
http://localhost:1984/Optionally:
Developers:
Download binary for your OS from latest release:
go2rtc_win64.zip - Windows 10+ 64-bitgo2rtc_win32.zip - Windows 10+ 32-bitgo2rtc_win_arm64.zip - Windows ARM 64-bitgo2rtc_linux_amd64 - Linux 64-bitgo2rtc_linux_i386 - Linux 32-bitgo2rtc_linux_arm64 - Linux ARM 64-bit (ex. Raspberry 64-bit OS)go2rtc_linux_arm - Linux ARM 32-bit (ex. Raspberry 32-bit OS)go2rtc_linux_armv6 - Linux ARMv6 (for old Raspberry 1 and Zero)go2rtc_linux_mipsel - Linux MIPS (ex. Xiaomi Gateway 3, Wyze cameras)go2rtc_mac_amd64.zip - macOS 11+ Intel 64-bitgo2rtc_mac_arm64.zip - macOS ARM 64-bitgo2rtc_freebsd_amd64.zip - FreeBSD 64-bitgo2rtc_freebsd_arm64.zip - FreeBSD ARM 64-bitDon't forget to fix the rights chmod +x go2rtc_xxx_xxx on Linux and Mac.
PS. The application is compiled with the latest versions of the Go language for maximum speed and security. Therefore, the minimum OS versions depend on the Go language.
The Docker container alexxit/go2rtc supports multiple architectures including amd64, 386, arm64, and arm. This container offers the same functionality as the Home Assistant Add-on but is designed to operate independently of Home Assistant. It comes preinstalled with FFmpeg and Python.
https://github.com/AlexxIT/hassio-addonsWebRTC Camera custom component can be used on any Home Assistant installation, including HassWP on Windows. It can automatically download and use the latest version of go2rtc. Or it can connect to an existing version of go2rtc. Addon installation in this case is optional.
Latest, but maybe unstable version:
alexxit/go2rtc:master or alexxit/go2rtc:master-hardware versionsgo2rtc master or go2rtc master hardware versionsgo2rtc.yaml in the current work directoryapi server will start on default 1984 port (TCP)rtsp server will start on default 8554 port (TCP)webrtc will use port 8555 (TCP/UDP) for connectionsffmpeg will use default transcoding optionsConfiguration options and a complete list of settings can be found in the wiki.
Available modules:
go2rtc supports different stream source types. You can config one or multiple links of any type as a stream source.
Available source types:
RTSP and RTSPS cameras with two-way audio supportRTMP streamsHTTP-FLV, MPEG-TS, JPEG (snapshots), MJPEG streamsRTSP link and snapshot link using ONVIF protocolHLS, files and many others)Read more about incoming sources
Supported sources:
Two-way audio can be used in browser with WebRTC technology. The browser will give access to the microphone only for HTTPS sites (read more).
go2rtc also supports play audio files and live streams on this cameras.
```yaml streams: sonoff_camera: rtsp://rtsp:12345678@192.168.1.123/av_stream/ch0 dahua_camera: - rtsp://admin:password@192.168.1.123/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif - rtsp://admin:password@192.168.1.123/cam/realmonitor?channel=1&subtype=1#backchannel=0 amcrest_doorbell: - rtsp://username:password@192.168.1.1
$ claude mcp add go2rtc \
-- python -m otcore.mcp_server <graph>