G100 RTSP over Frigate/Fregatta Not Reliable and HomeKit

G100 RTSP main stream (ch1) sends broken / keyframe-less H.264 — unusable in NVRs like Frigate, while HKSV and the app look perfect (likely firmware bug)

Posting this in case others are fighting the same thing, and hoping it gives the Aqara devs something specific to target. I spent several days assuming this was my Wi-Fi or my network. It wasn’t — and I can now isolate it down to the camera’s RTSP encoder.

Setup

Several Aqara G100 cameras (8x) feeding Frigate (running as Fregata on a Mac mini) over RTSP, alongside HomeKit Secure Video. HKSV and the Aqara app are flawless on every camera. But in Frigate, several cameras constantly flap between recording and unavailable, drop recordings, and miss person detections.

Each camera exposes ch1 (main, ~1080p), ch2 (720p), and ch3 (360p). RTSP enabled per-camera in the app (“RTSP LAN Preview”).

The symptom

On the affected cameras, the ch1 main RTSP stream stops emitting valid keyframes / SPS-PPS parameter sets. Any ffmpeg-based consumer (Frigate, go2rtc, raw ffprobe) floods:

[h264] non-existing PPS 0 referenced
[h264] decode_slice_header error
[h264] no frame!
[rtsp] Could not find codec parameters for stream 1 (Video: h264, none): unspecified size

It often can’t even determine the resolution. Frigate joins the stream, waits for a keyframe that comes extremely rarely or never, hits its ~20s no-frames watchdog, restarts, and flaps forever.

How I isolated it (this is the important part)

I pulled the stream with raw ffmpeg, completely bypassing Frigate, go2rtc, and my config — so there’s nothing left to blame but the camera and the network path:

ffmpeg -hide_banner -rtsp_transport tcp -i "rtsp://USER:PASS@CAMERA_IP:8554/ch1" -t 15 -f null -
  • On a broken camera, ch1 floods the PPS errors above and decodes ~0–9 frames in 15 seconds.
  • On a healthy G100, the same command on ch1 locks 1920x1080 and decodes ~300 frames cleanly.
  • On the exact same broken camera, ch2 (720p) locks 1280x720 instantly and decodes cleanly.

So it’s per-unit, per-channel: specific cameras whose ch1 encoder has gone into a bad state, while ch2 on those same cameras is fine, and ch1 on my other G100s is fine.

(Note: a short “non-existing PPS” burst at the very start is normal — ffmpeg joins mid-GOP and has to wait for the next keyframe. The bug is that the keyframe/parameter set then never reliably arrives. Let the command run the full 15s before judging.)

Key points for the devs

  • It is not signal. The affected cameras were pulling −20 dBm RSSI on a close AP and loading instantly in HomeKit and the Aqara app. A strong radio link carrying a broken H.264 bitstream is still broken.
  • It is stateful and sticky. A camera reboot does not fix it. Toggling RTSP off/on in the app does not fix it — and notably that toggle does not roll the RTSP username/password (the app says only a factory reset does that). Bumping ffmpeg -analyzeduration / -probesize also does nothing.
  • It degrades on its own. At least one of mine was healthy on ch1 one day and broken the next, with no setting change on my end. So something in firmware drops into a bad ch1 state and doesn’t recover. (If this correlates with a staggered OTA, that would explain a lot — see my question below.)
  • HKSV is completely unaffected, which is exactly why this hides. The camera “looks perfect” everywhere except a real continuous RTSP/NVR consumer, so it’s easy to misdiagnose as a network problem for days.

This isn’t just me, and isn’t just Frigate

Same fingerprint shows up across unrelated stacks, which points squarely at the camera firmware rather than any one integration:

  • go2rtc #1775 — a G100 owner reported ch1 flooding the identical non-existing PPS 0 referenced / no frame! errors in ffmpeg, while the same stream played fine in VLC and Scrypted. That detail suggests the video may still be encoding but the parameter-set signaling isn’t ffmpeg-consumable.
  • Frigate discussion #23041 — the sibling G410 doorbell, same PPS error flood, dropping offline until Frigate is restarted, while the Aqara app shows it working fine.
  • Aqara forum “Aqara g100 rtsp bug” — a user running three G100s into a Dahua recorder via RTSP reports the recorder stops recording after a while unless reloaded, while HomeKit and the app stay perfect. That’s the same symptom on dedicated NVR hardware, not a Mac and not Frigate.

Questions for the community / Aqara

  1. Is anyone else seeing G100 ch1 go keyframe-less in an NVR (Frigate, Blue Iris, Synology, Dahua, etc.) while HKSV / the app stay perfect?
  2. Does it correlate with a specific firmware version? I’ve noticed G100 OTA rolls out staggered (different cameras on different versions), and the recent 4.5.x line has been rocky. If the broken units share a firmware version and the healthy ones don’t, that’s a strong lead.
  3. Does a factory reset durably restore ch1 for you, or does the bad state come back?
  4. Does a specific ch1 bitrate / resolution setting trigger it?

My workaround for now

Point the NVR at ch2 (720p) instead of ch1. It decodes cleanly and is plenty for person detection, and I keep full-resolution recording via HKSV separately. But 720p shouldn’t be the only reliable option on a 2K camera — ch1 needs a firmware fix so it reliably emits keyframes / SPS-PPS on the RTSP main stream.

Happy to share full ffmpeg logs and exact firmware versions per camera if it helps track this down.

@AqaraOfficial

4 Likes

Hi there, I’ve forwarded this topic to the team and we’ll look into it shortly.

5 Likes

Very thorough analysis. Hopefully Aqara can address it.

3 Likes

Thank you! I’ve been doing a lot of troubleshooting and testing with Claude. I’m a bit of a smart home nerd haha. I just want this to work!!!. Testing a few more things and then I’ll post another follow-up.

I have exactly the same issue. I’m glad you described it so clearly. I had already given up on my camera, so I really hope they can fix it through a firmware update.

Exactly the same issue here! Spent ages moving AP’s and maximising coverage. My Tapo cams have all been rock solid but the G100’s are terrible right now! So sad as the form factor and FOV are perfect! Please, please fix this guys :slight_smile: