go2rtc

go2rtc is an open source project providing a camera streaming application that supports formats such as RTSP, WebRTC, HomeKit, FFmpeg, RTMP. The go2rtc integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] connects to a go2rtc instance and provides a WebRTC proxy for all your cameras. To learn more about go2rtc, refer to the project’s GitHub page.

If you are using the default_config and run Home Assistant using one of the following installation methods, the go2rtc integration will be set up automatically and you don’t need to do anything:

  • Home Assistant Operating SystemHome Assistant OS, the Home Assistant Operating System, is an embedded, minimalistic, operating system designed to run the Home Assistant ecosystem on single board computers (like the Raspberry Pi) or Virtual Machines. It includes Home Assistant Core, the Home Assistant Supervisor, and supports add-ons. Home Assistant Supervisor keeps it up to date, removing the need for you to manage an operating system. Home Assistant Operating System is the recommended installation method for most users.
  • Home Assistant SupervisedThe Home Assistant Supervised installation method is a full UI managed home automation ecosystem that runs the Home Assistant Core program, the Home Assistant Supervisor and add-ons. It comes pre-installed on Home Assistant OS, but can be installed standalone on Debian Linux systems. It leverages Docker, which is managed by the Home Assistant Supervisor. The Home Assistant Supervised installation method is deprecated.
  • Home Assistant ContainerHome Assistant Container is a standalone container-based installation of Home Assistant Core. Any OCI compatible runtime can be used, but the documentation focus is on Docker. [Learn more]

Configuration

This integration is part of the default_config.

The following YAML options are available:

Configuration Variables

debug_ui boolean (Optional, default: false)

Enables the UI of the go2rtc, which helps debugging WebRTC issues. The debug_ui should only be enabled during debugging as it will expose port 11984 without any authentication!

url string (Optional)

The URL to the self-hosted go2rtc server

If you using the go2rtc server managed by Home Assistant, please be aware that all ports are prefixed by 1 compared to the default port settings to avoid port conflicts:

  • Api port 1984 becomes 11984
  • WebRTC port 8555 becomes 18555

Warning

The debug_ui should only be enabled during debugging as it will expose port 11984 without any authentication! Please disable the debug_ui immediately after debugging.

Examples

Use a self-hosted instance:

go2rtc:
  url: http://my-go2rtc-instance:1984