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:
- 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.
- 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-cardbacked by Frigate’sgo2rtcfor 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: falsego2rtc:
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-vaapidetectors:
detector01:
type: openvino
device: GPUmodel:
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.txtcameras:
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,0version: 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!