frigate icon indicating copy to clipboard operation
frigate copied to clipboard

[Config Support]: #backchannel=0 argument isn't being passed to go2rtc

Open conorlap opened this issue 3 years ago • 4 comments

Describe the problem you are having

Looks like the #backchannel=0 argument isn't being passed to go2rtc from the Frigate config file. I've even added ' ' around the input as I'm aware that Frigate sees # as comments.

This is causing my doorbell button press to not work.

Version

0.12.0-0dbf909

Frigate config file

cameras:
  frontdoor:
    ffmpeg:
      inputs:
        - path: 'rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0&#backchannel=0'
          roles:
            - restream
        - path: rtsp://localhost:8554/frontdoor
          roles:
            - record

Relevant log output

N/A

Frigate stats

No response

Operating system

Debian

Install method

Docker Compose

Coral version

CPU (no coral)

Any other information that may be helpful

No response

conorlap avatar Jan 11 '23 13:01 conorlap

Yeah we should probably just set that by default since frigate doesn't support 2 way talk (currently).

NickM-27 avatar Jan 11 '23 13:01 NickM-27

by the way do you have force_audio set to False? I wouldn't expect backchannel to work when using ffmpeg

NickM-27 avatar Jan 11 '23 13:01 NickM-27

Yeah I've got it set to False.

restream:
  enabled: True
  force_audio: False

conorlap avatar Jan 11 '23 13:01 conorlap

Okay thanks

NickM-27 avatar Jan 11 '23 14:01 NickM-27

Which doorbell is yours?

felipecrs avatar Jan 11 '23 23:01 felipecrs

@felipecrs Amcrest AD410

conorlap avatar Jan 11 '23 23:01 conorlap

May I ask which integration are you using to detect the button press event?

felipecrs avatar Jan 11 '23 23:01 felipecrs

Sure, the dahua one:

https://github.com/rroller/dahua

conorlap avatar Jan 11 '23 23:01 conorlap

Interesting, when I was using this integration, the button press event was extremely unreliable. Some times it didn't work, some times it took too long to detect.

I know you are not asking this, but I ended up using the Asterisk add-on and configuring the doorbell to connect to it as a SIP server. When someone presses the button, the doorbell calls a number in Asterisk, which I then configured in Asterisk to start my HA automation by using the HA API. It works 100% of the time and it's as fast as it can be.

But maybe the issues I had with the Dahua integration was because I had go2rtc with backchannel activated. Never thought on that!

felipecrs avatar Jan 11 '23 23:01 felipecrs

The dahua integration always worked well for my ad410 button presses back when I used that

NickM-27 avatar Jan 11 '23 23:01 NickM-27

I got a different doorbell though:

VTO2202F-P-S2

felipecrs avatar Jan 11 '23 23:01 felipecrs

The dahua integration always worked well for my ad410 button presses back when I used that

Maybe it's because you were not using go2rtc at that time? I was, lol

felipecrs avatar Jan 11 '23 23:01 felipecrs

The dahua integration always worked well for my ad410 button presses back when I used that

Maybe it's because you were not using go2rtc at that time? I was, lol

I was using go2rtc, I even used it with 2 way talk but I had a separate camera setup with backchannel enabled and my main stream was with backchannel disabled

NickM-27 avatar Jan 11 '23 23:01 NickM-27

So apparently I didn't notice, but apparently my AD410 stopped doing anything but recording video/audio since upgrading to go2rtc... adding #backchannel=0 did not help (although it appears its supposed to be default). Moving the stream URL out of the go2rtc section and back to the camera resolves it for me.... I'm on beta8

YBonline avatar Feb 22 '23 19:02 YBonline

So apparently I didn't notice, but apparently my AD410 stopped doing anything but recording video/audio since upgrading to go2rtc... adding #backchannel=0 did not help (although it appears its supposed to be default). Moving the stream URL out of the go2rtc section and back to the camera resolves it for me.... I'm on beta8

What do you mean "stopped doing anything but recording video/audio", what do you expect it to be doing? You should probably make your own issue with the config and logs

NickM-27 avatar Feb 22 '23 19:02 NickM-27

Responding to doorbell button presses, config changes, remote restart,, etc. Apparently the AD410, while the backchannel is active on 2 way talk, does not respond to anything at all (a known issue with it, perhaps by design). I can go ahead and make a new issue if you like, I'm probably going to spin up a separate frigate instance to try to pinpoint the issue further, so it'll probably be this weekend

YBonline avatar Feb 22 '23 19:02 YBonline

Oh, then that's definitely the backchannel issue. Most likely the config was just not correct to disable it. And backchannel is still on by default with the latest go2rtc release.

NickM-27 avatar Feb 22 '23 19:02 NickM-27

Yes, thats why I decided to comment here instead of make a new issue in the first place, beta 8 includes #5021 which disables backchannel by default?

YBonline avatar Feb 22 '23 19:02 YBonline

Yes, thats why I decided to comment here instead of make a new issue in the first place, beta 8 includes #5021 which disables backchannel by default?

That PR is not relevant anymore since beta5 which completely reworked go2rtc feature

NickM-27 avatar Feb 22 '23 19:02 NickM-27

Ok, this is my config in the go2rtc section: gp525_doorbell: - rtsp://admin:@10.10.30.30:554/cam/realmonitor?channel=1&subtype=0#backchannel=0

I'm not seeing anything relevant in the logs (which kind of makes sense, there is no error/warnings from Frigate's point of view, its just putting the doorbell into 2 way talk mode and keeping it there), the video stream continues to work

YBonline avatar Feb 22 '23 19:02 YBonline

If you open the go2rtc webUI, please get the info for that stream and paste it here.

NickM-27 avatar Feb 22 '23 19:02 NickM-27

{
  "producers": [
    {
      "type": "RTSP source",
      "url": "rtsp://10.10.30.30:554/cam/realmonitor?channel=1\u0026subtype=0/",
      "remote_addr": "10.10.30.30:554",
      "user_agent": "go2rtc/1.1.2",
      "medias": [
        "video, sendonly, 96 H264/90000",
        "audio, sendonly, 97 MPEG4-GENERIC/8000"
      ],
      "tracks": [
        "96 H264/90000, sinks=1",
        "97 MPEG4-GENERIC/8000, sinks=1"
      ],
      "recv": 5318314
    }
  ],
  "consumers": [
    {
      "type": "RTSP client",
      "url": "rtsp://127.0.0.1:8554/gp525_doorbell",
      "remote_addr": "127.0.0.1:44820",
      "user_agent": "FFmpeg Frigate/0.12.0-27a31e7",
      "medias": [
        "video, recvonly, 96 H264/90000",
        "audio, recvonly, 97 MPEG4-GENERIC/8000"
      ],
      "tracks": [
        "96 H264/90000, sinks=1",
        "97 MPEG4-GENERIC/8000, sinks=1"
      ],
      "send": 5317834
    }
  ]
}

YBonline avatar Feb 27 '23 21:02 YBonline

Okay, it's not seeing your backchannel so you either have another stream which is the one sound this or you have webRTC card / some other instance of go2rtc running somewhere without this option

NickM-27 avatar Feb 27 '23 21:02 NickM-27

So I do use the Frigate card in Home Assistant. When I open the page with the card, there doesn't seem to be any additional consumers or anything in go2rtc. I don't have any separate configuration of go2rtc, and changing the path on the cameras: ffmpeg: input back to the same URL as in the go2rtc section makes the problem go away very consistently, so I'm a bit stumped. I plan to try to get the 2 way audio working as well as soon as I get some free time with go2rtc so I guess I'm going to give that a try next and see if it helps me figure anything else out.

YBonline avatar Feb 27 '23 22:02 YBonline

I'd suggest pasting your full config here

NickM-27 avatar Feb 27 '23 22:02 NickM-27

Its long, but here you go: Its the last camera configuration, if I have the configuration as posted, the doorbell doesn't work. If I simply swap the path to the commented out one, I experience no issues at all, even leaving go2rtc configured

ui:
  use_experimental: true

#logger:
#  logs:
#    frigate.record: debug

birdseye:
  enabled: True
  restream: True
  mode: motion

mqtt:
  host: 10.10.22.11
  user: frigate
  password: password

detectors:
  coral:
    type: edgetpu

    
record:
  enabled: True
  retain:
    days: 14
    mode: motion
  events:
    retain:
      default: 60
      mode: active_objects

objects:
  track:
    - person
    - bicycle
    - car
    - motorcycle
    - bus
    - boat
    - cat
    - dog
    - horse
    - cow
  filters:
    person:
      # Optional: minimum width*height of the bounding box for the detected object (default: 0)
      min_area: 500
      # Optional: maximum width*height of the bounding box for the detected object (default: 24password)
      #max_area: 100000
      # Optional: minimum width/height of the bounding box for the detected object (default: 0)
      #min_ratio: 0.5
      # Optional: maximum width/height of the bounding box for the detected object (default: 24password)
      #max_ratio: 2.0
      # Optional: minimum score for the object to initiate tracking (default: shown below)
      min_score: 0.5
      # Optional: minimum decimal percentage for tracked object's computed score to be considered a true positive (default: shown below)
      threshold: 0.7

go2rtc:
  streams:
    warehouse_exterior_doorbell:
      - ffmpeg:rtsp://admin:password@@10.10.22.30:8557/mpeg/media.amp
    
    warehouse_exterior_nw:
      - rtsp://admin:[email protected]:554/Streaming/Channels/101

#    warehouse_exterior_nw_sub:
#      - rtsp://admin:[email protected]:554/Streaming/Channels/102

    warehouse_exterior_sw:
      - rtsp://admin:[email protected]:554/Streaming/Channels/101
    
#    warehouse_exterior_sw_sub:
#      - rtsp://admin:[email protected]:554/Streaming/Channels/102

    warehouse_exterior_se:
      - rtsp://admin:[email protected]:554/stream0

#    warehouse_exterior_se_sub:
#      - rtsp://admin:[email protected]:554/stream1

    warehouse_exterior_front:
      - rtsp://admin:[email protected]:554/h265Preview_01_main

    warehouse_exterior_front_sub:
      - rtsp://admin:[email protected]:554/h264Preview_01_sub

    warehouse_workbench:
      - rtsp://admin:[email protected]:554/h264Preview_01_main
    
#    warehouse_workbench_sub:
#      - rtsp://admin:[email protected]:554/h264Preview_01_sub

    warehouse_interior_front:
      - rtsp://admin:[email protected]:554/h264Preview_01_main

#    warehouse_interior_front_sub:
#      - rtsp://admin:[email protected]:554/h264Preview_01_sub

    warehouse_interior_office:
      - rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif

#    warehouse_interior_office_sub:
#      - rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=1&unicast=true&proto=Onvif

    warehouse_interior_overview:
      - rtsp://admin:[email protected]:554/Streaming/Channels/101

#    warehouse_interior_overview_sub:
#      - rtsp://admin:[email protected]:554/Streaming/Channels/102

    gp_clubhouse_gym_1:
      - rtsp://admin:[email protected]:554/stream0

#    gp_clubhouse_gym_1_sub:
#      - rtsp://admin:[email protected]:554/stream1

    gp_clubhouse_gym_2:
      - rtsp://admin:[email protected]:554/stream0
    
#    gp_clubhouse_gym_2_sub:
#      - rtsp://admin:[email protected]:554/stream1

    gp_clubhouse_front_door:
      - rtsp://admin:[email protected]:554/stream0

#    gp_clubhouse_front_door_sub:
#      - rtsp://admin:[email protected]:554/stream1

    gp_clubhouse_back_door:
      - rtsp://admin:[email protected]:554/stream0

#    gp_clubhouse_back_door_sub:
#      - rtsp://admin:[email protected]:554/stream1

    gp_clubhouse_banquet:
      - rtsp://admin:[email protected]:554/stream0

#    gp_clubhouse_banquet_sub:
#      - rtsp://admin:[email protected]:554/stream1

    gp_clubhouse_pool_porch:
      - rtsp://admin:[email protected]:554/Streaming/Channels/101
    
#    gp_clubhouse_pool_porch_sub:
#      - rtsp://admin:[email protected]:554/Streaming/Channels/102

    gp_clubhouse_pool:
      - rtsp://admin:[email protected]:554/ch01/0
    
#    gp_clubhouse_pool_sub:
#      - rtsp://admin:[email protected]:554/ch01/1

    gp_clubhouse_firepit:
      - rtsp://admin:[email protected]:554/ch01/0#audio=aac

#    gp_clubhouse_firepit_sub:
#      - rtsp://admin:[email protected]:554/ch01/1

    gp_clubhouse_parking:
      - rtsp://admin:[email protected]:554/h265Preview_01_main
    
    gp_clubhouse_parking_sub:
      - rtsp://admin:[email protected]:554/h264Preview_01_sub

    gp636_doorbell:
      - rtsp://admin:[email protected]:554/

    gp525_doorbell:
      - rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0#backchannel=0


  webrtc:
    candidates:
      - 10.10.22.11:8555
      - stun:8555

cameras:
  warehouse_exterior_doorbell:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_exterior_doorbell
          roles:
            - record
            - detect
      hwaccel_args: preset-nvidia-h264

    detect:
      width: 1280
      height: 720

  warehouse_exterior_nw:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_exterior_nw
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_exterior_nw_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 1920
      height: 1080

  warehouse_exterior_sw:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_exterior_sw
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_exterior_sw_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 1920
      height: 1080

  warehouse_exterior_se:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_exterior_se
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_exterior_se_sub
        #  roles:
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 2592
      height: 1944

  warehouse_exterior_front:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_exterior_front_sub
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_exterior_front_sub
        #  roles:
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 4608
      height: 1728

  warehouse_workbench:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_workbench
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_workbench_sub
        #  roles:
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 2560
      height: 1920

  warehouse_interior_front:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_interior_front
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_interior_front_sub
        #  roles:
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 2560
      height: 1920

  warehouse_interior_office:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_interior_office
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_interior_office_sub
        #  roles:
            - detect
#          input_args: -ss 00:01
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 3840
      height: 2160

  warehouse_interior_overview:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/warehouse_interior_overview
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/warehouse_interior_overview_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 1920
      height: 1080


  gp_clubhouse_gym_1:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_gym_1
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_gym_1_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 2592
      height: 1944
    motion:
      mask:
        - 2592,173,2592,0,0,0,0,337
    objects:
      filters:
        bicycle:
          mask:
            - 1635,80,1886,1019,408,1059,350,177
        motorcycle:
          mask:
            - 1635,80,1886,1019,408,1059,350,177

  gp_clubhouse_gym_2:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_gym_2
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_gym_2_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 2592
      height: 1944
    motion:
      mask:
        - 2592,0,0,0,0,385
    objects:
      filters:
        bicycle:
          mask:
            - 2391,1369,1261,677,1331,135,2542,274
        motorcycle:
          mask:
            - 2391,1369,1261,677,1331,135,2542,274
      
  gp_clubhouse_front_door:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_front_door
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_front_door_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 2592
      height: 1944

  gp_clubhouse_back_door:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_back_door
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_back_door_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 2592
      height: 1944

  gp_clubhouse_banquet:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_banquet
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_banquet_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 2592
      height: 1944
      
  gp_clubhouse_pool_porch:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_pool_porch
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_pool_porch_sub
        #  roles:
            - detect
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 1920
      height: 1080
      
  gp_clubhouse_pool:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_pool
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_pool_sub
        #  roles:
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h265
    detect:
      width: 5120
      height: 1440
      
  gp_clubhouse_firepit:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_firepit
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_firepit_sub
        #  roles:
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h265
    motion:
      mask:
        - 2211,0,0,0,0,495,1795,224,1795,67,2202,62
        - 2061,1203,1952,361,1771,361,1702,1182
    objects:
      filters:
        person:
          mask:
            - 2114,1213,1610,1210,1612,366,2080,361
    detect:
      width: 3840
      height: 2160

  gp_clubhouse_parking:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp_clubhouse_parking_sub
          roles:
            - record
        #- path: rtsp://127.0.0.1:8554/gp_clubhouse_parking_sub
        #  roles:
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 1536
      height: 576
#      width: 4608
#      height: 1728
#      output_args:
#        record: -f segment -segment_time 300 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v h264_vaapi -crf 18 -c:a copy -vf format=nv12|vaapi,hwupload -b:v 4M -r 15
#        clips: -f segment -segment_time 30 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c:v h264_vaapi -crf 18 -c:a copy -vf format=nv12|vaapi,hwupload -b:v 4M -r 15

      
  gp636_doorbell:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/gp636_doorbell
          roles:
            - record
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 1920
      height: 1080
    motion:
      mask:
        - 0,0,958,0,926,599,0,499
      
  gp525_doorbell:
    ffmpeg:
      inputs:
        #- path: rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0
        - path: rtsp://127.0.0.1:8554/gp525_doorbell
          roles:
            - record
            - detect
      output_args:
        record: preset-record-generic-audio-aac
      hwaccel_args: preset-nvidia-h264
    detect:
      width: 2560
      height: 1920

YBonline avatar Feb 27 '23 23:02 YBonline

Sorry to Pile on with a "me too" moment, but I have an Amcrest AD110 with this same issue. I can get video streams via frigate, and the detection is great, but while Frigate is running, the doorbell is in "talk" mode, which disables the actual doorbell button.

The solution supposedly is to append #backchannel=0 to the stream URL, but Frigate is not passing that information to go2rtc.

go2rtc:
  streams:
    doorbell_live:
      - rtsp://admin:password@ip:554/cam/realmonitor?channel=1&subtype=0
    doorbell_detect:
      - rtsp://admin:password@ip:554/cam/realmonitor?channel=1&subtype=1#backchannel=0
cameras:
  doorbell:
    ffmpeg:
      inputs:
        - path: rtsp://127.0.0.1:8554/doorbell_detect
          input_args: preset-rtsp-restream
          roles:
            - detect
      output_args:
        record: preset-record-generic-audio-copy
    detect:
      width: 640
      height: 480
    live:
      stream_name: doorbell_live

In go2rtc it looks like this:

{
  "producers": [
    {
      "type": "RTSP source",
      "url": "rtsp://ip:554/cam/realmonitor?channel=1\u0026subtype=1/",
      "remote_addr": "ip:554",
      "user_agent": "go2rtc/1.2.0",
      "medias": [
        "video, sendonly, 96 H264/90000",
        "audio, sendonly, 97 MPEG4-GENERIC/16000"
      ],
      "tracks": [
        "96 H264/90000, sinks=1",
        "97 MPEG4-GENERIC/16000, sinks=1"
      ],
      "recv": 8346455
    }
  ],
  "consumers": [
    {
      "type": "RTSP client",
      "url": "rtsp://127.0.0.1:8554/doorbell_detect",
      "remote_addr": "127.0.0.1:43814",
      "user_agent": "FFmpeg Frigate/0.12.1-367d724",
      "medias": [
        "video, recvonly, 96 H264/90000",
        "audio, recvonly, 97 MPEG4-GENERIC/16000"
      ],
      "tracks": [
        "96 H264/90000, sinks=1",
        "97 MPEG4-GENERIC/16000, sinks=1"
      ],
      "send": 8344151
    }
  ]

I've tried doing all sorts of yaml escape characters, but nothing seems to pass the value.

mconway avatar Jul 31 '23 19:07 mconway

but Frigate is not passing that information to go2rtc.

that is incorrect. Frigate does not pass anything to go2rtc, it literally just hands that part of the config directly to go2rtc. You won't see backchannel in the url part that is shown in the stream info. You can tell it is working because there are no recvonly streams in the producer side.

In this case the problem is likely that you only have #backchannel=0 on the sub stream and not the main stream

NickM-27 avatar Jul 31 '23 20:07 NickM-27

Ok, well thanks for the information. I'm not sure exactly what changed (because I was running the same config for weeks, without a working doorbell button), but I do see that if I put #backchannel=0 on the main stream, it is showing up in go2rtc.

The substream seems to not care either way, which is surprising to me, but maybe that's just expected behavior.

Either way: If I add the backchannel statement to the main stream, I can use the doorbell while watching the video, if I leave it off, it goes into 2 way talk mode.

Thanks for the teachable moment.

mconway avatar Jul 31 '23 20:07 mconway

@NickM-27 Not to revive this issue thread, but with version 0.14, is there a way to get two-way audio support with the Amcrest doorbell that doesn't break the doorbell button? I assume not since gortc will keep the connection open. I assume it's not possible two wire two different gortc sessions, one for backchannel audio and one for the consumption of Frigate?

johnmarksilly avatar Jun 06 '24 18:06 johnmarksilly