Tapo 2-way audio - button appears (on some devices) but when i click it, constantly loading sign
Hi
Running Frigate (0.15.2-3bda638) on unraid I left all the default settings from the community app store other than these extra params
"--shm-size=298m --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000 --restart unless-stopped"
I am running nginx and enabled websockets, and view my frigate via https I have 2 Tapo c220 cameras the two-way audio button appears on my firefox on browser (sometimes) but when i click it and allow microphone, it just shows a loading sign and the video goes away.
I have port forwarded 8555
Im at a loss on how to fix this, ive been using Claude AI to research and help but i seem to be stuck. Ive tested all the different tapo:// configs and since im using the latest c220, it seems the SHA256 version worked best. But i believe the loading issue may be due to some port forwarding or connectivity issue.
Any help and further troubleshooting would be appreciated. My logs within frigate have no errors.
auth:
enabled: true
session_length: 86400
cameras:
tapo_cam1:
detect:
enabled: false
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/tapo_cam1
roles:
- record
- audio
live:
stream_name: tapo_cam1
motion:
enabled: true
mask: []
threshold: 35
record:
enabled: true
retain:
days: 5
mode: motion
# PTZ Configuration for Tapo camera
onvif:
host: 192.168.50.171
port: 2020 # Tapo cameras typically use port 2020 for ONVIF
user: administrator
password: d1g1t4ltapo
tapo_cam2:
detect:
enabled: false
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/tapo_cam2
roles:
- record
- audio
live:
stream_name: tapo_cam2
motion:
enabled: true
mask: []
threshold: 35
record:
enabled: true
retain:
days: 5
mode: motion
# PTZ Configuration for Tapo camera
onvif:
host: 192.168.50.179
port: 2020 # Tapo cameras typically use port 2020 for ONVIF
user: administrator
password: d1g1t4ltapo
ffmpeg:
input_args: -rtsp_transport tcp -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt
-flags low_delay -timeout 5000000 -use_wallclock_as_timestamps 1
output_args:
record: preset-record-generic-audio-aac # This ensures AAC audio encoding for recordings
go2rtc:
# CRITICAL: WebRTC configuration for 2-way audio through reverse proxy
webrtc:
candidates:
- home.ganle.xyz:8555 # Your external domain (MOST IMPORTANT)
- 192.168.50.101:8555 # Internal LAN access
- stun:8555 # STUN server for NAT traversal
# External STUN servers for better connectivity
ice_servers:
- urls: [stun:stun.l.google.com:19302]
- urls: [stun:stun1.l.google.com:19302]
streams:
tapo_cam1:
- ffmpeg:rtsp://administrator:[email protected]:554/stream1#audio=aac#video=copy
- tapo://admin:*password [email protected]
tapo_cam2:
- ffmpeg:rtsp://administrator:[email protected]:554/stream1#audio=aac#video=copy
- tapo://admin:password [email protected]
mqtt:
enabled: false
host: <MQTT_BROKER_IP_ADDRESS_HERE>
record:
enabled: true
retain:
days: 5
mode: motion
version: 0.15-1
It's best to start by testing a standalone go2rtc. You can install it on any PC.
I had the same issue. Solution seems to be to only use the tapo:// address, not both rtsp and tapo. If you need rtsp, set it up as a separate stream and use that stream for further processing in frigate or elsewhere (i.e. the tapo:// camera for live and rtsp for record and detect...for example). In your case, that would look something like:
cameras:
tapo_cam1:
detect:
enabled: false
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/tapo_cam1
roles:
- record
- audio
live:
stream_name: tapo_cam1_live
motion:
enabled: true
mask: []
threshold: 35
record:
enabled: true
retain:
days: 5
mode: motion
# PTZ Configuration for Tapo camera
onvif:
host: 192.168.50.171
port: 2020 # Tapo cameras typically use port 2020 for ONVIF
user: administrator
password: d1g1t4ltapo
tapo_cam2:
detect:
enabled: false
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/tapo_cam2
roles:
- record
- audio
live:
stream_name: tapo_cam2_live
motion:
enabled: true
mask: []
threshold: 35
record:
enabled: true
retain:
days: 5
mode: motion
# PTZ Configuration for Tapo camera
onvif:
host: 192.168.50.179
port: 2020 # Tapo cameras typically use port 2020 for ONVIF
user: administrator
password: d1g1t4ltapo
ffmpeg:
input_args: -rtsp_transport tcp -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt
-flags low_delay -timeout 5000000 -use_wallclock_as_timestamps 1
output_args:
record: preset-record-generic-audio-aac # This ensures AAC audio encoding for recordings
go2rtc:
# CRITICAL: WebRTC configuration for 2-way audio through reverse proxy
webrtc:
candidates:
- home.ganle.xyz:8555 # Your external domain (MOST IMPORTANT)
- 192.168.50.101:8555 # Internal LAN access
- stun:8555 # STUN server for NAT traversal
# External STUN servers for better connectivity
ice_servers:
- urls: [stun:stun.l.google.com:19302]
- urls: [stun:stun1.l.google.com:19302]
streams:
tapo_cam1:
- ffmpeg:rtsp://administrator:[email protected]:554/stream1#audio=aac#video=copy
tapo_cam1_live:
- tapo://admin:*password [email protected]
tapo_cam2:
- ffmpeg:rtsp://administrator:[email protected]:554/stream1#audio=aac#video=copy
tapo_cam2_live
- tapo://admin:password [email protected]
Also, there are a lot of very crappy tapo firmware versions. For example, for the C120 cam, firmware version 1.3.2 completely breaks sound over webrtc. If you're on firmware that works, I highly suggest turning off automatic updates. You can downgrade later if you get a bad update, but it's a real chore and who knows what else you can break.