blakeblackshear / frigate

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

[Support]: [12-RC1] Birdseye restream issues #5918

Open nledenyi opened 1 year ago

nledenyi commented 1 year ago

Describe the problem you are having

Hi,

First of all, loving the new 12-RC1 features. This ticket is related to birdseye resteam related issues, since I don't know whether they the same root cause I'm raising them in one ticket for now, but happy to separate them later if needed (or if they are go2rtc related, can raise it over there. For now I have to types of issues:

I'm running frigate on an unraid os, ryzen 3600, plenty of ram, 1050ti gpu, edge tpu usb, only unifi cameras (various models)

More details around crashing / restart: i was testing it both VLC and displaycameras. In VLC when it occurs the streams just stops and doesn't recover. Displaycameras recovers eventually. When this occurs I can load and view the birdseye in frigate's own web ui but only in mjpeg view - webrtc and mse just spins indefinitely. Switched both frigate and go2rtc into debug log level, but i see no error messages around the time when such thing happens restream_jsmpeg

restream_webrtc

More details around the image falling apart / getting corrupted: after a frigate restart, the image is good for a while, but after only just a few minutes it becomes something similar to this: restream restream_babaszoba When this happens, the image:

Version

12-RC1

Frigate config file

mqtt:
  host: <mqtt host>
  port: 1883
  user: frigate
  password: <mqtt  password>

detectors:
  coral:
    type: edgetpu
    device: usb

detect:
  fps: 5

rtmp:
  enabled: False

timestamp_style:
  position: "tr"
  format: "%Y-%m-%d %H:%M:%S"
  color:
    red: 255
    green: 255
    blue: 255
  thickness: 2

ui:
  use_experimental: false
  timezone: "Europe/Budapest"
  strftime_fmt: "%Y-%m-%d %H:%M"

logger:
  default: debug

go2rtc:
  streams:
    kapu: 
      - rtspx://<internal ip>:7441/XXXX
      - "ffmpeg:kapu#audio=opus#video=h264"
    beallo: 
      - rtspx://<internal ip>:7441/YYYY
      - "ffmpeg:beallo#audio=opus#video=h264"
    babaszoba: 
      - rtspx://<internal ip>:7441/ZZZZ
      - "ffmpeg:babaszoba#audio=opus#video=h264"
[7 more cameras like this, exact same pattern]
  webrtc:
    listen: ":8555"
  api:
    listen: ":1984"
  log:
    level: debug

cameras:
  kapu:
    objects:
      track:
        - person
        - cat
        - dog
        - car
    birdseye:
      enabled: False
    ffmpeg:
      hwaccel_args: preset-nvidia-h264
      output_args:
        record: preset-record-generic-audio-copy
      inputs:
        - path: rtsp://127.0.0.1:8554/kapu
          input_args: preset-rtsp-restream
          roles:
            - detect
  beallo:
    objects:
      track:
        - person
        - cat
        - dog
        - car
    birdseye:
      enabled: False
    ffmpeg:
      hwaccel_args: preset-nvidia-h264
      output_args:
        record: preset-record-generic-audio-copy
      inputs:
        - path: rtsp://127.0.0.1:8554/beallo
          input_args: preset-rtsp-restream
          roles:
            - detect
    detect:
      width: 1920
      height: 1080
    zones:
      beallo_zona:
        coordinates: 799,201,1685,242,1918,1077,1,1077,1,690
        objects:
          - car
      utca_zona:
        coordinates: 808,195,954,1,1617,1,1678,234
        objects:
          - car
    snapshots:
      required_zones:
        - utca_zona
  babaszoba:
    objects:
      track:
        - person
    detect:
      stationary:
        interval: 0
        threshold: 1000
    ffmpeg:
      hwaccel_args: preset-nvidia-h264
      output_args:
        record: preset-record-generic-audio-copy
      inputs:
        - path: rtsp://127.0.0.1:8554/babaszoba
          input_args: preset-rtsp-restream
          roles:
            - detect
[7 more cameras like this, exact same pattern - 10 cameras in total, but 3 are excluded from birdseye as they are displayed staticly in displaycameras and for the 4th tile I want to use birdseye]

birdseye:
  enabled: True
  quality: 5
  mode: objects
  restream: True

snapshots:
  enabled: True

Relevant log output

2023-04-05 21:48:05.871366156  frame=    1 fps=0.0 q=20.0 size=N/A time=00:00:00.00 bitrate=N/A speed=  11x    
frame=    3 fps=2.9 q=17.0 size=N/A time=00:00:00.20 bitrate=N/A speed=0.196x    
frame=    4 fps=2.0 q=16.0 size=N/A time=00:00:00.30 bitrate=N/A speed=0.149x    
frame=    5 fps=1.6 q=15.0 size=N/A time=00:00:00.40 bitrate=N/A speed=0.132x    
frame=    6 fps=1.5 q=15.0 size=N/A time=00:00:00.50 bitrate=N/A speed=0.123x    
frame=    7 fps=1.4 q=15.0 size=N/A time=00:00:00.60 bitrate=N/A speed=0.119x    
frame=    8 fps=1.3 q=15.0 size=N/A time=00:00:00.70 bitrate=N/A speed=0.115x    
frame=    9 fps=1.3 q=15.0 size=N/A time=00:00:00.80 bitrate=N/A speed=0.113x    
frame=   10 fps=1.2 q=15.0 size=N/A time=00:00:00.90 bitrate=N/A speed=0.11x    
frame=   11 fps=1.2 q=15.0 size=N/A time=00:00:01.00 bitrate=N/A speed=0.109x    
frame=   12 fps=1.2 q=15.0 size=N/A time=00:00:01.10 bitrate=N/A speed=0.108x    
frame=   13 fps=1.2 q=15.0 size=N/A time=00:00:01.20 bitrate=N/A speed=0.107x    
frame=   14 fps=1.1 q=15.0 size=N/A time=00:00:01.30 bitrate=N/A speed=0.107x    
frame=   15 fps=1.1 q=15.0 size=N/A time=00:00:01.40 bitrate=N/A speed=0.106x    
frame=   16 fps=1.1 q=15.0 size=N/A time=00:00:01.50 bitrate=N/A speed=0.105x    
frame=   17 fps=1.1 q=15.0 size=N/A time=00:00:01.60 bitrate=N/A speed=0.105x    
frame=   18 fps=1.1 q=15.0 size=N/A time=00:00:01.70 bitrate=N/A speed=0.105x    
frame=   19 fps=1.1 q=15.0 size=N/A time=00:00:01.80 bitrate=N/A speed=0.104x    
frame=   20 fps=1.1 q=15.0 size=N/A time=00:00:01.90 bitrate=N/A speed=0.104x    
frame=   21 fps=1.1 q=15.0 size=N/A time=00:00:02.00 bitrate=N/A speed=0.103x    
frame=   22 fps=1.1 q=15.0 size=N/A time=00:00:02.10 bitrate=N/A speed=0.103x    
frame=   23 fps=1.1 q=15.0 size=N/A time=00:00:02.20 bitrate=N/A speed=0.103x    
frame=   24 fps=1.1 q=15.0 size=N/A time=00:00:02.30 bitrate=N/A speed=0.103x    
frame=   25 fps=1.1 q=15.0 size=N/A time=00:00:02.40 bitrate=N/A speed=0.102x    
frame=   26 fps=1.1 q=15.0 size=N/A time=00:00:02.50 bitrate=N/A speed=0.102x    
frame=   27 fps=1.1 q=15.0 size=N/A time=00:00:02.60 bitrate=N/A speed=0.102x    
frame=   28 fps=1.1 q=15.0 size=N/A time=00:00:02.70 bitrate=N/A speed=0.102x    
frame=   29 fps=1.1 q=15.0 size=N/A time=00:00:02.80 bitrate=N/A speed=0.102x    
frame=   30 fps=1.1 q=15.0 size=N/A time=00:00:02.90 bitrate=N/A speed=0.102x    
frame=   31 fps=1.0 q=15.0 size=N/A time=00:00:03.00 bitrate=N/A speed=0.101x    
frame=   32 fps=1.0 q=15.0 size=N/A time=00:00:03.10 bitrate=N/A speed=0.101x    
frame=   33 fps=1.0 q=15.0 size=N/A time=00:00:03.20 bitrate=N/A speed=0.101x    
frame=   34 fps=1.0 q=15.0 size=N/A time=00:00:03.30 bitrate=N/A speed=0.101x    
frame=   35 fps=1.0 q=15.0 size=N/A time=00:00:03.40 bitrate=N/A speed=0.101x    
frame=   36 fps=1.0 q=15.0 size=N/A time=00:00:03.50 bitrate=N/A speed=0.101x    
frame=   37 fps=1.0 q=15.0 size=N/A time=00:00:03.60 bitrate=N/A speed=0.101x    
frame=   38 fps=1.0 q=15.0 size=N/A time=00:00:03.70 bitrate=N/A speed=0.101x    
frame=   39 fps=1.0 q=15.0 size=N/A time=00:00:03.80 bitrate=N/A speed=0.101x    
frame=   40 fps=1.0 q=15.0 size=N/A time=00:00:03.90 bitrate=N/A speed=0.101x    
frame=   41 fps=1.0 q=15.0 size=N/A time=00:00:04.00 bitrate=N/A speed=0.101x    
frame=   42 fps=1.0 q=15.0 size=N/A time=00:00:04.10 bitrate=N/A speed=0.101x    
frame=   43 fps=1.0 q=15.0 size=N/A time=00:00:04.20 bitrate=N/A speed=0.101x    
frame=   44 fps=1.0 q=15.0 size=N/A time=00:00:04.30 bitrate=N/A speed= 0.1x    
frame=   45 fps=1.0 q=15.0 size=N/A time=00:00:04.40 bitrate=N/A speed= 0.1x    
frame=   46 fps=1.0 q=15.0 size=N/A time=00:00:04.50 bitrate=N/A speed= 0.1x    
frame=   47 fps=1.0 q=15.0 size=N/A time=00:00:04.60 bitrate=N/A speed= 0.1x    
frame=   48 fps=1.0 q=15.0 size=N/A time=00:00:04.70 bitrate=N/A speed= 0.1x    
frame=   49 fps=1.0 q=15.0 size=N/A time=00:00:04.80 bitrate=N/A speed= 0.1x    
frame=   50 fps=1.0 q=15.0 size=N/A time=00:00:04.90 bitrate=N/A speed= 0.1x    
frame=   51 fps=1.0 q=12.0 size=N/A time=00:00:05.00 bitrate=N/A speed= 0.1x    
frame=   52 fps=1.0 q=16.0 size=N/A time=00:00:05.10 bitrate=N/A speed= 0.1x    
frame=   53 fps=1.0 q=16.0 size=N/A time=00:00:05.20 bitrate=N/A speed= 0.1x    
frame=   54 fps=1.0 q=15.0 size=N/A time=00:00:05.30 bitrate=N/A speed= 0.1x    
frame=   55 fps=1.0 q=15.0 size=N/A time=00:00:05.40 bitrate=N/A speed= 0.1x    
frame=   56 fps=1.0 q=15.0 size=N/A time=00:00:05.50 bitrate=N/A speed= 0.1x    
frame=   57 fps=1.0 q=15.0 size=N/A time=00:00:05.60 bitrate=N/A speed= 0.1x    
21:48:05.871 DBG [rtsp] handle=EOF
2023-04-05 21:48:05.871404216  21:48:05.871 DBG [streams] stop producer url=exec:ffmpeg -hide_banner -f rawvideo -pix_fmt yuv420p -video_size 1280x720 -r 10 -i /tmp/cache/birdseye -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -rtsp_transport tcp -f rtsp {output}
2023-04-05 21:48:05.871442866  21:48:05.871 DBG [rtsp] disconnect stream=birdseye
2023-04-05 21:48:06.166202211  21:48:06.166 DBG [rtsp] new consumer stream=birdseye
2023-04-05 21:48:06.166208421  21:48:06.166 DBG [streams] probe producer url=exec:ffmpeg -hide_banner -f rawvideo -pix_fmt yuv420p -video_size 1280x720 -r 10 -i /tmp/cache/birdseye -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -rtsp_transport tcp -f rtsp {output}
2023-04-05 21:48:06.166277540  21:48:06.166 DBG [exec] run url="exec:ffmpeg -hide_banner -f rawvideo -pix_fmt yuv420p -video_size 1280x720 -r 10 -i /tmp/cache/birdseye -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://localhost:8554/9df16074a160b6458a3ade3d834288af"
2023-04-05 21:48:06.824642597  av_interleaved_write_frame(): Broken pipe
2023-04-05 21:48:06.824703147  frame=   58 fps=1.0 q=15.0 size=N/A time=00:00:05.70 bitrate=N/A speed= 0.1x    
frame=   58 fps=1.0 q=15.0 Lsize=N/A time=00:00:05.70 bitrate=N/A speed=0.0983x    
2023-04-05 21:48:06.824710147  video:20kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
2023-04-05 21:48:06.825214815  [libx264 @ 0x55be93119f80] frame I:2     Avg QP: 3.61  size:  2718
2023-04-05 21:48:06.825217225  [libx264 @ 0x55be93119f80] frame P:56    Avg QP: 2.08  size:   261
2023-04-05 21:48:06.825233575  [libx264 @ 0x55be93119f80] mb I  I16..4: 98.2%  0.1%  1.6%
2023-04-05 21:48:06.825242005  [libx264 @ 0x55be93119f80] mb P  I16..4:  1.1%  0.0%  0.0%  P16..4:  0.2%  0.0%  0.0%  0.0%  0.0%    skip:98.7%
2023-04-05 21:48:06.825243435  [libx264 @ 0x55be93119f80] 8x8 transform intra:0.1% inter:0.0%
2023-04-05 21:48:06.825244965  [libx264 @ 0x55be93119f80] coded y,uvDC,uvAC intra: 1.1% 0.1% 0.0% inter: 0.0% 0.2% 0.0%
2023-04-05 21:48:06.825246415  [libx264 @ 0x55be93119f80] i16 v,h,dc,p: 76%  4% 20%  0%
2023-04-05 21:48:06.825247545  [libx264 @ 0x55be93119f80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 32% 21% 12%  4%  4%  2%  0% 12%
2023-04-05 21:48:06.825248675  [libx264 @ 0x55be93119f80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 27% 33%  4%  1%  2%  0%  1% 10%
2023-04-05 21:48:06.825250115  [libx264 @ 0x55be93119f80] i8c dc,h,v,p: 98%  2%  0%  0%
2023-04-05 21:48:06.825251495  [libx264 @ 0x55be93119f80] Weighted P-Frames: Y:0.0% UV:0.0%
2023-04-05 21:48:06.825261605  [libx264 @ 0x55be93119f80] kb/s:27.68
2023-04-05 21:48:06.825723053  Conversion failed!
2023-04-05 21:48:07.822931017  Input #0, rawvideo, from '/tmp/cache/birdseye':
2023-04-05 21:48:07.822935487    Duration: N/A, start: 0.000000, bitrate: 110592 kb/s
2023-04-05 21:48:07.822937057    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 110592 kb/s, 10 tbr, 10 tbn
2023-04-05 21:48:07.823189506  Stream mapping:
2023-04-05 21:48:07.823192606    Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
2023-04-05 21:48:07.823194176  Press [q] to stop, [?] for help
2023-04-05 21:48:07.824477970  [libx264 @ 0x556ab00fcf80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
2023-04-05 21:48:07.826757551  [libx264 @ 0x556ab00fcf80] profile High, level 4.1, 4:2:0, 8-bit
2023-04-05 21:48:07.826964680  [libx264 @ 0x556ab00fcf80] 264 - core 164 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=11 lookahead_threads=11 sliced_threads=1 slices=11 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=50 keyint_min=5 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
2023-04-05 21:48:07.868866491  Output #0, rtsp, to 'rtsp://localhost:8554/9df16074a160b6458a3ade3d834288af':
2023-04-05 21:48:07.868871381    Metadata:
2023-04-05 21:48:07.868872871      encoder         : Lavf59.27.100
2023-04-05 21:48:07.868874121  21:48:07.868 DBG [exec] run launch=1.702518322s
2023-04-05 21:48:07.868894941    Stream #0:021:48:07.868 DBG [streams] start producer url=exec:ffmpeg -hide_banner -f rawvideo -pix_fmt yuv420p -video_size 1280x720 -r 10 -i /tmp/cache/birdseye -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -rtsp_transport tcp -f rtsp {output}
2023-04-05 21:48:07.868896501  : Video: h264, yuv420p(progressive), 1280x720, q=2-31, 10 fps, 90k tbn
2023-04-05 21:48:07.868897641      Metadata:
2023-04-05 21:48:07.868898761        encoder         : Lavc59.37.100 libx264
2023-04-05 21:48:07.868899861      Side data:
2023-04-05 21:48:07.868901011        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
2023-04-05 21:49:05.703427578  frame=    1 fps=0.0 q=20.0 size=N/A time=00:00:00.00 bitrate=N/A speed=N/A    
frame=    3 fps=2.9 q=16.0 size=N/A time=00:00:00.20 bitrate=N/A speed=0.196x    
frame=    4 fps=2.0 q=15.0 size=N/A time=00:00:00.30 bitrate=N/A speed=0.148x    
frame=    5 fps=1.6 q=15.0 size=N/A time=00:00:00.40 bitrate=N/A speed=0.131x    
frame=    6 fps=1.5 q=15.0 size=N/A time=00:00:00.50 bitrate=N/A speed=0.123x    
frame=    7 fps=1.4 q=15.0 size=N/A time=00:00:00.60 bitrate=N/A speed=0.118x    
frame=    8 fps=1.3 q=15.0 size=N/A time=00:00:00.70 bitrate=N/A speed=0.114x    
frame=    9 fps=1.3 q=15.0 size=N/A time=00:00:00.80 bitrate=N/A speed=0.112x    
frame=   10 fps=1.2 q=15.0 size=N/A time=00:00:00.90 bitrate=N/A speed=0.11x    
frame=   11 fps=1.2 q=15.0 size=N/A time=00:00:01.00 bitrate=N/A speed=0.109x    
frame=   12 fps=1.2 q=15.0 size=N/A time=00:00:01.10 bitrate=N/A speed=0.108x    
frame=   13 fps=1.2 q=15.0 size=N/A time=00:00:01.20 bitrate=N/A speed=0.107x    
frame=   14 fps=1.1 q=15.0 size=N/A time=00:00:01.30 bitrate=N/A speed=0.106x    
frame=   15 fps=1.1 q=15.0 size=N/A time=00:00:01.40 bitrate=N/A speed=0.106x    
frame=   16 fps=1.1 q=15.0 size=N/A time=00:00:01.50 bitrate=N/A speed=0.105x    
frame=   17 fps=1.1 q=15.0 size=N/A time=00:00:01.60 bitrate=N/A speed=0.105x    
frame=   18 fps=1.1 q=15.0 size=N/A time=00:00:01.70 bitrate=N/A speed=0.104x    
frame=   19 fps=1.1 q=15.0 size=N/A time=00:00:01.80 bitrate=N/A speed=0.104x    
frame=   20 fps=1.1 q=15.0 size=N/A time=00:00:01.90 bitrate=N/A speed=0.104x    
frame=   21 fps=1.1 q=15.0 size=N/A time=00:00:02.00 bitrate=N/A speed=0.103x    
frame=   22 fps=1.1 q=15.0 size=N/A time=00:00:02.10 bitrate=N/A speed=0.103x    
frame=   23 fps=1.1 q=15.0 size=N/A time=00:00:02.20 bitrate=N/A speed=0.103x    
frame=   24 fps=1.1 q=15.0 size=N/A time=00:00:02.30 bitrate=N/A speed=0.103x    
frame=   25 fps=1.1 q=15.0 size=N/A time=00:00:02.40 bitrate=N/A speed=0.103x    
frame=   26 fps=1.1 q=15.0 size=N/A time=00:00:02.50 bitrate=N/A speed=0.102x    
frame=   27 fps=1.1 q=15.0 size=N/A time=00:00:02.60 bitrate=N/A speed=0.102x    
frame=   28 fps=1.1 q=15.0 size=N/A time=00:00:02.70 bitrate=N/A speed=0.102x    
frame=   29 fps=1.1 q=15.0 size=N/A time=00:00:02.80 bitrate=N/A speed=0.102x    
frame=   30 fps=1.1 q=15.0 size=N/A time=00:00:02.90 bitrate=N/A speed=0.102x    
frame=   31 fps=1.1 q=15.0 size=N/A time=00:00:03.00 bitrate=N/A speed=0.102x    
frame=   32 fps=1.1 q=15.0 size=N/A time=00:00:03.10 bitrate=N/A speed=0.102x    
frame=   33 fps=1.0 q=15.0 size=N/A time=00:00:03.20 bitrate=N/A speed=0.102x    
frame=   34 fps=1.0 q=15.0 size=N/A time=00:00:03.30 bitrate=N/A speed=0.102x    
frame=   35 fps=1.0 q=15.0 size=N/A time=00:00:03.40 bitrate=N/A speed=0.102x    
frame=   36 fps=1.0 q=15.0 size=N/A time=00:00:03.50 bitrate=N/A speed=0.101x    
frame=   37 fps=1.0 q=15.0 size=N/A time=00:00:03.60 bitrate=N/A speed=0.101x    
frame=   38 fps=1.0 q=15.0 size=N/A time=00:00:03.70 bitrate=N/A speed=0.101x    
frame=   39 fps=1.0 q=15.0 size=N/A time=00:00:03.80 bitrate=N/A speed=0.101x    
frame=   40 fps=1.0 q=15.0 size=N/A time=00:00:03.90 bitrate=N/A speed=0.101x    
frame=   41 fps=1.0 q=15.0 size=N/A time=00:00:04.00 bitrate=N/A speed=0.101x    
frame=   42 fps=1.0 q=15.0 size=N/A time=00:00:04.10 bitrate=N/A speed=0.101x    
frame=   43 fps=1.0 q=15.0 size=N/A time=00:00:04.20 bitrate=N/A speed=0.101x    
frame=   44 fps=1.0 q=15.0 size=N/A time=00:00:04.30 bitrate=N/A speed=0.101x    
frame=   45 fps=1.0 q=15.0 size=N/A time=00:00:04.40 bitrate=N/A speed=0.101x    
frame=   46 fps=1.0 q=15.0 size=N/A time=00:00:04.50 bitrate=N/A speed=0.101x    
frame=   47 fps=1.0 q=15.0 size=N/A time=00:00:04.60 bitrate=N/A speed=0.101x    
frame=   48 fps=1.0 q=15.0 size=N/A time=00:00:04.70 bitrate=N/A speed=0.101x    
frame=   49 fps=1.0 q=15.0 size=N/A time=00:00:04.80 bitrate=N/A speed=0.101x    
frame=   50 fps=1.0 q=15.0 size=N/A time=00:00:04.90 bitrate=N/A speed=0.101x    
frame=   51 fps=1.0 q=12.0 size=N/A time=00:00:05.00 bitrate=N/A speed=0.101x    
frame=   52 fps=1.0 q=16.0 size=N/A time=00:00:05.10 bitrate=N/A speed=0.101x    
frame=   53 fps=1.0 q=16.0 size=N/A time=00:00:05.20 bitrate=N/A speed= 0.1x    
frame=   54 fps=1.0 q=15.0 size=N/A time=00:00:05.30 bitrate=N/A speed= 0.1x    
frame=   55 fps=1.0 q=15.0 size=N/A time=00:00:05.40 bitrate=N/A speed= 0.1x    
frame=   56 fps=1.0 q=15.0 size=N/A time=00:00:05.50 bitrate=N/A speed= 0.1x    
frame=   57 fps=1.0 q=15.0 size=N/A time=00:00:05.60 bitrate=N/A speed= 0.1x    
frame=   58 fps=1.0 q=15.0 size=N/A time=00:00:05.70 bitrate=N/A speed= 0.1x    
21:49:05.703 DBG [rtsp] handle=EOF
2023-04-05 21:49:05.703521168  21:49:05.703 DBG [streams] stop producer url=exec:ffmpeg -hide_banner -f rawvideo -pix_fmt yuv420p -video_size 1280x720 -r 10 -i /tmp/cache/birdseye -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -rtsp_transport tcp -f rtsp {output}
2023-04-05 21:49:05.703598588  21:49:05.703 DBG [rtsp] disconnect stream=birdseye
2023-04-05 21:49:05.999442659  21:49:05.999 DBG [rtsp] new consumer stream=birdseye
2023-04-05 21:49:05.999463129  21:49:05.999 DBG [streams] probe producer url=exec:ffmpeg -hide_banner -f rawvideo -pix_fmt yuv420p -video_size 1280x720 -r 10 -i /tmp/cache/birdseye -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -rtsp_transport tcp -f rtsp {output}

FFprobe output from your camera

[{"return_code":0,"stderr":"","stdout":{"programs":[],"streams":[{"avg_frame_rate":"15/1","codec_long_name":"H.264/AVC/MPEG-4AVC/MPEG-4part10","height":360,"width":640},{"avg_frame_rate":"0/0","codec_long_name":"AAC(AdvancedAudioCoding)"}]}}]

Frigate stats

{"babaszoba":{"camera_fps":5.1,"capture_pid":609,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":614,"pid":589,"process_fps":5.1,"skipped_fps":0.0},"beallo":{"camera_fps":5.1,"capture_pid":604,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":610,"pid":586,"process_fps":5.1,"skipped_fps":0.0},"cpu_usages":{"%Cpu(s):":{"cpu":"id,","mem":"0.0"},"1":{"cpu":"0.0","mem":"0.0"},"112":{"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.0"},"138":{"cpu":"0.0","mem":"0.0"},"143":{"cpu":"0.0","mem":"0.0"},"1433":{"cpu":"0.7","mem":"0.0"},"1476":{"cpu":"0.0","mem":"0.0"},"1484":{"cpu":"0.0","mem":"0.0"},"1489":{"cpu":"0.0","mem":"0.0"},"1493":{"cpu":"0.0","mem":"0.0"},"15":{"cpu":"0.0","mem":"0.0"},"158":{"cpu":"0.0","mem":"0.0"},"16":{"cpu":"0.0","mem":"0.0"},"186":{"cpu":"0.0","mem":"0.0"},"218":{"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"},"260":{"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"},"303":{"cpu":"0.0","mem":"0.0"},"31":{"cpu":"0.0","mem":"0.0"},"32":{"cpu":"0.0","mem":"0.0"},"346":{"cpu":"0.0","mem":"0.0"},"41":{"cpu":"0.0","mem":"0.0"},"42":{"cpu":"0.0","mem":"0.0"},"571":{"cpu":"0.0","mem":"0.1"},"577":{"cpu":"0.3","mem":"0.0"},"578":{"cpu":"0.0","mem":"0.1"},"579":{"cpu":"2.7","mem":"0.1"},"584":{"cpu":"0.3","mem":"0.1"},"586":{"cpu":"0.3","mem":"0.1"},"587":{"cpu":"0.0","mem":"0.0"},"589":{"cpu":"0.3","mem":"0.1"},"590":{"cpu":"0.0","mem":"0.1"},"591":{"cpu":"0.0","mem":"0.0"},"592":{"cpu":"0.3","mem":"0.1"},"593":{"cpu":"0.7","mem":"0.1"},"594":{"cpu":"0.0","mem":"0.0"},"595":{"cpu":"0.7","mem":"0.1"},"596":{"cpu":"0.3","mem":"0.1"},"597":{"cpu":"0.0","mem":"0.0"},"598":{"cpu":"0.7","mem":"0.1"},"599":{"cpu":"0.0","mem":"0.1"},"600":{"cpu":"0.0","mem":"0.0"},"601":{"cpu":"1.3","mem":"0.1"},"604":{"cpu":"2.3","mem":"0.1"},"605":{"cpu":"3.0","mem":"0.1"},"607":{"cpu":"0.0","mem":"0.0"},"609":{"cpu":"1.0","mem":"0.1"},"610":{"cpu":"5.0","mem":"0.2"},"614":{"cpu":"3.0","mem":"0.1"},"615":{"cpu":"0.0","mem":"0.0"},"617":{"cpu":"1.3","mem":"0.1"},"621":{"cpu":"1.0","mem":"0.1"},"622":{"cpu":"1.0","mem":"0.1"},"625":{"cpu":"0.0","mem":"0.0"},"628":{"cpu":"1.0","mem":"0.1"},"629":{"cpu":"3.0","mem":"0.1"},"632":{"cpu":"2.7","mem":"0.1"},"633":{"cpu":"1.0","mem":"0.1"},"636":{"cpu":"3.0","mem":"0.1"},"637":{"cpu":"0.0","mem":"0.0"},"638":{"cpu":"3.0","mem":"0.1"},"639":{"cpu":"0.7","mem":"0.1"},"643":{"cpu":"3.0","mem":"0.1"},"648":{"cpu":"0.0","mem":"0.0"},"649":{"cpu":"1.3","mem":"0.1"},"652":{"cpu":"2.7","mem":"0.1"},"655":{"cpu":"0.3","mem":"0.0"},"656":{"cpu":"2.7","mem":"0.1"},"80":{"cpu":"0.0","mem":"0.0"},"81":{"cpu":"0.0","mem":"0.0"},"82":{"cpu":"0.0","mem":"0.0"},"89":{"cpu":"3.0","mem":"0.0"},"97":{"cpu":"0.0","mem":"0.0"},"98":{"cpu":"5.0","mem":"0.1"},"MiB":{"cpu":"89197.2","mem":"avail"},"PID":{"cpu":"%CPU","mem":"%MEM"},"Tasks:":{"cpu":"stopped,","mem":"0"},"top":{"cpu":"users,","mem":"load"}},"detection_fps":0.0,"detectors":{"coral":{"detection_start":0.0,"inference_speed":24.29,"pid":578}},"elokert":{"camera_fps":5.1,"capture_pid":617,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":632,"pid":590,"process_fps":5.1,"skipped_fps":0.0},"eloszoba":{"camera_fps":5.1,"capture_pid":621,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":638,"pid":592,"process_fps":5.1,"skipped_fps":0.0},"garazs":{"camera_fps":5.1,"capture_pid":622,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":629,"pid":593,"process_fps":5.1,"skipped_fps":0.0},"gpu_usages":{"NVIDIA GeForce GTX 1050 Ti":{"gpu":"5 %","mem":"16.8 %"}},"kapu":{"camera_fps":5.0,"capture_pid":601,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":605,"pid":584,"process_fps":5.0,"skipped_fps":0.0},"karam":{"camera_fps":5.1,"capture_pid":628,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":636,"pid":595,"process_fps":5.1,"skipped_fps":0.0},"kondi":{"camera_fps":5.1,"capture_pid":633,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":643,"pid":596,"process_fps":5.1,"skipped_fps":0.0},"oldalkert":{"camera_fps":5.1,"capture_pid":649,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":656,"pid":599,"process_fps":5.1,"skipped_fps":0.0},"service":{"last_updated":1680756449,"latest_version":"0.11.1","storage":{"/dev/shm":{"free":246.1,"mount_type":"tmpfs","total":268.4,"used":22.3},"/media/frigate/clips":{"free":1274041.5,"mount_type":"fuse.shfs","total":2999127.8,"used":1725086.3},"/media/frigate/recordings":{"free":1274041.5,"mount_type":"fuse.shfs","total":2999127.8,"used":1725086.3},"/tmp/cache":{"free":100.0,"mount_type":"tmpfs","total":100.0,"used":0.0}},"temperatures":{},"uptime":594,"version":"0.12.0-7d589bd"},"terasz":{"camera_fps":5.1,"capture_pid":639,"detection_enabled":1,"detection_fps":0.0,"ffmpeg_pid":652,"pid":598,"process_fps":5.1,"skipped_fps":0.0}}

Operating system

UNRAID

Install method

Docker CLI

Coral version

USB

Network connection

Wired

Camera make and model

only unifi cameras

Any other information that may be helpful

The only birdseye log in frigate's debug i found was this: 2023-04-05 21:37:40.772927068 [2023-04-05 21:37:40] frigate.output DEBUG : Clearing the birdseye frame

go2rtc's debug is quite long, i tried to find and attach the most relevant looking portion

NickM-27 commented 1 year ago

You have not set

ffmpeg:
  hwaccel_args: preset-nvidia-h264

Globally which means your cpu is being used to encode birdseye. If you set it globally then the GPU will be used and it should work much better.

I have a very similar setup and have not seen this issue with birdseye

nledenyi commented 1 year ago

Unfortunately that didn't make a difference. Added that to globally to the root level and commented it out from the individual camera nodes.

What else could I provide to diagnose this?

NickM-27 commented 1 year ago

Would need to see new logs. Also, is there a reason you are telling go2rtc to re encode your stream has h264? It seems that the original camera stream should also be h264 already

- "ffmpeg:kapu#audio=opus#video=h264"
nledenyi commented 1 year ago

yeah, the original is already in h264, addig that to go2rtc too was just part of the testing, didn't imporve nor worse the sitution, so just removed it now. Also testing the global preset-nvidia-h265 flag now just to see if it improves anything or not.

What log you'd most need, frigates debug or go2rtcs?

NickM-27 commented 1 year ago

yeah, the original is already in h264, addig that to go2rtc too was just part of the testing, didn't imporve nor worse the sitution, so just removed it now. Also testing the global preset-nvidia-h265 flag now just to see if it improves anything or not.

That would only be usable if your incoming stream is h265

What log you'd most need, frigates debug or go2rtcs?

go2rtc since that is the one doing all the actual work here. I would also suggest testing having at least one camera set to continuous mode in birdseye and see if that helps

nledenyi commented 1 year ago

so with at least one camera on continuous mode, birdseye is pretty stable - haven't experienced neither of the symptons

as soon as i removed the continuous flags, I got both a crash and a corrupted feed within like 15 minutes. Logs are here: https://gist.github.com/nledenyi/3a29011df11210e8c71caa596c1c9319

so looks like you were onto something with having at least one camera on continuous because that helped - any other info i can provide which would help you?

Thanks

nledenyi commented 1 year ago

i see 12-RC2 landed, upgraded just now, will report back if the issue still persists

nledenyi commented 1 year ago

still the same in 12-RC2 too

NickM-27 commented 1 year ago

0.12 is fully released. No changes were made related to this. It makes sense that a stream will have a harder time starting when there are no cameras running since a stream has to start on a key frame and there's not many key frames when there are no camera images to update.

Birdseye will likely be rewritten in a future version so this will be fully fixed then.

nledenyi commented 1 year ago

thanks. So should we keep this open till that? I would leave it up to you guys, I'm fine either way

Any other workaround for the time being other than having at least one camera on continuous?

NickM-27 commented 1 year ago

thanks. So should we keep this open till that? I would leave it up to you guys, I'm fine either way

Yes, that's why it's pinned

Any other workaround for the time being other than having at least one camera on continuous?

Don't think so