dermotduffy / frigate-hass-card

A Lovelace card for Frigate in Home Assistant
MIT License
551 stars 58 forks source link

Two way audio stopped working in v6.0.0 #1633

Open crowbarsolutions opened 1 week ago

crowbarsolutions commented 1 week ago

Checklist:

Release with the issue: 6.0.0 Beta 7

Last working release (if known): 5.2.0

Browser and Operating System: HA Companion App on Android (Pixel)

Description of problem: I have a Tapo camera configured for 2 way audio. This is my frigate config:

...
go2rtc:
  streams:
    backyard:
      - rtsp://<user>:<pass>@192.168.1.50/stream1
      - ffmpeg:backyard#audio=aac
    backyard_sub:
      - ffmpeg:rtsp://<user>:<pass>@192.168.1.50/stream2#audio=opus#video=copy
      - tapo://<tapocloudpass>@192.168.1.50
  webrtc:
    candidates:
      - 192.168.1.14:8555
      - stun:8555
...
cameras:
  backyard:
    enabled: true
    ffmpeg:
      output_args:
        record: preset-record-generic-audio-aac
      inputs:
        - path: rtsp://localhost:8554/backyard
          input_args: preset-rtsp-restream
          roles:
            - record
            - detect
    live:
      stream_name: backyard_sub
...

I then have the card running in my HA instance in a dashboard. This is the current config for the card:

type: custom:frigate-card
cameras:
  - camera_entity: camera.backyard
    live_provider: go2rtc
    go2rtc:
      modes:
        - webrtc
      stream: backyard_sub
menu:
  buttons:
    microphone:
      enabled: true
    mute:
      enabled: false
dimensions:
  aspect_ratio_mode: dynamic
live:
  zoomable: false
  auto_mute:
    - microphone
    - unselected
    - hidden
  auto_unmute:
    - microphone

On version 5.2.0 two way audio worked with the above config (other than the syntax changes introduced in v6.0.0), I would be able to tap the microphone button when viewing the live stream and speak into my phone, and it would play my voice on the camera speaker, while I could also hear audio coming from the camera.

On version 6.0.0 Beta 7 this no longer works,

  1. I tap the microphone button when viewing the live stream
  2. I observe the green dot appear in my phone's status bar, which is Pixel's way of informing me that the microphone is listening.
  3. I speak into my phone
  4. I observe that no sound is being played by the camera (this worked in v5.2.0, but not v6.0.0)
  5. If I tap the microphone button again when viewing the live stream, the microphone still stays live and will not turn off until I navigate away from the live stream.

Frigate card diagnostic information

card_version: 6.0.0-beta.7
browser: >-
  Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:131.0) Gecko/20100101
  Firefox/131.0
date: 2024-10-11T19:02:07.598Z
frigate_versions:
  e9674b752fd87d60b180e1119e543bbf: 5.4.0/0.14.1-f4f3cfa
lang: en
timezone: America/Edmonton
git:
  hash: '736e043'
  build_date: Wed, 09 Oct 2024 03:38:10 GMT
  commit_date: Tue, 8 Oct 2024 20:35:31 -0700
ha_version: 2024.9.3
config:
  type: custom:frigate-card
  cameras:
    - camera_entity: camera.backyard
      live_provider: go2rtc
      go2rtc:
        modes:
          - webrtc
        stream: backyard_sub
    - camera_entity: camera.doorbell
  menu:
    buttons:
      microphone:
        enabled: true
      mute:
        enabled: false
  dimensions:
    aspect_ratio_mode: dynamic
  live:
    zoomable: false
    auto_mute:
      - microphone
      - unselected
      - hidden
    auto_unmute:
      - microphone

Javascript errors shown in the web inspector (if applicable):

Additional information:

dermotduffy commented 1 week ago

Funnily enough, my test setup is a Tapo camera and a Pixel phone, and the behavior didn't appear to change between v5 and v6 [just verified right now: seems to work fine].

Camera audio is so fickle, maybe we can start with the way your microphone button appears to "stick on". Don't suppose you could take a screen capture showing this behavior?