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. It is the recommended installation method for most users. [Learn more]
  • Home Assistant SupervisedHome Assistant Supervised is the full Home Assistant ecosystem, without the Home Assistant Operating System. [Learn more]
  • 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