Trying to get smooth remote streaming for Reolink PoE Doorbell (HomeKit vs. HA vs. Native App)

Hey everyone,

I’m reaching out because I am at a dead end trying to get a fluid, real-time remote video stream from my doorbell when I’m away from home. I really want to move away from the native Reolink app as I can’t view events there (dont want to use an SD card for duplicate recordings), no rich notifications, etc), but right now, nothing else I try even comes close to its remote streaming performance.

When I’m out on cellular data or a wifi outside of home, the native Reolink app loads instantly and is buttery smooth. But trying to replicate that anywhere else has been a total nightmare.

Setup:

  • Camera: Reolink Video Doorbell PoE (D340P) | Firmware: v3.0.0.6460 | Hardware: DB_566128M5MP_P
  • Networking: Wired directly into an Omada network switch, connected to my PC and server.
  • Server: Proxmox box running Home Assistant and Frigate. It has Intel QuickSync Hardware Acceleration (preset-vaapi) and a bare-metal Intel OpenVINO engine offloading detection to the iGPU.

I’ve tried:

  1. Apple HomeKit (via Scrypted / HomePod Hub): Local viewing on Wi-Fi is fine. But the second I leave the house; the stream completely freezes. It essentially just displays a single snapshot frame of the porch alongside choppy, robotic audio. I only have a homepod acting as my Home Hub (no Apple TV), and it’s connected over WiFi.
  2. Home Assistant + Frigate / go2rtc (via Cloudflare Tunnel & Nabu Casa): I brought the doorbell into HA using the official Reolink Integration (configured to use the RTSP protocol stream option). For the dashboard, I am using the advanced-camera-card backed by Frigate’s go2rtc for WebRTC. Whether I connect remotely via my Cloudflare Tunnel ([https://ha.mydomain.uk) or test through Nabu Casa, the performance isn’t great. The stream lags behind real-time by like 10 seconds. It isn’t fluent or usable as a live doorbell view.

I’m wondering if my configurations are flawed, or if there’s a massive network bottleneck I’m missing.

Here are my exact configurations. Hopefully, someone more clever than me can spot what’s causing this lag.

Frigate config (frigate.yml):

mqtt:
enabled: true
host: 192.168.0.112
user: admin
password: [MOSQUITTO_PASSWORD]

auth:
enabled: false

go2rtc:
webrtc:
candidates:
- 192.168.0.111:8555
- stun:stun.cloudflare.com:3478
- stun:stun.l.google.com:19302
streams:
doorbell:
- “ffmpeg:http://192.168.0.100/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=[CAMERA_PASSWORD]#video=copy#audio=copy#audio=opus

ffmpeg:
hwaccel_args: preset-vaapi

detectors:
detector01:
type: openvino
device: GPU

model:
width: 300
height: 300
input_tensor: nhwc
input_pixel_format: bgr
path: /openvino-model/ssdlite_mobilenet_v2.xml
labelmap_path: /openvino-model/coco_91cl_bkgr.txt

cameras:
doorbell:
ffmpeg:
inputs:
- path: “http://192.168.0.100/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=[CAMERA_PASSWORD]
input_args: preset-http-reolink
roles:
- detect
- path: rtsp://127.0.0.1:8554/doorbell
input_args: preset-rtsp-restream
roles:
- record
detect:
enabled: true
width: 640
height: 480
fps: 5
record:
enabled: true
continuous:
days: 3
alerts:
retain:
days: 90
mode: motion
detections:
retain:
days: 90
mode: motion
snapshots:
enabled: true
retain:
default: 90
zones:
front_porch:
coordinates: 0.819,0.997,0.617,0.611,0.507,0.61,0.213,0.571,0.197,0.583,0.153,0.574,0.145,0.51,0.002,0.587,0,0.999
loitering_time: 0
friendly_name: Front Porch
inertia: 3
motion:
mask: 0.002,0.587,0.145,0.51,0.153,0.574,0.197,0.583,0.22,0.572,0.507,0.61,0.617,0.611,0.819,0.997,0,0.999
objects:
mask: 0.002,0.587,0.145,0.51,0.153,0.574,0.197,0.583,0.213,0.571,0.507,0.61,0.617,0.611,0.819,0.997,0.999,0.998,1,0,0,0

version: 0.17-0`

Advanced camera card (which displays the stream):

views:

  • type: panel
    path: doorbell
    title: Doorbell
    cards:
    • type: custom:advanced-camera-card
      view:
      default: live
      cameras:
      • camera_entity: camera.doorbell
        live_provider: go2rtc
        go2rtc:
        stream: doorbell
        modes:
        - webrtc
        - mse
        - mp4
        live:
        preload: true
        lazy_load: false
        auto_play:
        • selected
        • visible
          menu:
          style: outside
          buttons:
          cameras:
          enabled: false
          media_player:
          enabled: false
          timeline:
          enabled: true
          image:
          enabled: false`

Has anyone gotten a Reolink PoE doorbell to stream remotely via HA or HomeKit with actual 1:1, low latency fluidness like the native app? If you see any misconfigurations or tricks to make the iCloud/Cloudflare/Nabu Casa routing actually stable, please let me know.

Thanks in advance!

Did you try Frigate only, to further debug where is the issue?
Never got great performances with cameras on HA myself, but I use Frigate exclusively, so never actually tried to improve the HA side.

(been unsuccessfully trying to respond for a lil while lol)

Hi, thanks for the response!

Frigate does run perfectly fine – sorry, should’ve mentioned earlier.

Everything also runs perfectly fine in both Homekit and HA when on the home network too. It’s just exclusively when not at home, which is when managing my doorbell would be most useful :sweat_smile: