go2rtc is a camera streaming application that handles multiple audio and video formats and protocols with minimal latency.
The tool solves the problem of unified camera stream management across diverse hardware and protocols by acting as a central streaming hub. It accepts input from dozens of formats and protocols, performs on-the-fly transcoding only when necessary via FFmpeg, and outputs streams in popular formats. The application supports two-way audio for compatible cameras, can mix audio tracks from different sources, and automatically matches client-supported codecs and formats. It also enables publishing streams to external services like YouTube and Telegram, and provides streaming statistics for active connections.
The tool suits home automation setups, security camera deployments, and any scenario requiring a single point of stream ingestion and distribution across heterogeneous camera hardware. It works as both a standalone application and as an embeddable library within other projects. The zero-dependency binary runs on Windows, macOS, Linux, and FreeBSD, making it portable across environments. Its emphasis on zero-delay streaming and lowest possible latency distinguishes it from general-purpose media servers.
The project maintains active development with regular updates addressing new camera models and streaming protocols. Bug fixes and feature additions flow steadily into releases. The codebase shows responsiveness to user-reported issues and integration requests from downstream projects. Community contributions are incorporated alongside maintainer-driven improvements to codec support and protocol handling.