Cameras
Frigate: no frames have been received
Decode Frigate's 'No frames have been received' error — the RTSP path, the codec, and the go2rtc restream wiring behind it.
Problem summary
Frigate's 'No frames have been received, check error logs' means ffmpeg isn't producing video for that camera. It's almost always the stream URL, an H.265-vs-H.264 codec mismatch, or pulling the camera directly instead of restreaming through go2rtc — prove the raw stream outside Frigate first.
Play the exact RTSP URL in VLC or run ffprobe against it.
ffprobe -rtsp_transport tcp "rtsp://USER:PASS@IP:554/<path>"
The stream opens and ffprobe reports a video codec and resolution.
If the camera is unreachable at all, treat it as camera-offline, not a Frigate config issue.
Layer path
Step-by-step runbook
Start here. Do each check in order, compare it to the expected result, and stop when the evidence explains the failure or the safe stop point applies.
Prove the stream outside Frigate
Check: ffprobe or VLC the exact RTSP URL the camera uses.
Expected result: The stream opens with a video codec reported.
If not: If it won't open, fix the URL/credentials/codec before any Frigate change.
Restream through go2rtc
Check: Define the camera once in go2rtc and confirm it connects in the 1984 UI.
Expected result: go2rtc shows the stream connected with a known codec.
If not: If go2rtc can't pull it, resolve the source/network first.
Point Frigate at the restream with the right preset
Check: Set detect/record to rtsp://127.0.0.1:8554/<name> and use preset-rtsp-restream.
Expected result: Frigate consumes the clean restream and frames arrive.
If not: If you must pull the camera directly, use preset-rtsp-generic (or the UDP preset for flaky cams).
Match codec and transport
Check: Set the consumed stream to H.264 if the path is failing on H.265, and switch RTP transport for cameras throwing RTP errors.
Expected result: Frames are stable with no Invalid-data errors.
If not: For Reolink HTTP-FLV use preset-http-reolink, NOT on an rtsp restream.
Confirm and right-size detection
Check: Verify the camera shows frames, then ensure detection runs on a low-res substream (~5 fps).
Expected result: The camera is live and detection load is sane.
If not: If detection is heavy, plan the detector with the Frigate hardware planner.
Decision tree
If: The URL won't play in VLC/ffprobe either.
Then: Camera, URL, or credentials problem — not Frigate.
Action: Fix the RTSP path/credentials (percent-encode special characters); see /cameras/rtsp-url-not-working.
If: It plays in VLC but Frigate logs 'Invalid data'/'ffmpeg not running'.
Then: Codec or preset mismatch.
Action: Set H.264 (or restream via go2rtc) and match the ffmpeg preset to the source.
If: It worked, then drops frames intermittently.
Then: Connection-limit exhaustion or RTP transport instability.
Action: Restream once through go2rtc; switch RTP transport (UDP/TCP) for the affected camera.
If: go2rtc can't pull the stream.
Then: Source/network problem upstream of Frigate.
Action: Resolve in go2rtc (URL, codec, network) first; Frigate consumes the restream after.
Safe stop: If the camera is unreachable at all, treat it as camera-offline, not a Frigate config issue.
Evidence table
| Symptom | Evidence to collect | Likely layer | Next action |
|---|---|---|---|
| No frames on one camera, others fine. | ffprobe/VLC result for that camera's URL; its codec. | URL / codec for that camera | Fix the URL or set H.264 / restream that camera. |
| 'Invalid data found when processing input'. | The configured ffmpeg preset vs the actual source type. | Preset mismatch | Use preset-rtsp-restream for go2rtc sources; preset-http-reolink only for Reolink HTTP-FLV. |
| Frames drop after a while. | Whether multiple roles pull the camera directly; RTP errors in the log. | Connection limit / RTP transport | Restream via go2rtc; switch UDP/TCP transport. |
| All cameras of one brand fail. | Brand-specific URL/codec/transport quirk (e.g. Reolink). | Vendor stream quirk | Apply the vendor's known preset/transport workaround. |
Commands and settings paths
Probe the raw stream
ffprobe -rtsp_transport tcp "rtsp://USER:PASS@IP:554/<path>"
Where: From the Frigate host (or any machine on the camera's network).
Expected: ffprobe prints a video stream with codec (h264/hevc), resolution, and fps.
Failure means: Errors or a hang mean the URL/credentials/codec/transport is wrong — not Frigate.
Safe next step: Correct the URL (percent-encode the password), set H.264, or switch transport, then re-probe.
Check the go2rtc restream
Open http://<frigate-host>:1984 (go2rtc UI)
Where: In a browser on the LAN.
Expected: The camera appears connected with a known codec; the stream plays.
Failure means: If go2rtc can't connect, the problem is the source/network, upstream of Frigate.
Safe next step: Fix the source in go2rtc first, then point Frigate's roles at rtsp://127.0.0.1:8554/<name>.
Read Frigate's logs
Frigate UI > Logs (or docker logs <frigate>)
Where: On the Frigate host.
Expected: The exact ffmpeg error (Invalid data / not running / unable to read frames) is shown.
Failure means: The specific line tells you codec vs preset vs transport vs URL.
Safe next step: Match the fix to the error and restart Frigate.
Hardware and platform boundary
Change only when
- Add go2rtc restreaming the moment you have more than one role (detect + record + live) or any H.265 camera — it removes most no-frames failures at the source.
Evidence that matters
- Cameras that expose a stable RTSP URL and a low-res substream, and a host that can decode all your streams (iGPU/GPU).
Evidence that does not matter
- Headline megapixels — a 4K camera with a flaky stream is worse than a reliable 1080p substream for detection.
Avoid
- Pointing every Frigate role directly at the camera (connection-limit exhaustion) or using the Reolink HTTP preset on an RTSP restream.
Related tool/calculator
Use the linked calculator or tool to turn this runbook into numbers for your exact setup.
Frigate hardware plannerRelated problems
Last reviewed
2026-06-02 · Reviewed by HomeTechOps. Built from June-2026 research verified against the Frigate camera-setup and ffmpeg-presets docs and go2rtc; leads with prove-the-stream-outside-Frigate, the go2rtc restream pattern, and the codec/preset/transport causes behind the canonical no-frames error. Frigate config schema moves fast — cite the stable docs pages and re-verify YAML before publishing snippets.
Sources/assumptions
- Assumes Frigate (recent version) pulling IP-camera RTSP, ideally restreamed through go2rtc.
- Frigate's config schema changes between versions — verify YAML keys/presets against the current docs before copying snippets.
- Compatibility is protocol-level (the camera exposes RTSP/ONVIF); no per-model guarantees.
Source-backed checks
HomeTechOps turns official docs and conservative safety rules into a shorter runbook. These links are the source trail for the page direction.