The basics
Frigate connects to your cameras, processes their video, records footage, and can detect motion or objects. RTSP is a common network protocol cameras use to send live video. Its address and credentials depend on the camera manufacturer.
go2rtc is included with Frigate. It can keep one connection to a camera and provide a restream to Frigate and other viewers. It also handles Frigate live-view transports including WebRTC. Avistio reads camera and stream metadata from Frigate using the Frigate account you configure; Edge does not need the camera passwords separately.
To install Frigate from scratch, use the official getting started guide. This page focuses on connecting an existing Frigate installation to Avistio.
One-camera starting example
This is an illustrative Frigate YAML snippet for one RTSP camera. Merge it into your Frigate configuration rather than replacing unrelated settings.
mqtt:
enabled: false
go2rtc:
streams:
frontdoor:
- rtsp://camerauser:REPLACE_ME@192.168.1.50:554/stream1
webrtc:
listen: :8555
candidates:
- 192.168.1.10:8555
- stun:8555
cameras:
frontdoor:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/frontdoor
input_args: preset-rtsp-restream
roles:
- detect
- record
detect:
enabled: false
record:
enabled: true192.168.1.50is an example camera IP;192.168.1.10is an example Frigate host IP. Replace both for your network.- The RTSP path, such as
/stream1, depends on the camera manufacturer. Check its documentation. URL-encode special characters in the username or password. frontdooris both the Frigate camera name and the go2rtc stream name. Keep them matching for Avistio's current Live-readiness check.- Detection is explicitly disabled in this simplified example; it does not configure object detection. For object detection, follow Frigate's detector setup and camera recommendations.
- Recording is enabled on the camera, but the recording role and retention policy must be configured correctly. Frigate stores only footage retained by its recording policy.
See Frigate's official restream documentation and recording documentation for current options.
Why names must match
Avistio's connection check compares each camera name reported by Frigate with the names in Frigate's go2rtc stream inventory. For a camera named frontdoor, a go2rtc stream named frontdoor passes this check. Naming the only stream frontdoor_main does not pass the current readiness check.
Frigate can be configured with main and substreams, but retain a stream named exactly like the camera as well. A “ready” result means server-side camera-to-stream readiness only; the browser still has to negotiate ICE and decode a compatible stream.
Recordings and events
Avistio displays data Frigate actually has. Frigate must have cameras enabled and be processing them for new events to appear. This example disables detection, so it will not create object-detection events.
Historical video requires Frigate recording to be enabled, a camera input with the record role, and a retention policy that keeps the footage you need. Recording is not the same as motion/object detection: you can configure continuous or event-based retention in Frigate. Avistio does not create recording data that Frigate has not retained.
Consult the official Frigate guides for camera configuration, recording and retention, and objects and detection.
Advanced: main and substreams
A main stream is usually higher resolution and useful for detailed Live viewing or recording. A substream is usually lower resolution and can reduce bandwidth and browser decoding load. Frigate can use separate go2rtc streams for the camera's record and detect inputs.
go2rtc:
streams:
frontdoor:
- rtsp://camerauser:REPLACE_ME@192.168.1.50:554/main
frontdoor_sub:
- rtsp://camerauser:REPLACE_ME@192.168.1.50:554/sub
cameras:
frontdoor:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/frontdoor
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/frontdoor_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: frontdoor
Sub: frontdoor_subKeep the camera-matched stream (here frontdoor) in go2rtc. A substream may be named frontdoor_sub. The live.streams mapping is optional and is configured in Frigate 0.16 and later; consult Frigate's documentation for version-specific behavior.
Avistio chooses a stream based on the camera's Frigate role mappings and discovered stream information. Use the Edge connection test to check basic readiness, then use Troubleshooting if playback does not start.
Advanced: WebRTC and network connectivity
WebRTC sends media over a direct peer connection when possible. It uses ICE to find a working network path, testing candidate addresses and ports. Frigate's go2rtc WebRTC listener uses port 8555; depending on Frigate's Docker network mode, that port may need to be published for both TCP and UDP so a browser can reach it. Do not change the Avistio Edge Compose file to publish this port; it belongs to the Frigate deployment.
For local WebRTC playback, set the go2rtc candidate to the Frigate host address that local browsers can reach. Frigate's documented example also includes stun:8555 for candidate discovery. If Frigate and Edge run on separate computers, the Frigate address and network path still need to be reachable from the browser.
Cloud remote Live uses Cloud for authenticated signaling and Edge to access Frigate/go2rtc. The Cloud connection does not carry the video. ICE attempts a direct media path; Cloud-provided TURN servers can relay media when a direct path is not available and TURN is configured for the deployment. This means users do not need to make the Frigate web/API interface public just to use Avistio Cloud. Network/firewall setup can still affect whether a direct path is possible.
Prefer broadly supported H.264 video and AAC audio when configuring cameras. H.265/HEVC support varies by browser and device; an incompatible stream can pass server readiness but fail to play. WebRTC audio codec support also differs from other playback modes.
Use the official Frigate WebRTC and live-view network guide and go2rtc guide for current port and candidate instructions.
Keep camera credentials private
The RTSP URL in your Frigate YAML contains a fictional password placeholder. Replace it with a camera credential only in your private Frigate configuration. Do not post configuration files or logs containing passwords publicly. Avistio stores the Frigate service account credentials encrypted in its local database; Cloud does not receive your Frigate configuration or camera credentials.
Continue with Install Avistio Edge or go directly to Troubleshooting Avistio Edge.

