blakeblackshear / frigate

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

[Config Support]: Reolink Doorbell Stream #9093

Closed ViezeVisNL closed 10 months ago

ViezeVisNL commented 10 months ago

Describe the problem you are having

/Edit Sorry; title missing

I am using a Reolink Doorbell via RTSP stream. However, I noticed that recordings are laggy while the stream via Reolink app is fluent. It looks like almost every second theres a frame drop.

https://github.com/blakeblackshear/frigate/assets/27589134/7d628ba1-97c7-4fe7-9157-424cbf17a211

Version

0.12.1-367D724

Frigate config file

mqtt:
  host: 192.168.***.***
  port: 1883
  topic_prefix: frigate
  client_id: frigate
  user: ***
  password: ***
  stats_interval: 60

#AI detectors
detectors:
  ov:
    type: openvino
    device: AUTO
    model:
      path: /openvino-model/ssdlite_mobilenet_v2.xml

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

#go2rtc
go2rtc:
  streams:
    reolink:
      - rtsp://admin:***@192.168.***.***:554/h264Preview_01_main
      - "ffmpeg:reolink#audio=opus"
  ffmpeg:
    bin: ffmpeg
    volume: "-af \"volume=30dB\""

#Cameras
cameras:
  reolink:
    enabled: True
    ffmpeg:
      inputs:
        #HQ stream
        - path: rtsp://admin:***@192.168.***.***:554/h264Preview_01_main
          roles:
            - record
        #LQ stream
        - path: rtsp://admin:***@192.168.***.***:554/h264Preview_01_sub
          roles:
            - detect
      output_args:
        record: preset-record-generic-audio-copy
    mqtt:
      enabled: true
      timestamp: false
      bounding_box: true
      crop: false
    motion:
      mask:
        - 333,436,351,0,0,0,0,544
        - 1280,565,1280,0,991,0,949,459
    zones:
      zone_voortuin:
        coordinates: 1280,720,1280,571,949,481,710,485,335,467,0,570,0,720

#default camera conf
objects:
  track:
    - person
  filters:
    person:
      threshold: 0.7

snapshots:
  enabled: True
  required_zones:
    - zone_voortuin
  retain:
    default: 14
    objects:
      person: 14

#record
record:
  enabled: True
  retain:
    days: 0
    mode: motion
  events:
    retain:
      default: 14
      mode: active_objects
      objects:
        person: 14
    required_zones:
      - zone_voortuin

Relevant log output

Nothing to share at this moment.

Frigate stats

No response

Operating system

HassOS

Install method

HassOS Addon

Coral version

Other

Any other information that may be helpful

Inference Speed: 35-40ms Using Openvino.

NickM-27 commented 10 months ago

You're not using the preset-rtsp-restream like the docs recommend

ViezeVisNL commented 10 months ago

Hi @NickM-27,

I've added it but theres not difference.

#Cameras
cameras:
  reolink:
    enabled: True
    ffmpeg:
      inputs:
        #HQ stream
        - path: rtsp://****:****@192.168.****.****:554/h264Preview_01_main
          input_args: preset-rtsp-restream
          roles:
            - record
        #LQ stream
        - path: rtsp://****:****@192.168.****.****:554/h264Preview_01_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
      output_args:
        record: preset-record-generic-audio-copy

I've also changed the settings as mentioned in specific camera docs: https://docs.frigate.video/configuration/camera_specific/#:~:text=On%2C%20fluency%20first,the%20frame%20rate

NickM-27 commented 10 months ago

you should be using the go2rtc stream as a source for the camera, not connecting to the camera again. The docs you linked to recommend this as well

ViezeVisNL commented 10 months ago

@NickM-27 If I understand you correctly I should NOT use rtsp in Go2RTC section, but for example the flv stream? Via Go2RTC I enable audio aswell. When I change it to FLV the audio stops working. It will break the 2-way audio for the doorbell.

#go2rtc
go2rtc:
  streams:
    reolink:
      - "ffmpeg:http://192.168.****.****/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=****&password=****#video=copy#audio=copy#audio=opus"
    reolink_sub:
      - "ffmpeg:http://192.168.****.****/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=****&password=****"

/edit However, video looks a bit smoother. Hmm.

NickM-27 commented 10 months ago

you can use http-flv and still have two way talk for the doorbell https://deploy-preview-6262--frigate-docs.netlify.app/configuration/camera_specific#reolink-doorbell

ViezeVisNL commented 10 months ago

Hey @NickM-27 Thnx again. Changed it. Seems that http-flv audio is not working via the example given. However, I added a seperate line for it (- "ffmpeg:reolink#audio=opus") to test it and that works. Can you please confirm the config? I've added the go2rtc and camera section only (to mqtt).

If config seems good now, I'll be testing upfollowing days.

#go2rtc
go2rtc:
  streams:
    reolink:
      - "ffmpeg:http://192.168.***.***/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****#video=copy#audio=copy#audio=opus"
      - rtsp://admin:****@192.168.***.***:554/h264Preview_01_sub
      - "ffmpeg:reolink#audio=opus"
    reolink_sub:
      "ffmpeg:http://192.168.***.***/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****"

#Cameras
cameras:
  reolink:
    enabled: True
    ffmpeg:
      inputs:
        #HQ stream
        - path: rtsp://admin:****@192.168.2.66:554/h264Preview_01_main
          input_args: preset-rtsp-restream
          roles:
            - record
        #LQ stream
        - path: rtsp://admin:****@192.168.2.66:554/h264Preview_01_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
      output_args:
        record: preset-record-generic-audio-copy
NickM-27 commented 10 months ago

You should be connecting to the restream not doing a separate connection to the camera

ViezeVisNL commented 10 months ago

Hey @NickM-27

I don’t get it. I changed it as the documentation now but only added the 3th line. Can you explain how my config should look like? Maybe it’s due to my understanding.

NickM-27 commented 10 months ago

In this case you want your config to look like (referring to frigate cameras section) https://deploy-preview-6262--frigate-docs.netlify.app/configuration/camera_specific/#reolink-cameras

ViezeVisNL commented 10 months ago

@NickM-27 Happy new year. Thanks for your help again.

So basically, it should be this, which is the same for Reolink Cameras + Go2rtc for 2-way audio. Right?

#go2rtc
go2rtc:
  streams:
    reolink:
      - "ffmpeg:http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****#video=copy#audio=copy#audio=opus"
      - rtsp://admin:****@192.168.2.66:554/h264Preview_01_sub
    reolink_sub:
      - "ffmpeg:http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****"

#Cameras
cameras:
  reolink:
    ffmpeg:
      inputs:
        #HQ stream
        - path: rtsp://admin:****@192.168.2.66:554/h264Preview_01_main
          input_args: preset-rtsp-restream
          roles:
            - record
        #LQ stream
        - path: rtsp://admin:****@192.168.2.66:554/h264Preview_01_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
NickM-27 commented 10 months ago

So basically, it should be this,

no, check the cameras section. you are connecting directly to the camera via rtsp, this is wrong.

compare this

cameras:
  reolink:
    ffmpeg:
      inputs:
        #HQ stream
        - path: rtsp://admin:****@192.168.2.66:554/h264Preview_01_main
          input_args: preset-rtsp-restream
          roles:
            - record
        #LQ stream
        - path: rtsp://admin:****@192.168.2.66:554/h264Preview_01_sub
          input_args: preset-rtsp-restream
          roles:
            - detect

to this

cameras:
  your_reolink_camera:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/your_reolink_camera
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/your_reolink_camera_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
ViezeVisNL commented 10 months ago

Oh fml I see now. I'll give it a go later on.. this is gonna cost me at least a few coffees for you

ViezeVisNL commented 10 months ago

Now set to this:

#go2rtc
go2rtc:
  streams:
    reolink:
      - "ffmpeg:http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****#video=copy#audio=copy#audio=opus"
      - rtsp://admin:****@192.168.2.66:554/h264Preview_01_sub
    reolink_sub:
      "ffmpeg:http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****"

#Cameras
cameras:
  reolink:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/reolink
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: rtsp://127.0.0.1:8554/reolink_sub
          input_args: preset-rtsp-restream
          roles:
            - detect

Getting an error on the reolink_sub. When commenting no errors and stream works fine. Will dive into it. Names look the same (no capital difference etc)

2024-01-01 19:25:44.789623775  [INFO] Starting Frigate...
2024-01-01 19:25:46.098941574  [2024-01-01 20:25:46] frigate.app                    INFO    : Starting Frigate (0.12.1-367d724)
2024-01-01 19:25:46.119376724  [2024-01-01 20:25:46] frigate.config                 WARNING : Customizing more than a detector model path is unsupported.
2024-01-01 19:25:46.122226094  [2024-01-01 20:25:46] frigate.app                    INFO    : Creating directory: /tmp/cache
2024-01-01 19:25:46.125211245  [2024-01-01 20:25:46] peewee_migrate                 INFO    : Starting migrations
2024-01-01 19:25:46.130575433  [2024-01-01 20:25:46] peewee_migrate                 INFO    : There is nothing to migrate
2024-01-01 19:25:46.158577349  [2024-01-01 20:25:46] frigate.app                    INFO    : Output process started: 229
2024-01-01 19:25:46.163542082  [2024-01-01 20:25:46] detector.ov                    INFO    : Starting detection process: 227
2024-01-01 19:25:46.172647802  [2024-01-01 20:25:46] frigate.app                    INFO    : Camera processor started for reolink: 231
2024-01-01 19:25:46.179165439  [2024-01-01 20:25:46] frigate.app                    INFO    : Capture process started for reolink: 232
2024-01-01 19:25:46.458213100  [2024-01-01 20:25:46] frigate.detectors.plugins.openvino INFO    : Model Input Shape: {1, 300, 300, 3}
2024-01-01 19:25:46.458216646  [2024-01-01 20:25:46] frigate.detectors.plugins.openvino INFO    : Model Output-0 Shape: {1, 1, 100, 7}
2024-01-01 19:25:46.458220542  [2024-01-01 20:25:46] frigate.detectors.plugins.openvino INFO    : Model has 1 Output Tensors
2024-01-01 19:25:48.262774096  [2024-01-01 20:25:48] frigate.video                  ERROR   : reolink: Unable to read frames from ffmpeg process.
2024-01-01 19:25:48.263416385  [2024-01-01 20:25:48] frigate.video                  ERROR   : reolink: ffmpeg process is not running. exiting capture thread...
2024-01-01 19:26:01.327890182  [2024-01-01 20:26:01] frigate.record                 ERROR   : Error occurred when attempting to maintain recording cache
2024-01-01 19:26:01.328153252  [2024-01-01 20:26:01] frigate.record                 ERROR   : list index out of range
2024-01-01 19:26:06.263925897  [2024-01-01 20:26:06] watchdog.reolink               ERROR   : Ffmpeg process crashed unexpectedly for reolink.
2024-01-01 19:26:06.264231776  [2024-01-01 20:26:06] watchdog.reolink               ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
2024-01-01 19:26:06.264922266  [2024-01-01 20:26:06] ffmpeg.reolink.detect          ERROR   : [rtsp @ 0x55f8c29aec40] method DESCRIBE failed: 404 Not Found
2024-01-01 19:26:06.264925232  [2024-01-01 20:26:06] ffmpeg.reolink.detect          ERROR   : rtsp://127.0.0.1:8554/reolink_sub: Server returned 404 Not Found

Go2RTC logs:
2024-01-01 19:41:32.353222021  20:41:32.353 WRN [rtsp] error="exec: exit status 1" stream=reolink_sub
2024-01-01 19:41:43.014311054  20:41:43.014 WRN [rtsp] error="exec: exit status 1" stream=reolink_sub
NickM-27 commented 10 months ago

let's enable go2rtc exec logs

go2rtc:
  log:
    exec: trace
  streams: ...
ViezeVisNL commented 10 months ago

@NickM-27

With reolink_sub:

2024-01-03 16:25:06.563473875  [INFO] Preparing go2rtc config...
2024-01-03 16:25:06.620000377  [INFO] Got IP address from supervisor: 192.168.2.64
2024-01-03 16:25:06.678318918  [INFO] Got WebRTC port from supervisor: 8555
2024-01-03 16:25:06.951358932  [WARN] Using go2rtc binary from '/config/go2rtc' instead of the embedded one
2024-01-03 16:25:06.951362752  [INFO] Starting go2rtc...
2024-01-03 16:25:07.049604335  17:25:07.049 INF go2rtc version 1.5.0 linux/amd64
2024-01-03 16:25:07.050094778  17:25:07.050 INF [api] listen addr=:1984
2024-01-03 16:25:07.050508995  17:25:07.050 INF [rtsp] listen addr=:8554
2024-01-03 16:25:07.051000582  17:25:07.050 INF [srtp] listen addr=:8443
2024-01-03 16:25:07.051278269  17:25:07.051 INF [webrtc] listen addr=:8555/tcp
2024-01-03 16:25:08.024961577  17:25:08.024 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:08.035287783  17:25:08.035 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****-map 0:v:0? -c:v:0 copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 libopus -ar:a:1 48000 -ac:a:1 2 -application:a:1 voip -compression_level:a:1 0 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:09.300307209  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:09.301271982  17:25:09.301 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:09.308213680  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:09.417320963  17:25:09.417 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****-map 0:v:0? -c:v:0 copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 libopus -ar:a:1 48000 -ac:a:1 2 -application:a:1 voip -compression_level:a:1 0 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:09.930098893  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:09.931165579  17:25:09.931 WRN [rtsp] error="exec: exit status 1" stream=reolink_sub
2024-01-03 16:25:10.542114118  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:16.580031605  [INFO] Starting go2rtc healthcheck service...
2024-01-03 16:25:28.041095514  17:25:28.041 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:28.743479059  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:28.744703420  17:25:28.744 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:29.380805616  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:29.381810955  17:25:29.381 WRN [rtsp] error="exec: exit status 1" stream=reolink_sub
2024-01-03 16:25:38.050742174  17:25:38.050 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:38.775397050  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:38.776395218  17:25:38.776 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:25:39.407330267  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:25:39.408445298  17:25:39.408 WRN [rtsp] error="exec: exit status 1" stream=reolink_sub

Reolink_sub commented:

2024-01-03 16:28:25.047878012  Input #0, rtsp, from 'rtsp://127.0.0.1:8554/reolink?audio':
2024-01-03 16:28:25.047880902    Metadata:
2024-01-03 16:28:25.047882327      title           : go2rtc/1.5.0
2024-01-03 16:28:25.047883761    Duration: N/A, start: 0.000000, bitrate: N/A
2024-01-03 16:28:25.047885092    Stream #0:0: Audio: aac (LC), 16000 Hz, mono, fltp
2024-01-03 16:28:25.049092292  Stream mapping:
2024-01-03 16:28:25.049094947    Stream #0:0 -> #0:0 (aac (native) -> opus (libopus))
2024-01-03 16:28:25.049096315  Press [q] to stop, [?] for help
2024-01-03 16:28:25.116825280  [libopus @ 0x558b2a9d0040] No bit rate set. Defaulting to 96000 bps.
2024-01-03 16:28:25.161051668  17:28:25.160 DBG [exec] run launch=2.365526591s
2024-01-03 16:28:25.161055249  Output #0, rtsp, to 'rtsp://127.0.0.1:8554/8cd23ca5fe32c50a27d5aa7ede7f0d80':
2024-01-03 16:28:25.161056499    Metadata:
2024-01-03 16:28:25.161057839      title           : go2rtc/1.5.0
2024-01-03 16:28:25.161059091      encoder         : Lavf59.27.100
2024-01-03 16:28:25.161060475    Stream #0:0: Audio: opus, 48000 Hz, stereo, flt, 96 kb/s
2024-01-03 16:28:25.161061550      Metadata:
2024-01-03 16:28:25.161062779        encoder         : Lavc59.37.100 libopus
2024-01-03 16:28:25.309477922  size=N/A time=00:00:00.12 bitrate=N/A speed=N/A    
[libopus @ 0x558b2a9d0040] Queue input is backward in time
2024-01-03 16:28:25.627124268  17:28:25.627 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****-map 0:v:0? -c:v:0 copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 libopus -ar:a:1 48000 -ac:a:1 2 -application:a:1 voip -compression_level:a:1 0 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:28:26.258602598  size=N/A time=00:00:00.62 bitrate=N/A speed= 1.2x    
size=N/A time=00:00:01.13 bitrate=N/A speed=1.11x    
http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:28:26.260018306  17:28:26.259 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****-map 0:v:0? -c:v:0 copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 libopus -ar:a:1 48000 -ac:a:1 2 -application:a:1 voip -compression_level:a:1 0 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-03 16:28:26.907946933  size=N/A time=00:00:01.64 bitrate=N/A speed=1.07x    
http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-03 16:28:27.926899732  size=N/A time=00:00:02.16 bitrate=N/A speed=1.06x    
size=N/A time=00:00:02.68 bitrate=N/A speed=1.04x    
NickM-27 commented 10 months ago

What is the firmware version of the doorbell?

ViezeVisNL commented 10 months ago

@NickM-27

Hardware No: DB_566128M5MP_W Config Version: v3.0.0.0 Firmware Version: v3.0.0.2033_23041300

WiFi version.

ViezeVisNL commented 10 months ago

Let me know If I need to test something else. Or change something.

NickM-27 commented 10 months ago

I would suggest updating to use go2rtc 1.8.5

ViezeVisNL commented 10 months ago

@NickM-27 Done so:

Go2rtc logs

(2024-01-05 13:37:14.096426373  14:37:14.096 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****-map 0:v:0? -c:v:0 copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 libopus -application:a:1 lowdelay -min_comp 0 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-05 13:37:14.731748601  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-05 13:37:14.732795365  14:37:14.732 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -timeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_flags prefer_tcp -i rtsp://127.0.0.1:8554/reolink?audio -c:a libopus -application:a lowdelay -min_comp 0 -vn -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-05 13:37:14.739333162  14:37:14.739 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****-map 0:v:0? -c:v:0 copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 libopus -application:a:1 lowdelay -min_comp 0 -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-05 13:37:15.382046865  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****: Invalid data found when processing input

[THIS IS WHERE I OPENED THE FRIGATE CARD STREAM]
2024-01-05 13:37:15.399350148  Input #0, rtsp, from 'rtsp://127.0.0.1:8554/reolink?audio':
2024-01-05 13:37:15.399353158    Metadata:
2024-01-05 13:37:15.399354716      title           : go2rtc/1.8.5
2024-01-05 13:37:15.399356151    Duration: N/A, start: 0.000000, bitrate: N/A
2024-01-05 13:37:15.399357413    Stream #0:0: Audio: aac (LC), 16000 Hz, mono, fltp
2024-01-05 13:37:15.400707037  Stream mapping:
2024-01-05 13:37:15.400739757    Stream #0:0 -> #0:0 (aac (native) -> opus (libopus))
2024-01-05 13:37:15.400741407  Press [q] to stop, [?] for help
2024-01-05 13:37:15.460119516  [libopus @ 0x55e96df82000] No bit rate set. Defaulting to 64000 bps.
2024-01-05 13:37:15.505692322  14:37:15.502 DBG [exec] run launch=770.049903ms
2024-01-05 13:37:15.505696194  Output #0, rtsp, to 'rtsp://127.0.0.1:8554/8efce70fb7cc03bf1c0de63b66c0474e':
2024-01-05 13:37:15.505697527    Metadata:
2024-01-05 13:37:15.505698921      title           : go2rtc/1.8.5
2024-01-05 13:37:15.505700201      encoder         : Lavf59.27.100
2024-01-05 13:37:15.505701488    Stream #0:0: Audio: opus, 16000 Hz, mono, flt, 64 kb/s
2024-01-05 13:37:15.505702566      Metadata:
2024-01-05 13:37:15.505736883        encoder         : Lavc59.37.100 libopus
2024-01-05 13:37:16.664637588  size=N/A time=00:00:00.11 bitrate=N/A speed=N/A )

2024-01-05 13:40:18.118016765  14:40:18.117 WRN [rtsp] error="streams: exec: exit status 1" stream=reolink_sub
2024-01-05 13:40:26.817692737  14:40:26.817 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-05 13:40:27.439277166  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-05 13:40:27.440181278  14:40:27.440 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-05 13:40:28.067487096  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input
2024-01-05 13:40:28.068203538  14:40:28.068 WRN [rtsp] error="streams: exec: exit status 1" stream=reolink_sub
2024-01-05 13:40:36.825372082  14:40:36.825 DBG [exec] run url="exec:ffmpeg -hide_banner -fflags nobuffer -flags low_delay -i http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****-c copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp {output}"
2024-01-05 13:40:37.442277509  http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****: Invalid data found when processing input

Frigate logs:

2024-01-05 13:41:21.726356264  [2024-01-05 14:41:21] frigate.record                 ERROR   : Error occurred when attempting to maintain recording cache
2024-01-05 13:41:21.726619266  [2024-01-05 14:41:21] frigate.record                 ERROR   : list index out of range
2024-01-05 13:41:26.703457216  [2024-01-05 14:41:26] frigate.record                 ERROR   : Error occurred when attempting to maintain recording cache
2024-01-05 13:41:26.703995310  [2024-01-05 14:41:26] frigate.record                 ERROR   : list index out of range
2024-01-05 13:41:26.853166887  [2024-01-05 14:41:26] watchdog.reolink               ERROR   : Ffmpeg process crashed unexpectedly for reolink.
2024-01-05 13:41:26.853586751  [2024-01-05 14:41:26] watchdog.reolink               ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
2024-01-05 13:41:26.853589625  [2024-01-05 14:41:26] ffmpeg.reolink.detect          ERROR   : [rtsp @ 0x564149d34c40] method DESCRIBE failed: 404 Not Found
2024-01-05 13:41:26.853591441  [2024-01-05 14:41:26] ffmpeg.reolink.detect          ERROR   : rtsp://127.0.0.1:8554/reolink_sub: Server returned 404 Not Found
2024-01-05 13:41:28.141263295  [2024-01-05 14:41:28] frigate.video                  ERROR   : reolink: Unable to read frames from ffmpeg process.
2024-01-05 13:41:28.141518037  [2024-01-05 14:41:28] frigate.video                  ERROR   : reolink: ffmpeg process is not running. exiting capture thread...
2024-01-05 13:41:31.703641651  [2024-01-05 14:41:31] frigate.record                 WARNING : Unable to keep up with recording segments in cache for reolink. Keeping the 5 most recent segments out of 6 and discarding the rest...
NickM-27 commented 10 months ago

okay let's try this as a config

#go2rtc
go2rtc:
  streams:
    reolink:
      - "ffmpeg:http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****#video=copy#audio=copy#audio=opus"
      - rtsp://admin:****@192.168.2.66:554/h264Preview_01_sub

#Cameras
cameras:
  reolink:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/reolink
          input_args: preset-rtsp-restream
          roles:
            - record
        - path: http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****
          input_args: preset-http-reolink
          roles:
            - detect
ViezeVisNL commented 10 months ago

@NickM-27 I downloaded the Reolink Windows tool and tried enabling RTMP and HTTP for a bit and that seems to be working fine now. I thought I did already via web interface. I assume at least RTMP needs to be enabled to allow connection via the port 1935 correct?

So the latest config is now this:

mqtt:
  host: 192.168.2.64
  port: 1883
  topic_prefix: frigate
  client_id: frigate
  user: mqtt-user
  password: ****
  stats_interval: 60

#AI detectors
detectors:
  ov:
    type: openvino
    device: AUTO
    model:
      path: /openvino-model/ssdlite_mobilenet_v2.xml

model:
  width: 300
  height: 300
  input_tensor: nhwc
  input_pixel_format: bgr
  labelmap_path: /openvino-model/coco_91cl_bkgr.txt

#go2rtc
go2rtc:
  log:
      exec: trace
  streams:
    reolink:
      - "ffmpeg:http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_main.bcs&user=admin&password=****#video=copy#audio=copy#audio=opus"
      - rtsp://admin:****@192.168.2.66:554/h264Preview_01_sub
      #- rtsp://admin:****@192.168.2.66:554/h264Preview_01_main
      - "ffmpeg:reolink#audio=opus"
    reolink_sub:
      - "ffmpeg:http://192.168.2.66/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user=admin&password=****"
  #ffmpeg:
    #bin: ffmpeg
    #volume: "-af \"volume=30dB\""

#Cameras
cameras:
  reolink:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/reolink
          input_args: preset-rtsp-restream
          roles:
            - record
#            - detect
        - path: rtsp://127.0.0.1:8554/reolink_sub
          input_args: preset-rtsp-restream
          roles:
            - detect
      output_args:
        record: preset-record-generic-audio-copy
    mqtt:
      enabled: true
      timestamp: false
      bounding_box: true
      crop: false
    motion:
      mask:
        - 333,436,351,0,0,0,0,544
        - 1280,565,1280,0,991,0,949,459
    zones:
      zone_voortuin:
        coordinates: 1280,720,1280,571,949,481,710,485,335,467,0,570,0,720

#default camera conf
objects:
  track:
    - person
  filters:
    person:
      threshold: 0.7

snapshots:
  enabled: True
  required_zones:
    - zone_voortuin
  retain:
    default: 14
    objects:
      person: 14

#record
record:
  enabled: True
  retain:
    days: 0
    mode: motion
  events:
    retain:
      default: 14
      mode: active_objects
      objects:
        person: 14
    required_zones:
      - zone_voortuin
NickM-27 commented 10 months ago

some users have had to have it enabled, mine works without it

NickM-27 commented 10 months ago

anyway, glad to hear it is working. I'll close this issue and feel free to create a new issue if something comes up