blakeblackshear / frigate

NVR with realtime local object detection for IP cameras
https://frigate.video
MIT License
18.44k stars 1.68k forks source link

[Camera Support]: Unifi camera not streaming in HomeAssistant #7151

Closed lucasteligioridis closed 1 year ago

lucasteligioridis commented 1 year ago

Describe the problem you are having

When trying to open a stream via HomeAssistant entity, I can see the camera entity for my inputs, but when I click to open it the stream is never active. It only ever has a thumbnail showing the last still image and eventually it just errors with a time out" error.

I am actually wondering if I've configured my Unifi cameras correctly in frigate / something to do with my go2rtc config? I have a feeling perhaps my input/output args are not set correctly?

Any help or direction would be appreciated :)

Version

0.12.1-367d724

Frigate config file

mqtt:
  host: <redacted>

ffmpeg:
  output_args:
    record: preset-record-ubiquiti

detectors:
  coral:
    type: edgetpu
    device: usb

go2rtc:
  streams:
    doorbell_cctv:
      - rtspx://<redacted>:7441/<redacted>
    doorbell_cctv_low:
      - rtspx://<redacted>:7441/<redacted>?video=copy
    doorbell_cctv_package:
      - rtspx://<redacted>:7441/<redacted>
    frontyard_cctv:
      - rtspx://<redacted>:7441/<redacted>
    frontyard_cctv_low:
      - rtspx://<redacted>:7441/<redacted>?video=copy
    carport_cctv:
      - rtspx://<redacted>:7441/<redacted>
    carport_cctv_low:
      - rtspx://<redacted>:7441/<redacted>?video=copy
    backyard_cctv:
      - rtspx://<redacted>:7441/<redacted>
    backyard_cctv_low:
      - rtspx://<redacted>:7441/<redacted>?video=copy
    shed_cctv:
      - rtspx://<redacted>:7441/<redacted>
    shed_cctv_low:
      - rtspx://<redacted>:7441/<redacted>?video=copy
    backdoor_cctv:
      - rtspx://<redacted>:7441/<redacted>
    backdoor_cctv_low:
      - rtspx://<redacted>:7441/<redacted>?video=copy
    garage_cctv:
      - rtspx://<redacted>:7441/<redacted>
    garage_cctv_low:
      - rtspx://<redacted>:7441/<redacted>?video=copy

detect:
  enabled: True
  fps: 5

record:
  enabled: True
  retain:
    days: 0
  events:
    retain:
      default: 14
      mode: active_objects

snapshots:
  enabled: True
  timestamp: False
  bounding_box: False
  crop: False
  retain:
    default: 14

cameras:
  doorbell_cctv:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/doorbell_cctv
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/doorbell_cctv_low
          input_args: preset-rtsp-restream
          roles:
            - detect

    detect:
      width: 960
      height: 720

    record:
      events:
        objects:
          - person
        required_zones:
          - porch

    snapshots:
      required_zones:
      - porch

    motion:
      mask:
        - 0,0,960,0,960,158,0,349

    zones:
      porch:
        coordinates: 0,720,0,469,0,349,960,326,960,720
        objects:
          - person

    objects:
      track:
        - person
      filters:
        person:
          mask:
            - 1060,341,841,294,373,273,416,0,1039,0

  doorbell_cctv_package:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/doorbell_cctv_package
          input_args: preset-rtsp-restream
          roles:
            - detect
            - record

  frontyard_cctv:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/frontyard_cctv
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/frontyard_cctv_low
          input_args: preset-rtsp-restream
          roles:
            - detect

    detect:
      width: 1280
      height: 720

    motion:
      mask:
        - 1280,0,1280,223,833,73,755,0

    zones:
      path:
        coordinates: 564,720,537,461,587,382,845,347,820,300,563,314,463,364,378,497,271,720
        objects:
          - person
      yard:
        coordinates: 203,720,243,720,460,344,607,305,790,318,796,270,679,115,555,32,315,44,261,253,0,531,0,720
        objects:
          - person
          - animal

    objects:
      track:
        - bicycle
        - animal
        - person

  carport_cctv:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/carport_cctv
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/carport_cctv_low
          input_args: preset-rtsp-restream
          roles:
            - detect

    mqtt:
      enabled: True
      timestamp: True
      bounding_box: True
      crop: True
      quality: 100

    detect:
      width: 1280
      height: 720

    record:
      events:
        objects:
          - person
          - car
        required_zones:
          - driveway
          - driveway_vehicle_left
          - driveway_vehicle_right

    snapshots:
      required_zones:
        - driveway
        - driveway_vehicle_left
        - driveway_vehicle_right

    motion:
      mask:
        - 449,0,1280,0,428,0,0,0,0,131

    zones:
      driveway:
        coordinates: 134,413,0,720,1107,720,891,81,774,70
        objects:
          - person
          - car
      driveway_vehicle_left:
        coordinates: 134,619,610,352,455,227,57,397
        objects:
          - car
      driveway_vehicle_right:
        coordinates: 57,720,925,720,1023,468,1013,395,843,367,661,345,109,624
        objects:
          - car

    objects:
      track:
        - bicycle
        - animal
        - car
        - person
      filters:
        car:
          mask:
            - 689,70,646,0,0,0,0,122,0,240
            - 1280,0,1280,720,1089,720,1043,720,998,345,901,115,1010,0

  backyard_cctv:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/backyard_cctv
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/backyard_cctv_low
          input_args: preset-rtsp-restream
          roles:
            - detect

    detect:
      width: 1280
      height: 720

    motion:
      mask:
        - 0,0,843,0,1062,252,0,325
        - 1280,720,1280,0,1098,0,1001,720

    zones:
      yard:
        coordinates: 478,456,590,369,708,270,990,231,977,356,875,467,723,720,261,720
        objects:
          - person
          - animal
      path:
        coordinates: 939,720,1012,446,1056,247,1005,252,975,376,889,458,828,590,737,720
        objects:
          - person

    objects:
      track:
        - person
        - animal

  shed_cctv:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/shed_cctv
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/shed_cctv_low
          input_args: preset-rtsp-restream
          roles:
            - detect

    detect:
      width: 1280
      height: 720

    motion:
      mask:
        - 0,229,1280,82,1280,0,564,0,0,0

    zones:
      path:
        coordinates: 1280,720,1280,255,1078,149,889,720
        objects:
          - person
      yard:
        coordinates: 349,720,296,591,199,450,144,479,0,567,0,229,235,182,663,155,1034,165,840,720
        objects:
          - person
          - animal

    objects:
      track:
        - person
        - animal

  backdoor_cctv:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/backdoor_cctv
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/backdoor_cctv_low
          input_args: preset-rtsp-restream
          roles:
            - detect

    detect:
      width: 1280
      height: 720

    motion:
      mask:
        - 0,0,670,0,0,699

    zones:
      porch:
        coordinates: 1093,720,1112,590,1159,387,1165,153,946,214,840,478,642,720
        objects:
          - person

    objects:
      track:
        - person
        - animal

  garage_cctv:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/garage_cctv
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/garage_cctv_low
          input_args: preset-rtsp-restream
          roles:
            - detect

    detect:
      width: 1280
      height: 720
      fps: 5
      stationary:
        interval: 10
        threshold: 50

    record:
      events:
        objects:
          - person
          - car
        required_zones:
          - person
          - car_left
          - car_right

    snapshots:
      required_zones:
        - car_left
        - car_right

    zones:
      person:
        coordinates: 0,720,1280,720,1280,153,0,135
        objects:
          - person

      car_left:
        coordinates: 368,156,198,193,0,376,0,590,0,720,113,720,294,720,617,720,624,517,632,422,622,200
        objects:
          - car

      car_right:
        coordinates: 1280,720,1280,651,1280,408,1224,293,1029,185,748,192,671,258,754,720
        objects:
          - car

    objects:
      track:
        - person
        - car

Relevant log output

not relevant, or not really sure which output to provide

FFprobe output from your camera

[{"return_code":0,"stderr":"","stdout":{"programs":[],"streams":[{"avg_frame_rate":"30/1","codec_long_name":"H.264/AVC/MPEG-4AVC/MPEG-4part10","height":1512,"width":2688},{"avg_frame_rate":"0/0","codec_long_name":"AAC(AdvancedAudioCoding)"}]}},{"return_code":0,"stderr":"","stdout":{"programs":[],"streams":[{"avg_frame_rate":"30/1","codec_long_name":"H.264/AVC/MPEG-4AVC/MPEG-4part10","height":720,"width":1280},{"avg_frame_rate":"0/0","codec_long_name":"AAC(AdvancedAudioCoding)"}]}}]

Frigate stats

{
  "backdoor_cctv": {
    "camera_fps": 5.1,
    "capture_pid": 1067,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 1089,
    "pid": 1027,
    "process_fps": 5.1,
    "skipped_fps": 0
  },
  "backyard_cctv": {
    "camera_fps": 5,
    "capture_pid": 1050,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 1061,
    "pid": 1024,
    "process_fps": 5,
    "skipped_fps": 0
  },
  "carport_cctv": {
    "camera_fps": 5,
    "capture_pid": 1043,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 1056,
    "pid": 1022,
    "process_fps": 5,
    "skipped_fps": 0
  },
  "cpu_usages": {
    "1": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "15": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "16": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "24": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "25": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "26": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "27": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "28": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "29": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "30": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "31": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "32": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "41": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "42": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "79": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "81": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "82": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "89": {
      "cpu": "5.3",
      "mem": "0.1"
    },
    "102": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "104": {
      "cpu": "3.7",
      "mem": "0.5"
    },
    "117": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "134": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "135": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "136": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "137": {
      "cpu": "0.0",
      "mem": "0.1"
    },
    "138": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "143": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "154": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "177": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "196": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "223": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "256": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "293": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "336": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "379": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "427": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "473": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "514": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "561": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "606": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "659": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "700": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "746": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "786": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "831": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1002": {
      "cpu": "0.0",
      "mem": "0.2"
    },
    "1008": {
      "cpu": "0.7",
      "mem": "0.0"
    },
    "1009": {
      "cpu": "0.0",
      "mem": "0.3"
    },
    "1011": {
      "cpu": "2.0",
      "mem": "0.3"
    },
    "1017": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1018": {
      "cpu": "0.7",
      "mem": "0.3"
    },
    "1019": {
      "cpu": "0.3",
      "mem": "0.3"
    },
    "1020": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1021": {
      "cpu": "0.7",
      "mem": "0.3"
    },
    "1022": {
      "cpu": "0.7",
      "mem": "0.3"
    },
    "1023": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1024": {
      "cpu": "0.3",
      "mem": "0.3"
    },
    "1025": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1026": {
      "cpu": "0.3",
      "mem": "0.3"
    },
    "1027": {
      "cpu": "0.7",
      "mem": "0.3"
    },
    "1028": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1029": {
      "cpu": "0.3",
      "mem": "0.3"
    },
    "1030": {
      "cpu": "1.0",
      "mem": "0.3"
    },
    "1031": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1034": {
      "cpu": "0.7",
      "mem": "0.3"
    },
    "1037": {
      "cpu": "10.3",
      "mem": "0.1"
    },
    "1038": {
      "cpu": "1.3",
      "mem": "0.3"
    },
    "1039": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1043": {
      "cpu": "1.0",
      "mem": "0.3"
    },
    "1046": {
      "cpu": "11.0",
      "mem": "0.1"
    },
    "1050": {
      "cpu": "1.7",
      "mem": "0.3"
    },
    "1051": {
      "cpu": "0.0",
      "mem": "0.2"
    },
    "1056": {
      "cpu": "11.0",
      "mem": "0.1"
    },
    "1058": {
      "cpu": "1.0",
      "mem": "0.3"
    },
    "1061": {
      "cpu": "11.0",
      "mem": "0.1"
    },
    "1065": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "1066": {
      "cpu": "11.0",
      "mem": "0.1"
    },
    "1067": {
      "cpu": "1.0",
      "mem": "0.3"
    },
    "1083": {
      "cpu": "1.0",
      "mem": "0.3"
    },
    "1089": {
      "cpu": "12.6",
      "mem": "0.1"
    },
    "1092": {
      "cpu": "15.6",
      "mem": "0.1"
    },
    "25137": {
      "cpu": "4.3",
      "mem": "0.2"
    },
    "25149": {
      "cpu": "1.7",
      "mem": "0.1"
    },
    "25893": {
      "cpu": "1.3",
      "mem": "0.1"
    },
    "25894": {
      "cpu": "1.3",
      "mem": "0.1"
    },
    "25895": {
      "cpu": "1.7",
      "mem": "0.1"
    },
    "25896": {
      "cpu": "1.0",
      "mem": "0.1"
    },
    "25897": {
      "cpu": "1.0",
      "mem": "0.1"
    },
    "25898": {
      "cpu": "1.3",
      "mem": "0.1"
    },
    "30922": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "30926": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "30932": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "30937": {
      "cpu": "0.0",
      "mem": "0.0"
    },
    "30943": {
      "cpu": "0.3",
      "mem": "0.1"
    },
    "%Cpu(s):": {
      "cpu": "id,",
      "mem": "0.3"
    },
    "MiB": {
      "cpu": "13243.5",
      "mem": "avail"
    },
    "PID": {
      "cpu": "%CPU",
      "mem": "%MEM"
    },
    "Tasks:": {
      "cpu": "stopped,",
      "mem": "0"
    },
    "top": {
      "cpu": "users,",
      "mem": "load"
    }
  },
  "detection_fps": 0,
  "detectors": {
    "coral": {
      "detection_start": 0,
      "inference_speed": 8.49,
      "pid": 1009
    }
  },
  "doorbell_cctv": {
    "camera_fps": 5.1,
    "capture_pid": 1030,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 1037,
    "pid": 1018,
    "process_fps": 5.1,
    "skipped_fps": 0
  },
  "doorbell_cctv_package": {
    "camera_fps": 5,
    "capture_pid": 1034,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 25137,
    "pid": 1019,
    "process_fps": 5,
    "skipped_fps": 0
  },
  "frontyard_cctv": {
    "camera_fps": 5.1,
    "capture_pid": 1038,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 1046,
    "pid": 1021,
    "process_fps": 5.1,
    "skipped_fps": 0
  },
  "garage_cctv": {
    "camera_fps": 5.1,
    "capture_pid": 1083,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 1092,
    "pid": 1029,
    "process_fps": 5.1,
    "skipped_fps": 0
  },
  "service": {
    "last_updated": 1689286981,
    "latest_version": "0.12.1",
    "storage": {
      "/dev/shm": {
        "free": 252.2,
        "mount_type": "tmpfs",
        "total": 268.4,
        "used": 16.3
      },
      "/media/frigate/clips": {
        "free": 28743481.5,
        "mount_type": "fuse.shfs",
        "total": 79994978.3,
        "used": 51251496.7
      },
      "/media/frigate/recordings": {
        "free": 28743481.5,
        "mount_type": "fuse.shfs",
        "total": 79994978.3,
        "used": 51251496.7
      },
      "/tmp/cache": {
        "free": 74.9,
        "mount_type": "tmpfs",
        "total": 100,
        "used": 25.1
      }
    },
    "temperatures": {},
    "uptime": 30896,
    "version": "0.12.1-367d724"
  },
  "shed_cctv": {
    "camera_fps": 5.1,
    "capture_pid": 1058,
    "detection_enabled": 1,
    "detection_fps": 0,
    "ffmpeg_pid": 1066,
    "pid": 1026,
    "process_fps": 5.1,
    "skipped_fps": 0
  }
}

Operating system

UNRAID

Install method

HassOS Addon

Coral version

USB

Network connection

Wired

Camera make and model

Unifi G4 Pro and Unifi G4 Instant

Any other information that may be helpful

No response

NickM-27 commented 1 year ago

you named your go2rtc stream my_camera and don't have a matching camera in the cameras section. Like the docs say, these need to match to be used in home assistant and the live view

lucasteligioridis commented 1 year ago

you named your go2rtc stream my_camera and don't have a matching camera in the cameras section. Like the docs say, these need to match to be used in home assistant and the live view

I just edited that, and modified it to correct, I just changed the camera names to be more general for this issue

NickM-27 commented 1 year ago

So the config file as it is right now is what you have? Because it is wrong

lucasteligioridis commented 1 year ago

Yeah essentially, can you help explain whats wrong please?

NickM-27 commented 1 year ago

The go2rtc stream is named my_camera and the camera in cameras is named garage_cctv. These need to match like the docs say.

lucasteligioridis commented 1 year ago

The go2rtc stream is named my_camera and the camera in cameras is named garage_cctv. These need to match like the docs say.

Sorry like I said in the early comment. I renamed the cameras before hitting post on this issue, so in reality it's named the same, it was just an error in my post. Which I've edited in the config as you can see now.

lucasteligioridis commented 1 year ago

I have about 6 cameras setup and they're all setup in this exact same way, with 2 streams for each of them, one for high quality record and the other for lower 720p for detect.

NickM-27 commented 1 year ago

I renamed the cameras before hitting post on this issue, so in reality it's named the same, it was just an error in my post

in general changing the config from what you actually have will ONLY cause confusion as you could easily be changing something that is important.

I have about 6 cameras setup and they're all setup in this exact same way, with 2 streams for each of them, one for high quality record and the other for lower 720p for detect.

so all of your cameras are called my_camera ?

Please just put the config file as you actually have it (minus passwords) so it is easy to see the actual file instead of the possibility that you edited out the problem

lucasteligioridis commented 1 year ago

Please just put the config file as you actually have it (minus passwords) so it is easy to see the actual file instead of the possibility that you edited out the problem

Done, I just redacted the sensitive information and updated both the config and the stats output directly from my system with no further editing.

NickM-27 commented 1 year ago

Okay, and do the MSE / WebRTC live views work in frigate webUI?

lucasteligioridis commented 1 year ago

Yep, all the views within Frigate work perfectly.

NickM-27 commented 1 year ago

Okay, check the frigate integration diagnostics and post them here

lucasteligioridis commented 1 year ago
diagnostics ``` { "home_assistant": { "installation_type": "Home Assistant Container", "version": "2023.7.1", "dev": false, "hassio": false, "virtualenv": false, "python_version": "3.11.4", "docker": true, "arch": "x86_64", "timezone": "Australia/Sydney", "os_name": "Linux", "os_version": "6.1.36-Unraid", "run_as_root": true }, "custom_components": { "hacs": { "version": "1.32.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "rinnaitouch": { "version": "0.12.13", "requirements": [ "pyrinnaitouch>=0.12.13" ] }, "bureau_of_meteorology": { "version": "1.1.19", "requirements": [ "iso8601" ] }, "alarmo": { "version": "v1.9.10", "requirements": [] }, "platerecognizer": { "version": "1.0.0", "requirements": [ "pillow", "requests" ] }, "ui_lovelace_minimalist": { "version": "v1.3.6", "requirements": [ "aiofiles==0.8.0", "aiogithubapi>=22.2.4" ] }, "browser_mod": { "version": "2.2.2", "requirements": [] }, "frigate": { "version": "4.0.0", "requirements": [ "pytz==2022.7" ] }, "deebot": { "version": "1.6.1", "requirements": [ "deebot-client==2.0.0", "numpy>=1.21.2" ] }, "smartir": { "version": "1.17.7", "requirements": [ "aiofiles>=0.6.0" ] }, "dwains_dashboard": { "version": "3.4.3", "requirements": [] }, "webrtc": { "version": "v3.2.1", "requirements": [] } }, "integration_manifest": { "domain": "frigate", "name": "Frigate", "codeowners": [ "@blakeblackshear" ], "config_flow": true, "dependencies": [ "http", "media_source", "mqtt" ], "documentation": "https://github.com/blakeblackshear/frigate", "iot_class": "local_push", "issue_tracker": "https://github.com/blakeblackshear/frigate-hass-integration/issues", "requirements": [ "pytz==2022.7" ], "version": "4.0.0", "is_built_in": false }, "data": { "frigate_config": { "birdseye": { "enabled": true, "height": 720, "mode": "objects", "quality": 8, "restream": false, "width": 1280 }, "cameras": { "backdoor_cctv": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 0, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 1280 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record" ] }, { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/backdoor_cctv -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/backdoor_cctv-%Y%m%d%H%M%S.mp4", "roles": [ "record" ] }, { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/backdoor_cctv_low -r 5 -s 1280x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "backdoor_cctv" }, "motion": { "contour_area": 30, "delta_alpha": 0.2, "frame_alpha": 0.2, "frame_height": 50, "improve_contrast": false, "mask": [ "0,0,670,0,0,699" ], "mqtt_off_delay": 30, "threshold": 25 }, "mqtt": { "bounding_box": true, "crop": true, "enabled": true, "height": 270, "quality": 70, "required_zones": [], "timestamp": true }, "name": "backdoor_cctv", "objects": { "filters": { "animal": { "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", "animal" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": null, "post_capture": 5, "pre_capture": 5, "required_zones": [], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [], "retain": { "default": 14, "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": { "porch": { "coordinates": "1093,720,1112,590,1159,387,1165,153,946,214,840,478,642,720", "filters": {}, "objects": [ "person" ] } } }, "backyard_cctv": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 0, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 1280 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record" ] }, { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/backyard_cctv -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/backyard_cctv-%Y%m%d%H%M%S.mp4", "roles": [ "record" ] }, { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/backyard_cctv_low -r 5 -s 1280x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "backyard_cctv" }, "motion": { "contour_area": 30, "delta_alpha": 0.2, "frame_alpha": 0.2, "frame_height": 50, "improve_contrast": false, "mask": [ "0,0,843,0,1062,252,0,325", "1280,720,1280,0,1098,0,1001,720" ], "mqtt_off_delay": 30, "threshold": 25 }, "mqtt": { "bounding_box": true, "crop": true, "enabled": true, "height": 270, "quality": 70, "required_zones": [], "timestamp": true }, "name": "backyard_cctv", "objects": { "filters": { "animal": { "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", "animal" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": null, "post_capture": 5, "pre_capture": 5, "required_zones": [], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [], "retain": { "default": 14, "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": { "path": "**REDACTED**", "yard": { "coordinates": "478,456,590,369,708,270,990,231,977,356,875,467,723,720,261,720", "filters": {}, "objects": [ "person", "animal" ] } } }, "carport_cctv": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 0, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 1280 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record" ] }, { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/carport_cctv -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/carport_cctv-%Y%m%d%H%M%S.mp4", "roles": [ "record" ] }, { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/carport_cctv_low -r 5 -s 1280x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "carport_cctv" }, "motion": { "contour_area": 30, "delta_alpha": 0.2, "frame_alpha": 0.2, "frame_height": 50, "improve_contrast": false, "mask": [ "449,0,1280,0,428,0,0,0,0,131" ], "mqtt_off_delay": 30, "threshold": 25 }, "mqtt": { "bounding_box": true, "crop": true, "enabled": true, "height": 270, "quality": 100, "required_zones": [], "timestamp": true }, "name": "carport_cctv", "objects": { "filters": { "animal": { "mask": null, "max_area": 24000000, "max_ratio": 24000000, "min_area": 0, "min_ratio": 0, "min_score": 0.5, "threshold": 0.7 }, "bicycle": { "mask": null, "max_area": 24000000, "max_ratio": 24000000, "min_area": 0, "min_ratio": 0, "min_score": 0.5, "threshold": 0.7 }, "car": { "mask": [ "689,70,646,0,0,0,0,122,0,240", "1280,0,1280,720,1089,720,1043,720,998,345,901,115,1010,0" ], "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": [ "bicycle", "animal", "car", "person" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": [ "person", "car" ], "post_capture": 5, "pre_capture": 5, "required_zones": [ "driveway", "driveway_vehicle_left", "driveway_vehicle_right" ], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [ "driveway", "driveway_vehicle_left", "driveway_vehicle_right" ], "retain": { "default": 14, "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": { "driveway": { "coordinates": "134,413,0,720,1107,720,891,81,774,70", "filters": {}, "objects": [ "person", "car" ] }, "driveway_vehicle_left": { "coordinates": "134,619,610,352,455,227,57,397", "filters": {}, "objects": [ "car" ] }, "driveway_vehicle_right": { "coordinates": "57,720,925,720,1023,468,1013,395,843,367,661,345,109,624", "filters": {}, "objects": [ "car" ] } } }, "doorbell_cctv": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 0, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 960 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record" ] }, { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/doorbell_cctv -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/doorbell_cctv-%Y%m%d%H%M%S.mp4", "roles": [ "record" ] }, { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/doorbell_cctv_low -r 5 -s 960x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "doorbell_cctv" }, "motion": { "contour_area": 30, "delta_alpha": 0.2, "frame_alpha": 0.2, "frame_height": 50, "improve_contrast": false, "mask": [ "0,0,960,0,960,158,0,349" ], "mqtt_off_delay": 30, "threshold": 25 }, "mqtt": { "bounding_box": true, "crop": true, "enabled": true, "height": 270, "quality": 70, "required_zones": [], "timestamp": true }, "name": "doorbell_cctv", "objects": { "filters": { "person": { "mask": [ "1060,341,841,294,373,273,416,0,1039,0" ], "max_area": 24000000, "max_ratio": 24000000, "min_area": 0, "min_ratio": 0, "min_score": 0.5, "threshold": 0.7 } }, "mask": "", "track": [ "person" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": [ "person" ], "post_capture": 5, "pre_capture": 5, "required_zones": [ "porch" ], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [ "porch" ], "retain": { "default": 14, "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": { "porch": { "coordinates": "0,720,0,469,0,349,960,326,960,720", "filters": {}, "objects": [ "person" ] } } }, "doorbell_cctv_package": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 0, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 1280 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record", "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/doorbell_cctv_package -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/doorbell_cctv_package-%Y%m%d%H%M%S.mp4 -r 5 -s 1280x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "record", "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "doorbell_cctv_package" }, "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": "doorbell_cctv_package", "objects": { "filters": { "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" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": null, "post_capture": 5, "pre_capture": 5, "required_zones": [], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [], "retain": { "default": 14, "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": {} }, "frontyard_cctv": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 0, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 1280 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record" ] }, { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/frontyard_cctv -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/frontyard_cctv-%Y%m%d%H%M%S.mp4", "roles": [ "record" ] }, { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/frontyard_cctv_low -r 5 -s 1280x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "frontyard_cctv" }, "motion": { "contour_area": 30, "delta_alpha": 0.2, "frame_alpha": 0.2, "frame_height": 50, "improve_contrast": false, "mask": [ "1280,0,1280,223,833,73,755,0" ], "mqtt_off_delay": 30, "threshold": 25 }, "mqtt": { "bounding_box": true, "crop": true, "enabled": true, "height": 270, "quality": 70, "required_zones": [], "timestamp": true }, "name": "frontyard_cctv", "objects": { "filters": { "animal": { "mask": null, "max_area": 24000000, "max_ratio": 24000000, "min_area": 0, "min_ratio": 0, "min_score": 0.5, "threshold": 0.7 }, "bicycle": { "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": [ "bicycle", "animal", "person" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": null, "post_capture": 5, "pre_capture": 5, "required_zones": [], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [], "retain": { "default": 14, "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": { "path": "**REDACTED**", "yard": { "coordinates": "203,720,243,720,460,344,607,305,790,318,796,270,679,115,555,32,315,44,261,253,0,531,0,720", "filters": {}, "objects": [ "person", "animal" ] } } }, "garage_cctv": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 10, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 1280 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record" ] }, { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/garage_cctv -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/garage_cctv-%Y%m%d%H%M%S.mp4", "roles": [ "record" ] }, { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/garage_cctv_low -r 5 -s 1280x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "garage_cctv" }, "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": "garage_cctv", "objects": { "filters": { "car": { "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" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": [ "person", "car" ], "post_capture": 5, "pre_capture": 5, "required_zones": [ "person", "car_left", "car_right" ], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [ "car_left", "car_right" ], "retain": { "default": 14, "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": { "car_left": { "coordinates": "368,156,198,193,0,376,0,590,0,720,113,720,294,720,617,720,624,517,632,422,622,200", "filters": {}, "objects": [ "car" ] }, "car_right": { "coordinates": "1280,720,1280,651,1280,408,1224,293,1029,185,748,192,671,258,754,720", "filters": {}, "objects": [ "car" ] }, "person": { "coordinates": "0,720,1280,720,1280,153,0,135", "filters": {}, "objects": [ "person" ] } } }, "shed_cctv": { "best_image_timeout": 60, "birdseye": { "enabled": true, "mode": "objects" }, "detect": { "enabled": true, "fps": 5, "height": 720, "max_disappeared": 25, "stationary": { "interval": 0, "max_frames": { "default": null, "objects": {} }, "threshold": 50 }, "width": 1280 }, "enabled": true, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "inputs": [ { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "record" ] }, { "global_args": [], "hwaccel_args": [], "input_args": "preset-rtsp-restream", "path": "**REDACTED**", "roles": [ "detect" ] } ], "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "ffmpeg_cmds": [ { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/shed_cctv -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v copy -ar 44100 -c:a aac /tmp/cache/shed_cctv-%Y%m%d%H%M%S.mp4", "roles": [ "record" ] }, { "cmd": "ffmpeg -hide_banner -loglevel warning -threads 2 -user_agent FFmpeg Frigate/0.12.1-367d724 -rtsp_transport tcp -timeout 5000000 -i rtsp://127.0.0.1:8554/shed_cctv_low -r 5 -s 1280x720 -threads 2 -f rawvideo -pix_fmt yuv420p pipe:", "roles": [ "detect" ] } ], "live": { "height": 720, "quality": 8, "stream_name": "shed_cctv" }, "motion": { "contour_area": 30, "delta_alpha": 0.2, "frame_alpha": 0.2, "frame_height": 50, "improve_contrast": false, "mask": [ "0,229,1280,82,1280,0,564,0,0,0" ], "mqtt_off_delay": 30, "threshold": 25 }, "mqtt": { "bounding_box": true, "crop": true, "enabled": true, "height": 270, "quality": 70, "required_zones": [], "timestamp": true }, "name": "shed_cctv", "objects": { "filters": { "animal": { "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", "animal" ] }, "record": { "enabled": true, "enabled_in_config": true, "events": { "objects": null, "post_capture": 5, "pre_capture": 5, "required_zones": [], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [], "retain": { "default": 14, "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": { "path": "**REDACTED**", "yard": { "coordinates": "349,720,296,591,199,450,144,479,0,567,0,229,235,182,663,155,1034,165,840,720", "filters": {}, "objects": [ "person", "animal" ] } } } }, "database": { "path": "**REDACTED**" }, "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": "usb", "model": { "height": 320, "input_pixel_format": "rgb", "input_tensor": "nhwc", "labelmap": {}, "labelmap_path": null, "model_type": "ssd", "path": null, "width": 320 }, "type": "edgetpu" } }, "environment_vars": {}, "ffmpeg": { "global_args": [ "-hide_banner", "-loglevel", "warning", "-threads", "2" ], "hwaccel_args": [], "input_args": "preset-rtsp-generic", "output_args": { "detect": [ "-threads", "2", "-f", "rawvideo", "-pix_fmt", "yuv420p" ], "record": "preset-record-ubiquiti", "rtmp": "preset-rtmp-generic" } }, "go2rtc": { "streams": { "backdoor_cctv": [ "rtspx://:7441/" ], "backdoor_cctv_low": [ "rtspx://:7441/?video=copy" ], "backyard_cctv": [ "rtspx://:7441/" ], "backyard_cctv_low": [ "rtspx://:7441/?video=copy" ], "carport_cctv": [ "rtspx://:7441/" ], "carport_cctv_low": [ "rtspx://:7441/?video=copy" ], "doorbell_cctv": [ "rtspx://:7441/" ], "doorbell_cctv_low": [ "rtspx://:7441/?video=copy" ], "doorbell_cctv_package": [ "rtspx://:7441/" ], "frontyard_cctv": [ "rtspx://:7441/" ], "frontyard_cctv_low": [ "rtspx://:7441/?video=copy" ], "garage_cctv": [ "rtspx://:7441/" ], "garage_cctv_low": [ "rtspx://:7441/?video=copy" ], "garage_cctv_lowest": [ "rtspx://:7441/?video=copy" ], "shed_cctv": [ "rtspx://:7441/" ], "shed_cctv_low": [ "rtspx://:7441/?video=copy" ] } }, "live": { "height": 720, "quality": 8, "stream_name": "" }, "logger": { "default": "info", "logs": {} }, "model": { "height": 320, "input_pixel_format": "rgb", "input_tensor": "nhwc", "labelmap": {}, "labelmap_path": null, "model_type": "ssd", "path": null, "width": 320 }, "motion": null, "mqtt": { "client_id": "frigate", "enabled": true, "host": "mqtt.unraid.home", "password": null, "port": 1883, "stats_interval": 60, "tls_ca_certs": null, "tls_client_cert": null, "tls_client_key": null, "tls_insecure": null, "topic_prefix": "frigate", "user": null }, "objects": { "filters": null, "mask": "", "track": [ "person" ] }, "plus": { "enabled": false }, "record": { "enabled": true, "enabled_in_config": null, "events": { "objects": null, "post_capture": 5, "pre_capture": 5, "required_zones": [], "retain": { "default": 14, "mode": "active_objects", "objects": {} } }, "expire_interval": 60, "retain": { "days": 0, "mode": "all" }, "retain_days": null }, "rtmp": { "enabled": false }, "snapshots": { "bounding_box": false, "clean_copy": true, "crop": false, "enabled": true, "height": null, "quality": 70, "required_zones": [], "retain": { "default": 14, "mode": "motion", "objects": {} }, "timestamp": false }, "telemetry": { "version_check": true }, "timestamp_style": { "color": { "blue": 255, "green": 255, "red": 255 }, "effect": null, "format": "%m/%d/%Y %H:%M:%S", "position": "tl", "thickness": 2 }, "ui": { "date_style": "short", "live_mode": "mse", "strftime_fmt": null, "time_format": "browser", "time_style": "medium", "timezone": null, "use_experimental": false } }, "frigate_stats": { "backdoor_cctv": { "camera_fps": 5.1, "capture_pid": 1067, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 1089, "pid": 1027, "process_fps": 5.1, "skipped_fps": 0 }, "backyard_cctv": { "camera_fps": 5, "capture_pid": 1050, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 1061, "pid": 1024, "process_fps": 5, "skipped_fps": 0 }, "carport_cctv": { "camera_fps": 5.1, "capture_pid": 1043, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 1056, "pid": 1022, "process_fps": 5.1, "skipped_fps": 0 }, "cpu_usages": { "%Cpu(s):": { "cpu": "id,", "mem": "0.3" }, "1": { "cpu": "0.0", "mem": "0.0" }, "1002": { "cpu": "0.0", "mem": "0.2" }, "1008": { "cpu": "0.3", "mem": "0.0" }, "1009": { "cpu": "0.0", "mem": "0.3" }, "1011": { "cpu": "1.7", "mem": "0.3" }, "1017": { "cpu": "0.0", "mem": "0.0" }, "1018": { "cpu": "0.7", "mem": "0.3" }, "1019": { "cpu": "0.3", "mem": "0.3" }, "102": { "cpu": "0.0", "mem": "0.0" }, "1020": { "cpu": "0.0", "mem": "0.0" }, "1021": { "cpu": "0.7", "mem": "0.3" }, "1022": { "cpu": "0.3", "mem": "0.3" }, "1023": { "cpu": "0.0", "mem": "0.0" }, "1024": { "cpu": "0.7", "mem": "0.3" }, "1025": { "cpu": "0.0", "mem": "0.0" }, "1026": { "cpu": "0.0", "mem": "0.3" }, "1027": { "cpu": "0.7", "mem": "0.3" }, "1028": { "cpu": "0.0", "mem": "0.0" }, "1029": { "cpu": "0.3", "mem": "0.3" }, "1030": { "cpu": "1.0", "mem": "0.3" }, "1031": { "cpu": "0.0", "mem": "0.0" }, "1034": { "cpu": "1.3", "mem": "0.3" }, "1037": { "cpu": "10.0", "mem": "0.1" }, "1038": { "cpu": "1.3", "mem": "0.3" }, "1039": { "cpu": "0.0", "mem": "0.0" }, "104": { "cpu": "2.3", "mem": "0.5" }, "1043": { "cpu": "1.3", "mem": "0.3" }, "1046": { "cpu": "10.6", "mem": "0.1" }, "1050": { "cpu": "1.0", "mem": "0.3" }, "1051": { "cpu": "0.0", "mem": "0.2" }, "1056": { "cpu": "10.3", "mem": "0.1" }, "1058": { "cpu": "1.0", "mem": "0.3" }, "1061": { "cpu": "10.3", "mem": "0.1" }, "1065": { "cpu": "0.0", "mem": "0.0" }, "1066": { "cpu": "10.6", "mem": "0.1" }, "1067": { "cpu": "1.0", "mem": "0.3" }, "1083": { "cpu": "1.0", "mem": "0.3" }, "1089": { "cpu": "13.3", "mem": "0.1" }, "1092": { "cpu": "15.0", "mem": "0.1" }, "117": { "cpu": "0.0", "mem": "0.0" }, "134": { "cpu": "0.0", "mem": "0.0" }, "135": { "cpu": "0.0", "mem": "0.0" }, "136": { "cpu": "0.0", "mem": "0.0" }, "137": { "cpu": "0.0", "mem": "0.1" }, "138": { "cpu": "0.0", "mem": "0.0" }, "143": { "cpu": "0.0", "mem": "0.0" }, "15": { "cpu": "0.0", "mem": "0.0" }, "154": { "cpu": "0.0", "mem": "0.0" }, "16": { "cpu": "0.0", "mem": "0.0" }, "177": { "cpu": "0.0", "mem": "0.0" }, "196": { "cpu": "0.0", "mem": "0.0" }, "223": { "cpu": "0.0", "mem": "0.0" }, "24": { "cpu": "0.0", "mem": "0.0" }, "25": { "cpu": "0.0", "mem": "0.0" }, "25137": { "cpu": "4.3", "mem": "0.2" }, "25149": { "cpu": "1.3", "mem": "0.1" }, "256": { "cpu": "0.0", "mem": "0.0" }, "25893": { "cpu": "1.3", "mem": "0.1" }, "25894": { "cpu": "1.3", "mem": "0.1" }, "25895": { "cpu": "1.3", "mem": "0.1" }, "25896": { "cpu": "1.3", "mem": "0.1" }, "25897": { "cpu": "1.3", "mem": "0.1" }, "25898": { "cpu": "0.7", "mem": "0.1" }, "26": { "cpu": "0.0", "mem": "0.0" }, "27": { "cpu": "0.0", "mem": "0.0" }, "28": { "cpu": "0.0", "mem": "0.0" }, "29": { "cpu": "0.0", "mem": "0.0" }, "293": { "cpu": "0.3", "mem": "0.0" }, "30": { "cpu": "0.0", "mem": "0.0" }, "31": { "cpu": "0.0", "mem": "0.0" }, "31421": { "cpu": "0.0", "mem": "0.0" }, "31460": { "cpu": "0.3", "mem": "0.0" }, "31464": { "cpu": "0.0", "mem": "0.0" }, "32": { "cpu": "0.0", "mem": "0.0" }, "336": { "cpu": "0.0", "mem": "0.0" }, "379": { "cpu": "0.0", "mem": "0.0" }, "41": { "cpu": "0.0", "mem": "0.0" }, "42": { "cpu": "0.0", "mem": "0.0" }, "427": { "cpu": "0.0", "mem": "0.0" }, "473": { "cpu": "0.0", "mem": "0.0" }, "514": { "cpu": "0.0", "mem": "0.0" }, "561": { "cpu": "0.0", "mem": "0.0" }, "606": { "cpu": "0.0", "mem": "0.0" }, "659": { "cpu": "0.0", "mem": "0.0" }, "700": { "cpu": "0.0", "mem": "0.0" }, "746": { "cpu": "0.0", "mem": "0.0" }, "786": { "cpu": "0.0", "mem": "0.0" }, "79": { "cpu": "0.0", "mem": "0.0" }, "81": { "cpu": "0.0", "mem": "0.0" }, "82": { "cpu": "0.0", "mem": "0.0" }, "831": { "cpu": "0.0", "mem": "0.0" }, "89": { "cpu": "6.3", "mem": "0.1" }, "MiB": { "cpu": "13292.0", "mem": "avail" }, "PID": { "cpu": "%CPU", "mem": "%MEM" }, "Tasks:": { "cpu": "stopped,", "mem": "0" }, "top": { "cpu": "users,", "mem": "load" } }, "detection_fps": 0, "detectors": { "coral": { "detection_start": 0, "inference_speed": 7.93, "pid": 1009 } }, "doorbell_cctv": { "camera_fps": 5, "capture_pid": 1030, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 1037, "pid": 1018, "process_fps": 5, "skipped_fps": 0 }, "doorbell_cctv_package": { "camera_fps": 5.2, "capture_pid": 1034, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 25137, "pid": 1019, "process_fps": 5.2, "skipped_fps": 0 }, "frontyard_cctv": { "camera_fps": 5, "capture_pid": 1038, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 1046, "pid": 1021, "process_fps": 5, "skipped_fps": 0 }, "garage_cctv": { "camera_fps": 5.1, "capture_pid": 1083, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 1092, "pid": 1029, "process_fps": 5.1, "skipped_fps": 0 }, "service": { "last_updated": 1689287331, "latest_version": "0.12.1", "storage": { "/dev/shm": { "free": 252.2, "mount_type": "tmpfs", "total": 268.4, "used": 16.3 }, "/media/frigate/clips": { "free": 28740635.2, "mount_type": "fuse.shfs", "total": 79994978.3, "used": 51254343.1 }, "/media/frigate/recordings": { "free": 28740635.2, "mount_type": "fuse.shfs", "total": 79994978.3, "used": 51254343.1 }, "/tmp/cache": { "free": 70.6, "mount_type": "tmpfs", "total": 100, "used": 29.4 } }, "temperatures": {}, "uptime": 31246, "version": "0.12.1-367d724" }, "shed_cctv": { "camera_fps": 5.1, "capture_pid": 1058, "detection_enabled": 1, "detection_fps": 0, "ffmpeg_pid": 1066, "pid": 1026, "process_fps": 5.1, "skipped_fps": 0 } } } } ```
NickM-27 commented 1 year ago

Okay the version looks good, in that case I would suggest checking the HA logs for errors.

lucasteligioridis commented 1 year ago

Here is an example of me opening a stream right now in HA:

2023-07-14 08:29:07.814 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
2023-07-14 08:29:37.816 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
2023-07-14 08:30:17.818 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
2023-07-14 08:31:07.820 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
2023-07-14 08:32:07.822 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
2023-07-14 08:33:17.824 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
2023-07-14 08:34:37.826 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
2023-07-14 08:36:07.828 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.backdoor_cctv] Error from stream worker: Error opening stream (ERRORTYPE_111, Connection refused) rtsp://frigate.home:8554/backdoor_cctv
lucasteligioridis commented 1 year ago

Oh my god I'm embarrassed, I think I know the issue :( nothing to do with Frigate at all

It's 100% a port issue with my reverse proxy, its not forwarding the go2rtc/stream port, just the Web UI of Frigate via port 80.

lucasteligioridis commented 1 year ago

I'll go dig into that and sorry for wasting your time!

While I have you and my config is all here, is there anything in regards to my input/output args and the way I'm using my camera streams here that is not correct (high quality for record and low for detect)? Or all looks hunky dory?

NickM-27 commented 1 year ago

Ah yeah, that will do it. and no I think it looks fine

lucasteligioridis commented 1 year ago

Great thanks mate and sorry again for time wasting!