Back to Frigate Guides
Frigate

How to Fix Frigate Camera Roles Misconfigured

Frigate GuideSecurity Cameras
hard difficulty 20-30 minutes 90 views 0 found helpful Where this fix applies: Global Updated
This guide applies to: Frigate Frigate Camera Roles (Frigate detect/record/live role mapping)
At a glance — most common causes
  • detect role on the high-res main stream
  • record role on a low-res sub-stream
  • audio role missing/misassigned
20-30 minutes13 solutions coveredhard level

Expert Review & Technical Scope

DeviceFrigate Frigate Camera Roles
Model CoverageFrigate detect/record/live role mapping
Fix Time20-30 minutes
DifficultyHard
Required Toolsfrigate yaml, metrics dashboard
Network / ProtocolWi-Fi / app-based troubleshooting context

Problem Description

Your Frigate camera roles are misconfigured — object detection is running on the high-resolution main stream (causing high CPU), recordings are saving in low resolution, or the live view shows the wrong stream. Frigate uses separate stream roles (detect, record, restream) that should map to the camera's sub stream and main stream correctly.

Why This Happens in Real Homes

Frigate camera roles being misconfigured usually shows up as high CPU or the wrong footage being recorded, because the roles determine which stream is used for what. The detect role should use a low-resolution sub-stream (detection doesn't need full res, and running it on a high-res stream spikes CPU), while the record role should use the high-resolution main stream for quality footage.

In your config, assign the detect role to the camera's low-res sub-stream and the record role to the high-res main stream, and add the audio role to a stream that actually carries audio. Confirm you haven't swapped the main and sub streams. Getting the roles right — low-res for detection, high-res for recording — is what keeps CPU low while recording good-quality footage.

Symptoms

  • Camera roles misconfigured
  • Wrong stream assigned to a role
  • High CPU from role misassignment
  • Recording the wrong stream
  • Detect on the main stream
  • Roles not working as expected
  • Stream/role mismatch
  • Detect/record on the wrong stream

Recognize these? Here's what usually causes it.

Common Causes

  • detect role on the high-res main stream
  • record role on a low-res sub-stream
  • audio role missing/misassigned
  • Both roles on one stream unnecessarily
  • Roles not matching the intended streams
  • Config error in role assignment
  • Sub-stream and main stream swapped
  • Misunderstanding of roles

Most fixes happen in the first 3 steps.

Warning

Do not optimize by guess; measure impact after each role change.

Tools & Requirements

frigate yamlmetrics dashboard

Step-by-Step Solution

1

Understand Frigate camera stream roles

Frigate uses multiple stream roles for each camera. The 'detect' role provides frames to the object detection model (should be low resolution: 640x480 or 1280x720 for performance). The 'record' role saves video clips (should be the camera's main high-resolution stream: 1920x1080 or higher). The 'rtmp/restream' role provides the live view in Home Assistant (can be either stream). If roles are swapped — detect pointing to the high-res stream and record pointing to the low-res stream — detection uses excessive CPU and recordings are low quality.

2

Configure the correct RTSP stream paths

Most IP cameras offer two RTSP streams: a main stream (high resolution, high bitrate) and a sub stream (low resolution, low bitrate). In frigate.yml, assign them correctly: cameras: your_camera: ffmpeg: inputs: - path: rtsp://user:pass@camera-ip/stream1 (main stream) roles: [record] - path: rtsp://user:pass@camera-ip/stream2 (sub stream) roles: [detect]. The sub stream URL varies by camera brand: Amcrest uses /cam/realmonitor?channel=1&subtype=1, Hikvision uses /Streaming/Channels/102, Reolink uses /h264Preview_01_sub.

3

Set the correct detect resolution

The detect role resolution should match the camera's sub stream output, not the main stream. In frigate.yml: cameras: your_camera: detect: width: 1280, height: 720, fps: 5. If the detect resolution does not match the actual stream resolution: Frigate resizes every frame, wasting CPU. Check your camera's sub stream settings in the camera's web interface — set it to 720p at 15fps with H.264 encoding. Then match Frigate's detect width/height to the same resolution.

4

Verify roles in the Frigate dashboard

Open the Frigate web UI (http://your-ip:5000) and click on a camera. The debug view shows which streams are assigned to which roles. Check: the detect stream should show the low-resolution feed with the object detection overlay (bounding boxes). The recording indicator should show the high-resolution stream. If detect shows a high-res feed: the roles are swapped in your config. If both detect and record point to the same stream: you are wasting resources by running detection on the full-res stream.

5

Assign roles for live view separately

The live view in Home Assistant can use either the detect stream (lower quality but less bandwidth) or the record stream (higher quality but more bandwidth). In frigate.yml: add 'restream' or 'rtmp' to the roles list of whichever input you want for live view. Example: - path: rtsp://camera-ip/stream1, roles: [record, restream] gives you a high-quality live view. If you want to minimize bandwidth: assign restream to the sub stream instead. The Frigate integration in Home Assistant automatically uses the restream role for the camera entity.

Quick Solutions

Assign detect to a low-res sub-stream
Assign record to the high-res main stream
Add the audio role to a stream that carries audio
Split roles appropriately across streams
Match each role to the correct stream
Correct the role assignments in config
Verify which stream is main vs sub
Understand detect (low-res) vs record (high-res)

Still having issues? This is usually the deeper cause below.

Camera issues that start suddenly almost always trace back to an upload bandwidth drop — run a speed test before assuming hardware failure.

Pro Tip

Role separation is the fastest path to stable Frigate performance.

Real-World Insight

Live view problems that start suddenly usually trace back to an upload speed drop — the camera itself is fine, the bandwidth path to the cloud isn't.

What Usually Goes Wrong
  • detect role on the high-res main stream
  • record role on a low-res sub-stream
  • audio role missing/misassigned
  • Both roles on one stream unnecessarily
  • Roles not matching the intended streams

Official Manufacturer Manual

Frigate provides official product documentation through their online manual rather than downloadable PDF. Access setup guides, troubleshooting steps, and product specifications for your Frigate Camera Roles.

View Frigate Camera Roles Online Manual

Source: docs.frigate.video

Need More Help? Frigate Support

Note: The contact information below connects you directly to Frigate's official customer support team, not Trunetto. They can help with warranty claims, device replacements, and advanced technical issues.