Go2rtc
Ultimate camera streaming application
Install / Use
/learn @AlexxIT/Go2rtcREADME
Ultimate camera streaming application with support for dozens formats and protocols.
- zero-dependency small app for all OS (Windows, macOS, Linux, FreeBSD)
- zero-delay for many supported protocols (lowest possible streaming latency)
- streaming input from dozens formats and protocols
- streaming output in all popular formats
- streaming ingest in a number of popular formats
- publish any source to popular streaming services (YouTube, Telegram)
- on-the-fly transcoding only if necessary via FFmpeg
- two-way audio support for many formats
- streaming audio to all cameras with two-way audio support
- mixing tracks from different sources to single stream
- auto-match client-supported streaming formats and codecs
- streaming stats for all active connections
- can be integrated to any project or be used as standalone app
Inspired by
- series of streaming projects from @deepch
- webrtc go library and whole @pion team
- rtsp-simple-server idea from @aler9
- GStreamer framework pipeline idea
- MediaSoup framework routing idea
- HomeKit Accessory Protocol from @brutella
- creator of the project's logo @v_novoseltsev
Installation
- Download binary or use Docker or Home Assistant add-on or integration
- Open web interface:
http://localhost:1984/ - Add streams to config
Developers: integrate HTTP API into your smart home platform.
go2rtc: Binary
Download binary for your OS from latest release:
| name | description | |-----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| | go2rtc_win64.zip | Windows 10+ 64-bit | | go2rtc_win32.zip | Windows 10+ 32-bit | | go2rtc_win_arm64.zip | Windows ARM 64-bit | | go2rtc_linux_amd64 | Linux 64-bit | | go2rtc_linux_i386 | Linux 32-bit | | go2rtc_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-bit | | go2rtc_mac_arm64.zip | macOS ARM 64-bit | | go2rtc_freebsd_amd64.zip | FreeBSD 64-bit | | go2rtc_freebsd_arm64.zip | FreeBSD ARM 64-bit |
Don'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.
go2rtc: Docker
The Docker containers alexxit/go2rtc and ghcr.io/alexxit/go2rtc support multiple architectures including 386, amd64, arm/v6, arm/v7 and arm64.
These containers offer the same functionality as the Home Assistant add-on but are designed to operate independently of Home Assistant.
It comes preinstalled with FFmpeg and Python.
go2rtc: Home Assistant add-on
- Settings > Add-ons > Plus > Repositories > Add
https://github.com/AlexxIT/hassio-addons - go2rtc > Install > Start
go2rtc: Home Assistant Integration
WebRTC 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 versi
