The Setup
I have 4 Reolink cams, 3 x 510WA and 1 x 510A - seems pretty much the same, just the "WA" hawing Wifi, and the "A" having POE.
I started installing frigate reading the docs and learning from this Youtube video.
Starting up
The first mistake was to install via DockerHub, now a days the image is at GitHub, so I spend a lot of time on an old version and new documentation.
Looking at many issues at gitHub, it seems that this is a very common mistake.
Second mistake, I started using the config from https://docs.frigate.video/configuration/camera_specific#reolink-cameras and with --shm-size=64m
This gave me ALL sort of trouble, and the camera streams stalled within seconds; i tried all sort of streams, https, rstp, rmtp etc etc.
Often ending like this:
I tried all the (bad) advices from a lot of videos, and a lot or article pointing out the problem was the cams.
Then I came across this Youtube video, and found that a simple standard RTSP are working just fine (must be enabled on the Camera) - WITH more memory for 4 cams / 8 streams (--shm-size=256m).
My first working config: config.yml.std
Works fine and the camera streams does not stall
Also the setup of the docker container may require som tweaking, I You have (or not have) the Google Coral.
Starting frigate:
docker run -d \ --name frigate \ --restart=unless-stopped \ --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000 \ --device /dev/bus/usb:/dev/bus/usb \ --shm-size=256m \ -v /mnt/LaCie/nas/frigate:/media/frigate \ -v /opt/frigate/config.yml:/config/config.yml:ro \ -v /etc/localtime:/etc/localtime:ro \ -e FRIGATE_RTSP_PASSWORD='***********' \ -p 5000:5000 \ -p 1935:1935 \ ghcr.io/blakeblackshear/frigate:master-433bf69-tensorrt
A working/simple config
Previously, I dod not use the go2rtc - and the playback of event clips was extreme chonky and studdering. After setting up go2rtc as proxy (see the code) the event clips are way better.
mqtt: host: 10.0.0.183 go2rtc: streams: frigate_front_door_cam_main: - "ffmpeg:http://10.0.0.151/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus" frigate_front_door_cam_sub: - "ffmpeg:http://10.0.0.151/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}" frigate_behind_house_cam_main: - "ffmpeg:http://10.0.0.176/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus" frigate_behind_house_cam_sub: - "ffmpeg:http://10.0.0.176/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}" frigate_carport_cam_main: - "ffmpeg:http://10.0.0.191/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus" frigate_carport_cam_sub: - "ffmpeg:http://10.0.0.191/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}" frigate_big_shed_cam_main: - "ffmpeg:http://10.0.0.108/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}#video=copy#audio=copy#audio=opus" frigate_big_shed_cam_sub: - "ffmpeg:http://10.0.0.108/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=readonly&password={FRIGATE_RTSP_PASSWORD}" cameras: frigate_front_door_cam: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/frigate_front_door_cam_sub?video=copy input_args: preset-rtsp-restream roles: - detect - path: rtsp://127.0.0.1:8554/frigate_front_door_cam_main?video=copy&audio=aac input_args: preset-rtsp-restream roles: - record rtmp: enabled: False detect: width: 640 height: 480 fps: 5 objects: track: - person snapshots: enabled: True timestamp: false bounding_box: True retain: default: 2 record: enabled: True events: retain: default: 10 frigate_behind_house_cam: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/frigate_behind_house_cam_sub?video=copy input_args: preset-rtsp-restream roles: - detect - path: rtsp://127.0.0.1:8554/frigate_behind_house_cam_main?video=copy&audio=aac input_args: preset-rtsp-restream roles: - record rtmp: enabled: False detect: width: 640 height: 480 fps: 5 objects: track: - person snapshots: enabled: True timestamp: false bounding_box: True retain: default: 2 record: enabled: True events: retain: default: 10 frigate_carport_cam: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/frigate_carport_cam_sub?video=copy input_args: preset-rtsp-restream roles: - detect - path: rtsp://127.0.0.1:8554/frigate_carport_cam_main?video=copy&audio=aac input_args: preset-rtsp-restream roles: - record rtmp: enabled: False detect: width: 640 height: 480 fps: 5 objects: track: - person snapshots: enabled: True timestamp: false bounding_box: True retain: default: 2 record: enabled: True events: retain: default: 10 frigate_big_shed_cam: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/frigate_big_shed_cam_sub?video=copy input_args: preset-rtsp-restream roles: - detect - path: rtsp://127.0.0.1:8554/frigate_big_shed_cam_main?video=copy&audio=aac input_args: preset-rtsp-restream roles: - record rtmp: enabled: False detect: width: 640 height: 480 fps: 5 objects: track: - person snapshots: enabled: True timestamp: false bounding_box: True retain: default: 2 record: enabled: True events: retain: default: 10 detectors: coral: type: edgetpu device: usb birdseye: enabled: True mode: continuous
CPU - With Google Coral
As the logs states:
2023-04-19 21:39:43.672054592 [INFO] Starting Frigate... 2023-04-19 21:39:45.123307770 [2023-04-19 21:39:45] frigate.app INFO : Starting Frigate (0.12.0-433bf69) 2023-04-19 21:39:45.170477205 [2023-04-19 21:39:45] peewee_migrate INFO : Starting migrations 2023-04-19 21:39:45.175774528 [2023-04-19 21:39:45] peewee_migrate INFO : There is nothing to migrate 2023-04-19 21:39:45.204354047 [2023-04-19 21:39:45] detector.coral INFO : Starting detection process: 290 2023-04-19 21:39:48.422390105 [2023-04-19 21:39:45] frigate.app INFO : Output process started: 292 2023-04-19 21:39:48.422396583 [2023-04-19 21:39:45] frigate.comms.dispatcher INFO : Turning off snapshots for frigate_carport_cam 2023-04-19 21:39:48.422404731 [2023-04-19 21:39:45] frigate.app INFO : Camera processor started for frigate_front_door_cam: 298 2023-04-19 21:39:48.422409419 [2023-04-19 21:39:45] frigate.app INFO : Camera processor started for frigate_garden_cam: 300 2023-04-19 21:39:48.422426668 [2023-04-19 21:39:45] frigate.app INFO : Camera processor started for frigate_behind_house_cam: 302 2023-04-19 21:39:48.422431296 [2023-04-19 21:39:45] frigate.app INFO : Camera processor started for frigate_carport_cam: 303 2023-04-19 21:39:48.422434562 [2023-04-19 21:39:45] frigate.app INFO : Capture process started for frigate_front_door_cam: 304 2023-04-19 21:39:48.422459193 [2023-04-19 21:39:45] frigate.app INFO : Capture process started for frigate_garden_cam: 308 2023-04-19 21:39:48.422463190 [2023-04-19 21:39:45] frigate.app INFO : Capture process started for frigate_behind_house_cam: 311 2023-04-19 21:39:48.422466294 [2023-04-19 21:39:45] frigate.app INFO : Capture process started for frigate_carport_cam: 315 2023-04-19 21:39:48.446236449 [2023-04-19 21:39:45] frigate.detectors.plugins.edgetpu_tfl INFO : Attempting to load TPU as usb 2023-04-19 21:39:48.446242266 [2023-04-19 21:39:48] frigate.detectors.plugins.edgetpu_tfl INFO : TPU found
I assume the Google Coral is working, but still Frigate is highly CPU intensive for 4 cams:
With frigate not running:
If this is not improving / improved somehow, I will setup Frigate on a seperate piece of hardware.
This is 1 cam high res detect: