#Best UI3-like experience for Frigate in Home Assistant?

1 messages · Page 1 of 1 (latest)

ebon oracle
#

I'm coming to Frigate/Home Assistant Integration from Blue Iris / UI3. Frigate seems like a huge improvement in so many ways (esp. w/ HA). But one area it lags behind is the smooth UI3 experience. I know the card has a scrubbing mode and similar featuers to UI3, but the parity just isn't there in terms of the extremely responsive experience of UI3.

I'm curious if others who've made the switch have found a configuration either in HA or Frigate for a UI3-like experience?

karmic spruce
#

can you elaborate what features you're looking for specifically? Frigate 0.14 introduced a lot of new features in the Frigate native UI

ebon oracle
#

Sure. I think what holds me back the most is scrubbing. In UI3, I can zoom the timeline to scrub either frame by frame, or hours at a time. I can also control playback speed and direction. In Frigate native - I seem to only be able to scrub 30 seconds at the most granular, and the substream frame snapshot is not the same as the frame it jumps to - usually off by several seconds.

In other words, scrubbing in Frigate feels like a sword and I'm a bit more used to a scalpel in UI3. It's extremely smooth/responsive

#

I tried the HA card scrubbing profile, but it seems very buggy and doesn't work. If I scrub to a given time - it just doesn't play video at all. Trying to troubleshoot that as I expect there's something more acute going on there.

final light
#

Is there a reason why you'd have to pick one over the other? Frigate can run analytics, find events for triggers in HA, automations, notifications, etc. Could Blue Iris still be the scrubbing interface with access to the recordings? Are you running Frigate standalone or within HA?

ebon oracle
#

No, I can run both. Frigate and HA run in separate Docker containers on the same host. I guess storage would be a concern - I'd be double recording and I have a lot of cameras.

#

That comment also raises the question of just exploring other UIs for viewing cameras and recordings in a UI# like manner. Frigate just stores 10 second junks as raw videos. There might be something else out there.

karmic spruce
#

In Frigate native - I seem to only be able to scrub 30 seconds at the most granular, and the substream frame snapshot is not the same as the frame it jumps to - usually off by several seconds.

Interesting, this seems like something with your config or some other issue. The timeline in Frigate scrubs ~4 seconds not 30 seconds at the default zoom level (that is how it is implemented). Also in my usage and in general the feedback we have gotten is that the sub stream and recordings are almost perfectly in sync which also points to a potential config issue.

Also worth mentioning that in recordings viewing there are keyboard shortcuts to jump 1 second at a time

#

if you want to create a GitHub support discussion that would be the easiest way for us to try and help figure out why the UI is not working as well in your case

#

Oh, I guess I should be clear, the scrubbing depends on activity

#

it is scrubbing every 30 seconds when there is no motion detected, because there is no point in saving additional frames when nothing changed in the frame

ebon oracle
#

This is what I am referring to irt 30 seconds. It seems to be regardless of whether motion is detected.

#

And this is an example of the substream jumping. As you can see, I scrub to where I'm walking on the porch, but it snaps to something else.

#

And I contrast it with UI3. Here, I can start from earlier in the day, quickly scrub to where the motion event was, and then zoom in and scrub frame by frame and at all times the UI is extremely smooth and responsive.

#

I'm running pretty bog standard configs from the fantastics docs. intel iGPU for vaapi and openvino. recording are on local spinning disk. 1GB SHM

karmic spruce
#

And the not syncing, again happy to look at the config. Mine is dead on when released.

#

As an example

ebon oracle
#
    container_name: frigate-cherokee
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "1024mb"
    devices:
      - /dev/dri:/dev/dri
    cap_add:
      - CAP_PERFMON
    volumes:
      - /data/warehouse/frigate/cherokee:/config
      - /data/blueiris/frigate/cherokee:/media/frigate
      - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    networks:
      - traefik
    ports:
      - "127.0.0.1:8971:8971"  
      - "127.0.0.1:5050:5000" # note 5050 host port 
      - "127.0.0.1:8554:8554"  
      - "127.0.0.1:8555:8555" 
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.security-beta.rule=Host(`example.com`)"
      - "traefik.http.routers.security-beta.entrypoints=websecure"
      - "traefik.http.routers.security-beta.tls.certresolver=myresolver"
      - "traefik.http.routers.security-beta.middlewares=authentik@file"
      - "traefik.http.services.security-beta.loadbalancer.server.port=8971"```
#
  parkingcam:
    enabled: true
    ffmpeg:
      inputs:
          # Substream
        - path: 
            rtsp://admin:centurion12bc@parkingcam.whisk.ee:554/cam/realmonitor?channel=1&subtype=1
          roles:
            - detect
            - audio
          # Mainstream
        - path: 
            rtsp://admin:centurion12bc@parkingcam.whisk.ee:554/cam/realmonitor?channel=1&subtype=0
          roles:
            - record
    detect:
      enabled: true

    motion:
      mask: 0.596,0.94,0.968,0.941,0.966,0.982,0.596,0.977

  # additional cameras truncated



go2rtc:
  streams:
    parkingcam:
      - rtsp://admin:@parkingcam.whisk.ee:554/cam/realmonitor?channel=1&subtype=0
    #truncated

audio: # <- enable audio events for all camera
  enabled: True

birdseye:
  enabled: true
  mode: motion

record:
  enabled: true
  retain:
    days: 3
    mode: all
  events:
    retain:
      default: 14
      mode: active_objects

auth:
  enabled: false
  trusted_proxies:
    - 172.18.0.0/16
proxy:
  header_map:
    user: x-authentik-username

tls:
  enabled: false

ffmpeg:
  hwaccel_args: preset-vaapi

detectors:
  ov:
    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

mqtt:
  enabled: true
  host: legionary.whisk.ee
  user: hass
  password: #truncated

version: 0.14
camera_groups:
  BE:
    order: 1
    icon: LuBird
    cameras: birdseye
#

Appreciate the help very much

#

Regarding scrubbing, I tried again with the finest movements - literally one pixel at a time - and it's still snapping to 30 seconds intervals. Yours doesn't show time stamps as you scrub, but it looks like smaller timestamps unless that doggo is the slowest pooper ever

karmic spruce
#

Ah yeah I cropped that out on accident since on mobile it shows at the top.

ebon oracle
#

I think scrubbing is finer on mobile than desktop?

#

im doing it on mobile now and it seems finer

#

This might be moot if it's moving to a zoomable timeline

karmic spruce
#

It's actually a bit more responsive on desktop due to desktop decoders being better

#

How many full stream connections are ongoing to your camera at the same time?

ebon oracle
#

I think 2. BI and Frigate. Then both pull the substream too

#

I do all of my audio and such on sub

karmic spruce
#

Sub detect and audio is two separate connections due to the implementation

#

If you moved the record and sub to restream I think it might perform better in terms of sync

ebon oracle
#

(lol just noticed i cleartexted my passwords oops, triyng again)



        - path: 
            rtsp://admin:@parkingcam.whisk.ee:554/cam/realmonitor?channel=1&subtype=1
          roles:
            - detect
            - audio
          # Mainstream
        - path: 
            rtsp://admin:@parkingcam.whisk.ee:554/cam/realmonitor?channel=1&subtype=0
          roles:
            - record```
#

So does restream pull the main and sub and then audio pulls from restream? I don't quite follow

#

ok I think i get it. Step 0 is pull the restream, then I define my cameras using that. So main and audio would pull the restream twic einstead of the main feed

karmic spruce