frigate: [Config Support]: Cannot play clip/recording from Unifi G3-Flex
Describe the problem you are having
I’m trying to establish if it is a problem with the camera video format, the web player in frigate or a bug. I’m testing Frigate at the moment, just starting with a coral TPU and so on. I have a fully working Unifi protect set up, so I’m trying to get the Unifi cameras to work on Frigate as a POC before I start moving from Unifi to regular cameras.
The screen shot below shows what is happening when a clip is recorded:
I thought this would be because the RTSP stream is coming from Unifi Protect NVR instead of directly from the camera, so I removed one of my cameras from the system, configured it as standalone and tried again, same result. I was suspecting it could be the encoding used on the video, but I’m not so sure. Unfortunately I don’t have any other non-unifi/ubiquity camera to test at the moment.
Also I noticed that after trying to play the clip, I navigate away to another part of Frigate, then come back to that event and now the clip tab is greyed out, the clip is gone. The same happens if I use the media browser in Home Assistant, if I try to play the clip, it fails and then a while later the clip is completely gone.
Version
0.11.1-2EADA21
Frigate config file
{
"birdseye": {
"enabled": true,
"height": 720,
"mode": "objects",
"quality": 8,
"width": 1280
},
"cameras": {
"Front": {
"best_image_timeout": 60,
"birdseye": {
"enabled": true,
"mode": "objects"
},
"detect": {
"enabled": true,
"fps": 5,
"height": 1080,
"max_disappeared": 25,
"stationary": {
"interval": 0,
"max_frames": {
"default": null,
"objects": {}
},
"threshold": 50
},
"width": 1920
},
"ffmpeg": {
"global_args": [
"-hide_banner",
"-loglevel",
"warning"
],
"hwaccel_args": [],
"input_args": "-an",
"inputs": [
{
"global_args": [],
"hwaccel_args": [],
"input_args": [],
"path": "rtsp://192.168.99.1:7447/jiUVK7r1RImRX35m",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"output_args": {
"detect": [
"-f",
"rawvideo",
"-pix_fmt",
"yuv420p"
],
"record": "-f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac",
"rtmp": "-c:v copy -f flv -ar 44100 -c:a aac"
}
},
"ffmpeg_cmds": [
{
"cmd": "ffmpeg -hide_banner -loglevel warning -an -i rtsp://192.168.99.1:7447/jiUVK7r1RImRX35m -c:v copy -f flv -ar 44100 -c:a aac rtmp://127.0.0.1/live/Front -r 5 -s 1920x1080 -f rawvideo -pix_fmt yuv420p pipe:",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"live": {
"height": 720,
"quality": 8
},
"motion": {
"contour_area": 30,
"delta_alpha": 0.2,
"frame_alpha": 0.2,
"frame_height": 50,
"improve_contrast": false,
"mask": "",
"mqtt_off_delay": 30,
"threshold": 25
},
"mqtt": {
"bounding_box": true,
"crop": true,
"enabled": true,
"height": 270,
"quality": 70,
"required_zones": [],
"timestamp": true
},
"name": "Front",
"objects": {
"filters": {
"car": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
},
"keyboard": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
},
"person": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
}
},
"mask": "",
"track": [
"person",
"car",
"keyboard"
]
},
"record": {
"enabled": false,
"events": {
"objects": null,
"post_capture": 5,
"pre_capture": 5,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
}
},
"expire_interval": 60,
"retain": {
"days": 0,
"mode": "all"
},
"retain_days": null
},
"rtmp": {
"enabled": true
},
"snapshots": {
"bounding_box": true,
"clean_copy": true,
"crop": false,
"enabled": false,
"height": null,
"quality": 70,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
},
"timestamp": false
},
"timestamp_style": {
"color": {
"blue": 255,
"green": 255,
"red": 255
},
"effect": null,
"format": "%m/%d/%Y %H:%M:%S",
"position": "tl",
"thickness": 2
},
"ui": {
"dashboard": true,
"order": 0
},
"zones": {}
},
"Test": {
"best_image_timeout": 60,
"birdseye": {
"enabled": true,
"mode": "objects"
},
"detect": {
"enabled": true,
"fps": 5,
"height": 1080,
"max_disappeared": 25,
"stationary": {
"interval": 0,
"max_frames": {
"default": null,
"objects": {}
},
"threshold": 50
},
"width": 1920
},
"ffmpeg": {
"global_args": [
"-hide_banner",
"-loglevel",
"warning"
],
"hwaccel_args": [],
"input_args": "-an",
"inputs": [
{
"global_args": [],
"hwaccel_args": [],
"input_args": [],
"path": "rtsp://192.168.99.1:7447/IP1yk8YVIT6pyGJE",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"output_args": {
"detect": [
"-f",
"rawvideo",
"-pix_fmt",
"yuv420p"
],
"record": "-f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac",
"rtmp": "-c:v copy -f flv -ar 44100 -c:a aac"
}
},
"ffmpeg_cmds": [
{
"cmd": "ffmpeg -hide_banner -loglevel warning -an -i rtsp://192.168.99.1:7447/IP1yk8YVIT6pyGJE -c:v copy -f flv -ar 44100 -c:a aac rtmp://127.0.0.1/live/Test -r 5 -s 1920x1080 -f rawvideo -pix_fmt yuv420p pipe:",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"live": {
"height": 720,
"quality": 8
},
"motion": {
"contour_area": 30,
"delta_alpha": 0.2,
"frame_alpha": 0.2,
"frame_height": 50,
"improve_contrast": false,
"mask": "",
"mqtt_off_delay": 30,
"threshold": 25
},
"mqtt": {
"bounding_box": true,
"crop": true,
"enabled": true,
"height": 270,
"quality": 70,
"required_zones": [],
"timestamp": true
},
"name": "Test",
"objects": {
"filters": {
"car": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
},
"keyboard": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
},
"person": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
}
},
"mask": "",
"track": [
"person",
"car",
"keyboard"
]
},
"record": {
"enabled": false,
"events": {
"objects": null,
"post_capture": 5,
"pre_capture": 5,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
}
},
"expire_interval": 60,
"retain": {
"days": 0,
"mode": "all"
},
"retain_days": null
},
"rtmp": {
"enabled": true
},
"snapshots": {
"bounding_box": true,
"clean_copy": true,
"crop": false,
"enabled": false,
"height": null,
"quality": 70,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
},
"timestamp": false
},
"timestamp_style": {
"color": {
"blue": 255,
"green": 255,
"red": 255
},
"effect": null,
"format": "%m/%d/%Y %H:%M:%S",
"position": "tl",
"thickness": 2
},
"ui": {
"dashboard": true,
"order": 0
},
"zones": {}
},
"garden": {
"best_image_timeout": 60,
"birdseye": {
"enabled": true,
"mode": "objects"
},
"detect": {
"enabled": true,
"fps": 5,
"height": 1080,
"max_disappeared": 25,
"stationary": {
"interval": 0,
"max_frames": {
"default": null,
"objects": {}
},
"threshold": 50
},
"width": 1920
},
"ffmpeg": {
"global_args": [
"-hide_banner",
"-loglevel",
"warning"
],
"hwaccel_args": [],
"input_args": "-an",
"inputs": [
{
"global_args": [],
"hwaccel_args": [],
"input_args": [],
"path": "rtsp://192.168.99.216:554/s0",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"output_args": {
"detect": [
"-f",
"rawvideo",
"-pix_fmt",
"yuv420p"
],
"record": "-f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac",
"rtmp": "-c:v copy -f flv -ar 44100 -c:a aac"
}
},
"ffmpeg_cmds": [
{
"cmd": "ffmpeg -hide_banner -loglevel warning -an -i rtsp://192.168.99.216:554/s0 -c:v copy -f flv -ar 44100 -c:a aac rtmp://127.0.0.1/live/garden -r 5 -s 1920x1080 -f rawvideo -pix_fmt yuv420p pipe:",
"roles": [
"record",
"rtmp",
"detect"
]
}
],
"live": {
"height": 720,
"quality": 8
},
"motion": {
"contour_area": 30,
"delta_alpha": 0.2,
"frame_alpha": 0.2,
"frame_height": 50,
"improve_contrast": false,
"mask": "",
"mqtt_off_delay": 30,
"threshold": 25
},
"mqtt": {
"bounding_box": true,
"crop": true,
"enabled": true,
"height": 270,
"quality": 70,
"required_zones": [],
"timestamp": true
},
"name": "garden",
"objects": {
"filters": {
"car": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
},
"keyboard": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
},
"person": {
"mask": null,
"max_area": 24000000,
"max_ratio": 24000000,
"min_area": 0,
"min_ratio": 0,
"min_score": 0.5,
"threshold": 0.7
}
},
"mask": "",
"track": [
"person",
"car",
"keyboard"
]
},
"record": {
"enabled": true,
"events": {
"objects": null,
"post_capture": 5,
"pre_capture": 5,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
}
},
"expire_interval": 60,
"retain": {
"days": 0,
"mode": "all"
},
"retain_days": null
},
"rtmp": {
"enabled": true
},
"snapshots": {
"bounding_box": true,
"clean_copy": true,
"crop": false,
"enabled": true,
"height": null,
"quality": 70,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
},
"timestamp": false
},
"timestamp_style": {
"color": {
"blue": 255,
"green": 255,
"red": 255
},
"effect": null,
"format": "%m/%d/%Y %H:%M:%S",
"position": "tl",
"thickness": 2
},
"ui": {
"dashboard": true,
"order": 0
},
"zones": {}
}
},
"database": {
"path": "/media/frigate/frigate.db"
},
"detect": {
"enabled": true,
"fps": 5,
"height": 720,
"max_disappeared": null,
"stationary": {
"interval": 0,
"max_frames": {
"default": null,
"objects": {}
},
"threshold": null
},
"width": 1280
},
"detectors": {
"coral": {
"device": "pci",
"num_threads": 3,
"type": "edgetpu"
}
},
"environment_vars": {},
"ffmpeg": {
"global_args": [
"-hide_banner",
"-loglevel",
"warning"
],
"hwaccel_args": [],
"input_args": [
"-avoid_negative_ts",
"make_zero",
"-fflags",
"+genpts+discardcorrupt",
"-rtsp_transport",
"tcp",
"-timeout",
"5000000",
"-use_wallclock_as_timestamps",
"1"
],
"output_args": {
"detect": [
"-f",
"rawvideo",
"-pix_fmt",
"yuv420p"
],
"record": [
"-f",
"segment",
"-segment_time",
"10",
"-segment_format",
"mp4",
"-reset_timestamps",
"1",
"-strftime",
"1",
"-c",
"copy",
"-an"
],
"rtmp": [
"-c",
"copy",
"-f",
"flv"
]
}
},
"live": {
"height": 720,
"quality": 8
},
"logger": {
"default": "info",
"logs": {}
},
"model": {
"height": 320,
"labelmap": {},
"labelmap_path": null,
"path": null,
"width": 320
},
"motion": null,
"mqtt": {
"client_id": "frigate",
"host": "192.168.99.6",
"password": "removed",
"port": 1883,
"stats_interval": 60,
"tls_ca_certs": null,
"tls_client_cert": null,
"tls_client_key": null,
"tls_insecure": null,
"topic_prefix": "frigate",
"user": "mqtt_user"
},
"objects": {
"filters": null,
"mask": "",
"track": [
"person"
]
},
"plus": {
"enabled": false
},
"record": {
"enabled": false,
"events": {
"objects": null,
"post_capture": 5,
"pre_capture": 5,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
}
},
"expire_interval": 60,
"retain": {
"days": 0,
"mode": "all"
},
"retain_days": null
},
"rtmp": {
"enabled": true
},
"snapshots": {
"bounding_box": true,
"clean_copy": true,
"crop": false,
"enabled": false,
"height": null,
"quality": 70,
"required_zones": [],
"retain": {
"default": 10,
"mode": "motion",
"objects": {}
},
"timestamp": false
},
"timestamp_style": {
"color": {
"blue": 255,
"green": 255,
"red": 255
},
"effect": null,
"format": "%m/%d/%Y %H:%M:%S",
"position": "tl",
"thickness": 2
},
"ui": {
"use_experimental": false
}
}
Relevant log output
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[2022-12-30 23:37:34] frigate.app INFO : Starting Frigate (0.11.1-2eada21)
[2022-12-30 23:37:34] frigate.app INFO : Creating directory: /tmp/cache
Starting migrations
[2022-12-30 23:37:34] peewee_migrate INFO : Starting migrations
There is nothing to migrate
[2022-12-30 23:37:34] peewee_migrate INFO : There is nothing to migrate
[2022-12-30 23:37:34] frigate.app INFO : Output process started: 215
[2022-12-30 23:37:34] frigate.app INFO : Camera processor started for Front: 217
[2022-12-30 23:37:34] detector.coral INFO : Starting detection process: 213
[2022-12-30 23:37:34] frigate.edgetpu INFO : Attempting to load TPU as pci
[2022-12-30 23:37:34] ws4py INFO : Using epoll
[2022-12-30 23:37:34] frigate.app INFO : Camera processor started for Test: 220
[2022-12-30 23:37:34] frigate.app INFO : Camera processor started for garden: 236
[2022-12-30 23:37:34] frigate.app INFO : Capture process started for Front: 237
[2022-12-30 23:37:34] frigate.edgetpu INFO : TPU found
[2022-12-30 23:37:35] frigate.app INFO : Capture process started for Test: 241
[2022-12-30 23:37:35] frigate.app INFO : Capture process started for garden: 242
[2022-12-30 23:37:35] ws4py INFO : Using epoll
[2022-12-30 23:37:37] ws4py INFO : Managing websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:51162]
[2022-12-30 23:37:38] ws4py INFO : Terminating websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:51162]
[2022-12-30 23:37:39] ws4py INFO : Managing websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:51164]
[2022-12-30 23:37:45] frigate.mqtt INFO : Turning on snapshots for garden via mqtt
[2022-12-30 23:37:46] frigate.mqtt INFO : Turning on recordings for garden via mqtt
[2022-12-30 23:37:52] ws4py INFO : Managing websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:44460]
[2022-12-30 23:38:03] ws4py INFO : Terminating websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:44460]
[2022-12-30 23:38:03] ws4py INFO : Managing websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:44232]
[2022-12-30 23:38:05] ws4py INFO : Terminating websocket [Local => 127.0.0.1:8082 | Remote => 127.0.0.1:44232]
[2022-12-30 23:38:36] frigate.http ERROR : No recordings found for the requested time range
[2022-12-30 23:49:04] ws4py INFO : Terminating websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:51164]
[2022-12-30 23:49:07] ws4py INFO : Managing websocket [Local => 127.0.0.1:5002 | Remote => 127.0.0.1:43158]
Frigate stats
No response
Operating system
HassOS
Install method
HassOS Addon
Coral version
M.2
Any other information that may be helpful
Running HassOS virtulised in Hyper-V
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 17
Great glad to hear that, I think this can be closed then. Feel free to create a new issue if something else comes up.
I edited it for you, you can see how I did it
that’s the problem, recordings do not work this way, they MUST be enabled in the config for them to be saved