Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot see clips or recordings in Home Assistant non .io version #387

Closed
meteosat007 opened this issue Dec 16, 2020 · 9 comments
Closed

Comments

@meteosat007
Copy link

meteosat007 commented Dec 16, 2020

I have this release which runs fine and detects and sends snapshots into HA, sends in events etc too.

I use docker file below to run with local paths for media and these are empty apart from the frigate.db in the clips folder.

docker run --rm --name frigate --privileged --mount type=tmpfs,target=/tmp/cache,tmpfs-size=100000000 -v /dev/bus/usb:/dev/bus/usb -v /home/pi/frigate/clips:/media/frigate/clips -v /home/pi/frigate/recordings:/media/frigate/recordings -v /home/pi/frigate/config:/config:ro -v /etc/localtime:/etc/localtime:ro -e FRIGATE_RTSP_PASSWORD='meteosat007' -p 5000:5000 -p 1935:1935 blakeblackshear/frigate:0.8.0-beta1-aarch64

I can see MQTT events going out but no clips or recordings.

image

I see no errors with debug and info on the ffmpg streams.

ffmpeg.hose_camera.detect ERROR : frame=23908 fps= 20 q=-1.0 q=-0.0 size= 26985kB time=00:19:55.41 bitrate= 184.9kbits/s dup=0 drop=17911 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23919 fps= 20 q=-1.0 q=-0.0 size= 27024kB time=00:19:55.97 bitrate= 185.1kbits/s dup=0 drop=17919 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23930 fps= 20 q=-1.0 q=-0.0 size= 27025kB time=00:19:56.49 bitrate= 185.0kbits/s dup=0 drop=17928 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23940 fps= 20 q=-1.0 q=-0.0 size= 27026kB time=00:19:57.01 bitrate= 185.0kbits/s dup=0 drop=17935 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23951 fps= 20 q=-1.0 q=-0.0 size= 27028kB time=00:19:57.57 bitrate= 184.9kbits/s dup=0 drop=17943 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23962 fps= 20 q=-1.0 q=-0.0 size= 27029kB time=00:19:58.09 bitrate= 184.8kbits/s dup=0 drop=17952 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23972 fps= 20 q=-1.0 q=-0.0 size= 27068kB time=00:19:58.61 bitrate= 185.0kbits/s dup=0 drop=17959 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23983 fps= 20 q=-1.0 q=-0.0 size= 27069kB time=00:19:59.17 bitrate= 184.9kbits/s dup=0 drop=17967 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=23994 fps= 20 q=-1.0 q=-0.0 size= 27071kB time=00:19:59.69 bitrate= 184.9kbits/s dup=0 drop=17976 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=24004 fps= 20 q=-1.0 q=-0.0 size= 27072kB time=00:20:00.21 bitrate= 184.8kbits/s dup=0 drop=17983 speed= 1x
peewee DEBUG : ('SELECT DISTINCT "t1"."label" FROM "event" AS "t1" WHERE ("t1"."camera" NOT IN (?))', ['hose_camera'])
peewee DEBUG : ('SELECT DISTINCT "t1"."label" FROM "event" AS "t1" WHERE ("t1"."camera" = ?)', ['hose_camera'])
ffmpeg.hose_camera.detect ERROR : frame=24015 fps= 20 q=-1.0 q=-0.0 size= 27073kB time=00:20:00.77 bitrate= 184.7kbits/s dup=0 drop=17991 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=24026 fps= 20 q=-1.0 q=-0.0 size= 27113kB time=00:20:01.29 bitrate= 184.9kbits/s dup=0 drop=18000 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=24036 fps= 20 q=-1.0 q=-0.0 size= 27114kB time=00:20:01.81 bitrate= 184.8kbits/s dup=0 drop=18007 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=24047 fps= 20 q=-1.0 q=-0.0 size= 27115kB time=00:20:02.37 bitrate= 184.7kbits/s dup=0 drop=18015 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=24058 fps= 20 q=-1.0 q=-0.0 size= 27117kB time=00:20:02.89 bitrate= 184.7kbits/s dup=0 drop=18024 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=24068 fps= 20 q=-1.0 q=-0.0 size= 27156kB time=00:20:03.41 bitrate= 184.9kbits/s dup=0 drop=18031 speed= 1x
ffmpeg.hose_camera.detect ERROR : frame=24079 fps= 20 q=-1.0 q=-0.0 size= 27157kB time=00:20:03.97 bitrate= 184.8kbits/s dup=0 drop=18039 speed= 1x

Extract after starting the docker container.

  • Starting nginx nginx
    ...done.
    peewee DEBUG : ('CREATE TABLE IF NOT EXISTS "event" ("id" VARCHAR(30) NOT NULL PRIMARY KEY, "label" VARCHAR(20) NOT NULL, "camera" VARCHAR(20) NOT NULL, "start_time" DATETIME NOT NULL, "end_time" DATETIME NOT NULL, "top_score" REAL NOT NULL, "false_positive" INTEGER NOT NULL, "zones" JSON NOT NULL, "thumbnail" TEXT NOT NULL)', [])
    peewee DEBUG : ('CREATE INDEX IF NOT EXISTS "event_label" ON "event" ("label")', [])
    peewee DEBUG : ('CREATE INDEX IF NOT EXISTS "event_camera" ON "event" ("camera")', [])
    detector.coral INFO : Starting detection process: 35
    frigate.app INFO : Camera processor started for hose_camera: 38
    frigate.app INFO : Capture process started for hose_camera: 39
    frigate.edgetpu INFO : Attempting to load TPU as usb
    frigate.edgetpu INFO : No EdgeTPU detected. Falling back to CPU.
    ffmpeg.hose_camera.detect ERROR : Input #0, rtsp, from 'rtsp://admin:[email protected]:554/Streaming/Channels/101/':
    ffmpeg.hose_camera.detect ERROR : Metadata:
    ffmpeg.hose_camera.detect ERROR : title : Media Presentation
    ffmpeg.hose_camera.detect ERROR : Duration: N/A, start: 1608141115.579678, bitrate: N/A
    ffmpeg.hose_camera.detect ERROR : Stream #0:0: Video: h264, yuvj420p(pc, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 20 fps, 25 tbr, 90k tbn, 40 tbc
    ffmpeg.hose_camera.detect ERROR : [h264_v4l2m2m @ 0x55c3557b40] Using device /dev/video10
    ffmpeg.hose_camera.detect ERROR : [h264_v4l2m2m @ 0x55c3557b40] driver 'bcm2835-codec' on card 'bcm2835-codec-decode' in mplane mode
    ffmpeg.hose_camera.detect ERROR : [h264_v4l2m2m @ 0x55c3557b40] requesting formats: output=H264 capture=YU12
    ffmpeg.hose_camera.detect ERROR : Output #0, flv, to 'rtmp://127.0.0.1/live/hose_camera':
    ffmpeg.hose_camera.detect ERROR : Metadata:
    ffmpeg.hose_camera.detect ERROR : title : Media Presentation
    ffmpeg.hose_camera.detect ERROR : encoder : Lavf58.45.100
    ffmpeg.hose_camera.detect ERROR : Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuvj420p(pc, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 20 fps, 25 tbr, 1k tbn, 90k tbc
    ffmpeg.hose_camera.detect ERROR : Stream mapping:
    ffmpeg.hose_camera.detect ERROR : Stream #0:0 -> #0:0 (copy)
    ffmpeg.hose_camera.detect ERROR : Stream #0:0 -> Regions #1:0 (h264 (h264_v4l2m2m) -> rawvideo (native))
    ffmpeg.hose_camera.detect ERROR : Press [q] to stop, [?] for help
    ffmpeg.hose_camera.detect ERROR : Output Regions #1, rawvideo, to 'pipe:':
    ffmpeg.hose_camera.detect ERROR : Metadata:
    ffmpeg.hose_camera.detect ERROR : title : Media Presentation
    ffmpeg.hose_camera.detect ERROR : encoder : Lavf58.45.100
    ffmpeg.hose_camera.detect ERROR : Stream Regions #1:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, q=2-31, 55296 kb/s, 5 fps, 5 tbn, 5 tbc
    ffmpeg.hose_camera.detect ERROR : Metadata:
    ffmpeg.hose_camera.detect ERROR : encoder : Lavc58.91.100 rawvideo
    ffmpeg.hose_camera.detect ERROR : frame= 34 fps=0.0 q=-1.0 q=-0.0 size= 89kB time=00:00:01.65 bitrate= 442.1kbits/s dup=0 drop=6 speed=3.28x
    ffmpeg.hose_camera.detect ERROR : frame= 44 fps= 43 q=-1.0 q=-0.0 size= 92kB time=00:00:02.17 bitrate= 348.7kbits/s dup=0 drop=13 speed= 2.1x
    ffmpeg.hose_camera.detect ERROR : frame= 55 fps= 35 q=-1.0 q=-0.0 size= 165kB time=00:00:02.73 bitrate= 494.9kbits/s dup=0 drop=22 speed=1.73x
    ffmpeg.hose_camera.detect ERROR : frame= 66 fps= 31 q=-1.0 q=-0.0 size= 169kB time=00:00:03.25 bitrate= 426.3kbits/s dup=0 drop=30 speed=1.55x
    ffmpeg.hose_camera.detect ERROR : frame= 76 fps= 29 q=-1.0 q=-0.0 size= 173kB time=00:00:03.77 bitrate= 376.1kbits/s dup=0 drop=37 speed=1.43x
    ffmpeg.hose_camera.detect ERROR : frame= 87 fps= 27 q=-1.0 q=-0.0 size= 177kB time=00:00:04.33 bitrate= 333.8kbits/s dup=0 drop=46 speed=1.36x
    ffmpeg.hose_camera.detect ERROR : frame= 98 fps= 26 q=-1.0 q=-0.0 size= 179kB time=00:00:04.85 bitrate= 302.8kbits/s dup=0 drop=54 speed=1.31x
    ffmpeg.hose_camera.detect ERROR : frame= 108 fps= 25 q=-1.0 q=-0.0 size= 252kB time=00:00:05.37 bitrate= 383.6kbits/s dup=0 drop=61 speed=1.27x
    ffmpeg.hose_camera.detect ERROR : frame= 119 fps= 25 q=-1.0 q=-0.0 size= 254kB time=00:00:05.93 bitrate= 350.7kbits/s dup=0 drop=70 speed=1.24x
    ffmpeg.hose_camera.detect ERROR : frame= 130 fps= 25 q=-1.0 q=-0.0 size= 258kB time=00:00:06.45 bitrate= 327.6kbits/s dup=0 drop=78 speed=1.22x
    ffmpeg.hose_camera.detect ERROR : frame= 140 fps= 24 q=-1.0 q=-0.0 size= 261kB time=00:00:06.97 bitrate= 306.8kbits/s dup=0 drop=85 speed=1.19x
    ffmpeg.hose_camera.detect ERROR : frame= 151 fps= 24 q=-1.0 q=-0.0 size= 332kB time=00:00:07.53 bitrate= 360.9kbits/s dup=0 drop=94 speed=1.18x
    ffmpeg.hose_camera.detect ERROR : frame= 162 fps= 23 q=-1.0 q=-0.0 size= 335kB time=00:00:08.05 bitrate= 340.6kbits/s dup=0 drop=102 speed=1.17x

In HA under the media browser I can see frigate group and within it clips and recordings folders but never any clips.

Config.yml

logger:
  # Optional: default log level (default: shown below)
  default: info
  # Optional: module by module log level configuration
  logs:
    frigate.mqtt: error

mqtt:
  # Required: host name
  host: 192.168.1.6
  # Optional: port (default: shown below)
  port: 1883
  # Optional: topic prefix (default: shown below)
  topic_prefix: frigate
  # Optional: client id (default: shown below
  client_id: frigate
  # Optional: user
  user: sullivan
  # Optional: password
  password: xxxxx

save_clips:
  # Optional: Maximum length of time to retain video during long events. (default: shown below)
  # NOTE: If an object is being tracked for longer than this amount of time, the cache
  #       will begin to expire and the resulting clip will be the last x seconds of the event.
  max_seconds: 300
  # Optional: Retention settings for clips (default: shown below)
  retain:
    # Required: Default retention days (default: shown below)
    default: 10
    # Optional: Per object retention days
    objects:
      person: 15

objects:
  track:
    - person
    - car
    - truck
    - cat
  filters:
    person:
      min_area: 5000
      max_area: 100000
      min_score: 0.5
      threshold: 0.7

cameras:
  hose_camera:
    ffmpeg:
      inputs:
        - path: rtsp://admin:[email protected]:554/Streaming/Channels/101/
          roles:
            - detect
            - rtmp
    width: 1280
    height: 720
    fps: 8
    best_image_timeout: 60
    save_clips:
      # Required: enables clips for the camera (default: shown below)
      enabled: True
      # Optional: Number of seconds before the event to include in the clips (default: shown below)
      pre_capture: 30
      # Optional: Objects to save clips for. (default: all tracked objects)
      objects:
        - person
        - car
        - truck
        - cat
      # Optional: Camera override for retention settings (default: global values)
      retain:
        # Required: Default retention days (default: shown below)
        default: 10
        # Optional: Per object retention days
        objects:
          person: 15
    record:
      # Optional: Enable recording (default: global setting)
      enabled: True
      # Optional: Number of days to retain (default: global setting)
      retain_days: 30
    
    # Optional: RTMP re-stream configuration
    rtmp:
      # Required: Enable the live stream (default: True)
      enabled: True

    snapshots:
      # Optional: print a timestamp on the snapshots (default: shown below)
      show_timestamp: True
      # Optional: draw zones on the debug mjpeg feed (default: shown below)
      draw_zones: False
      # Optional: draw bounding boxes on the mqtt snapshots (default: shown below)
      draw_bounding_boxes: True
      # Optional: crop the snapshot to the detection region (default: shown below)
      crop_to_region: True
      # Optional: height to resize the snapshot to (default: shown below)
      # NOTE: 175px is optimized for thumbnails in the homeassistant media browser
      height: 175

ffmpeg:
  # Optional: global ffmpeg args (default: shown below)
  global_args: -hide_banner -loglevel fatal
  # Optional: global hwaccel args (default: shown below)
  # NOTE: See hardware acceleration docs for your specific device
  hwaccel_args:
    - -c:v
    - h264_v4l2m2m
  # Optional: global input args (default: shown below)
  input_args: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1
  # Optional: global output args
  output_args:
    # Optional: output args for detect streams (default: shown below)
    detect: -f rawvideo -pix_fmt yuv420p
    # Optional: output args for record streams (default: shown below)
    record: -f segment -segment_time 60 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
    # Optional: output args for clips streams (default: shown below)
    clips: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
    # Optional: output args for rtmp streams (default: shown below)
    rtmp: -c copy -f flv

Have searched open issues and Google but nothing pops up. So I look to your guidance.

Alan

@blakeblackshear
Copy link
Owner

You don't have the clips or record roles assigned to an input.

cameras:
  hose_camera:
    ffmpeg:
      inputs:
        - path: rtsp://admin:[email protected]:554/Streaming/Channels/101/
          roles:
            - detect
            - rtmp
            - clips
            - record
    width: 1280
    height: 720
    fps: 8

@meteosat007
Copy link
Author

meteosat007 commented Dec 16, 2020 via email

@blakeblackshear
Copy link
Owner

I did add a warning message for the next beta, and I will include this with a bunch of other clarifications in the docs.

@meteosat007
Copy link
Author

meteosat007 commented Dec 16, 2020 via email

@dvbit
Copy link

dvbit commented Dec 18, 2020

Uhm... I added roles. still no joy

@blakeblackshear
Copy link
Owner

Uhm... I added roles. still no joy

@dvbit can you open a new issue and provide the information in the template so I can help figure out your issue?

@dvbit
Copy link

dvbit commented Dec 18, 2020

Hello hello,
Me dumb user. twice.
No role in camera specific configuration.
Please do highlight that roles have to be specified both in general and camera specific configs.

Thanks for the wonderful job.
IIssue closed

@dinki
Copy link

dinki commented Dec 21, 2020

Please do highlight that roles have to be specified both in general and camera specific configs.

Can you share how you set roles up in general? I am have added the roles to my camera but still no recordings.

This is what my config looks like:

mqtt:
  host: 192.168.1.24
cameras:
  front-frigate:
    ffmpeg:
      inputs:
        - path: rtsp://admin:{FRIGATE_RTSP_PASSWORD}@192.168.1.26/11
          roles:
            - detect
            - rtmp
            - clips
            - record
    width: 1280
    height: 720
    fps: 5
        # Optional: Camera level object filters config. If defined, this is used instead of the global config.
    objects:
      track:
        - person
        - car
      filters:
        car:
          min_score: 0.5
# Optional: Global configuration for saving clips
save_clips:
  # Optional: Maximum length of time to retain video during long events. (default: shown below)
  # NOTE: If an object is being tracked for longer than this amount of time, the cache
  #       will begin to expire and the resulting clip will be the last x seconds of the event.
  max_seconds: 300
  # Optional: Retention settings for clips (default: shown below)
  retain:
    # Required: Default retention days (default: shown below)
    default: 10
    # Optional: Per object retention days
    objects:
      person: 15

# Optional: Global ffmpeg args
# Args may be provided as a string or an array
# "ffmpeg" + global_args + input_args + "-i" + input + output_args
ffmpeg:
  # Optional: global ffmpeg args (default: shown below)
  global_args: -hide_banner -loglevel fatal
  # Optional: global hwaccel args (default: shown below)
  # NOTE: See hardware acceleration docs for your specific device
  hwaccel_args: []
  # Optional: global input args (default: shown below)
  input_args: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -stimeout 5000000 -use_wallclock_as_timestamps 1
  # Optional: global output args
  output_args: 
    # Optional: output args for detect streams (default: shown below)
    detect: -f rawvideo -pix_fmt yuv420p
    # Optional: output args for record streams (default: shown below)
    record: -f segment -segment_time 60 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
    # Optional: output args for clips streams (default: shown below)
    clips: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
    # Optional: output args for rtmp streams (default: shown below)
    rtmp: -c copy -f flv

# Optional: Logging configuration
logger:
  # Optional: default log level (default: shown below)
  default: debug
  # Optional: module by module log level configuration
  logs:
    frigate.mqtt: error        

I'm running on Docker with these options:

 docker run -d --name frigate-beta --privileged -v /sharedfolders/appdata/frigate-beta/cache:/tmp/cache -v /dev/bus/usb:/dev/bus/usb -v /sharedfolders/appdata/frigate-beta/:/config:ro -v /etc/localtime:/etc/localtime:ro -v /sharedfolders/media/frigate/:/media -p 5000:5000 -e FRIGATE_RTSP_PASSWORD='redacted' blakeblackshear/frigate:0.8.0-beta2-amd64

@cybertza
Copy link

blakeblackshear/frigate-hass-addons#7

Check those, i think i had a similar option
blakeblackshear/frigate-hass-addons@6768bc1

Hass.io Media Folder from remote Unraid Server

Configuration.yaml should contain the following, The folder /media can be replaced by /mnt/media in both instances if you have other integrations that rely on media.
The media source is not required if the "defualt_config:" is raised in the configuration.yaml.

homeassistant:
    media_dirs:
      media: /media
media_source:
shell_command:
  mount_cctv_media_folder: mkdir -p /media;mount -t cifs -o username=USER,password=PASSWORD,domain=WORKGROUP //tower.local/Media /mnt/media

the output of the /media should look like this:

/media/
  |->frigate
      |-> clips
      |-> recordings

So you should have joy checking your /media folder with the data if you use ssh, and then you should enable the media_dirs: and media_source: , i think my error is due to running hass for so long allready that i dont have the standard settings that a newly installed yaml file includes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants