home-assistant / frontend

:lollipop: Frontend for Home Assistant
https://demo.home-assistant.io
Other
4.13k stars 2.81k forks source link

Frigate WebRTC cameras take too long to start streaming #22650

Closed tetele closed 3 weeks ago

tetele commented 3 weeks ago

Checklist

Describe the issue you are experiencing

I'm running HAOS on a Proxmox VM, Frigate in Docker on a Proxmox LXC on the same host, with the Frigate Proxy addon and Frigate integration.

I have WebRTC cameras provided by Frigate. Ever since I have updated to 2024.11 beta, whenever I open up the more info popup on any of them (to start streaming), I get a static image for 40 seconds, then after 40s the stream starts, but there is no time cursor at the bottom as there was until now.

Describe the behavior you expected

When I open up the more info dialog to allow the camera to start streaming, I get a loader "doughnut" (i.e. a circle rotating until the buffering is complete) and then the camera would start streaming, albeit with a couple of seconds of lag.

Steps to reproduce the issue

  1. Open up the more-info dialog on any camera entity, either from a dashboard or from the device page
  2. Notice log entries about WebRTC candidates being found in under 1s (145ms max), on IPs ranging from my public IP, the LAN IP of the PC I'm using to access HA, some Docker IPs and a public IP I don't recognize, but which appears to be what my Nabu Casa Cloud public domain points to
  3. Nothing happens for 40s
  4. WebRTC: 39960.857177734375 ms Ice gathering state changed complete in the browser console
  5. The camera starts streaming in the UI

What version of Home Assistant Core has the issue?

2024.11.0b2

What was the last working version of Home Assistant Core?

2024.10.3

In which browser are you experiencing the issue with?

Chrome 130.0.6723.70

Which operating system are you using to run this browser?

Windows 11

State of relevant entities

No response

Problem-relevant frontend configuration

No response

Javascript errors shown in your browser console/inspector

ha-web-rtc-player.ts:115 WebRTC: 0.0341796875 ms start clientConfig
ha-web-rtc-player.ts:122 WebRTC: 1.89013671875 ms end clientConfig {configuration: {…}, getCandidatesUpfront: true}
ha-web-rtc-player.ts:173 WebRTC: 4.291015625 ms start createOffer {offerToReceiveAudio: true, offerToReceiveVideo: true}
ha-web-rtc-player.ts:182 WebRTC: 7.093017578125 ms end createOffer {sdp: 'v=0\r\no=- 9221272788684377918 2 IN IP4 127.0.0.1\r\ns… transport-cc\r\na=fmtp:49 repair-window=10000000\r\n', type: 'offer'}
ha-web-rtc-player.ts:184 WebRTC: 7.2060546875 ms start setLocalDescription
ha-web-rtc-player.ts:147 WebRTC: 9.196044921875 ms Signaling state changed have-local-offer
ha-web-rtc-player.ts:192 WebRTC: 9.283203125 ms end setLocalDescription
ha-web-rtc-player.ts:206 WebRTC: 9.403076171875 ms Ice gathering state changed gathering
ha-web-rtc-player.ts:294 WebRTC: 9.926025390625 ms local ice candidate candidate:2285659364 1 udp 2122260223 172.22.192.1 56976 typ host generation 0 ufrag 8faW network-id 1
ha-web-rtc-player.ts:294 WebRTC: 10.09912109375 ms local ice candidate candidate:3642209827 1 udp 2122194687 10.17.5.1 56977 typ host generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:294 WebRTC: 10.30908203125 ms local ice candidate candidate:508432075 1 udp 2122129151 172.20.208.1 56978 typ host generation 0 ufrag 8faW network-id 3
ha-web-rtc-player.ts:294 WebRTC: 10.775146484375 ms local ice candidate candidate:2285659364 1 udp 2122260223 172.22.192.1 56979 typ host generation 0 ufrag 8faW network-id 1
ha-web-rtc-player.ts:294 WebRTC: 10.953125 ms local ice candidate candidate:3642209827 1 udp 2122194687 10.17.5.1 56980 typ host generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:294 WebRTC: 11.115234375 ms local ice candidate candidate:508432075 1 udp 2122129151 172.20.208.1 56981 typ host generation 0 ufrag 8faW network-id 3
ha-web-rtc-player.ts:294 WebRTC: 90.965087890625 ms local ice candidate candidate:3473603729 1 udp 1685987071 5.12.114.105 56980 typ srflx raddr 10.17.5.1 rport 56980 generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:294 WebRTC: 92.97900390625 ms local ice candidate candidate:3473603729 1 udp 1685987071 5.12.114.105 56977 typ srflx raddr 10.17.5.1 rport 56977 generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:294 WebRTC: 123.990234375 ms local ice candidate candidate:1989587056 1 tcp 1518280447 172.22.192.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 1
ha-web-rtc-player.ts:294 WebRTC: 124.237060546875 ms local ice candidate candidate:666722999 1 tcp 1518214911 10.17.5.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:294 WebRTC: 124.39404296875 ms local ice candidate candidate:3773094495 1 tcp 1518149375 172.20.208.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 3
ha-web-rtc-player.ts:294 WebRTC: 124.528076171875 ms local ice candidate candidate:1989587056 1 tcp 1518280447 172.22.192.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 1
ha-web-rtc-player.ts:294 WebRTC: 124.658203125 ms local ice candidate candidate:666722999 1 tcp 1518214911 10.17.5.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:294 WebRTC: 124.802001953125 ms local ice candidate candidate:3773094495 1 tcp 1518149375 172.20.208.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 3
ha-web-rtc-player.ts:294 WebRTC: 143.998046875 ms local ice candidate candidate:130464361 1 udp 41820159 3.121.212.156 51564 typ relay raddr 5.12.114.105 rport 56977 generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:294 WebRTC: 145.647216796875 ms local ice candidate candidate:130464361 1 udp 41820159 3.121.212.156 53781 typ relay raddr 5.12.114.105 rport 56980 generation 0 ufrag 8faW network-id 2
ha-web-rtc-player.ts:206 WebRTC: 39960.857177734375 ms Ice gathering state changed complete
ha-web-rtc-player.ts:228 WebRTC: 39960.990234375 ms start webRtcOffer v=0
o=- 9221272788684377918 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1
a=extmap-allow-mixed
a=msid-semantic: WMS
m=audio 9 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:8faW
a=ice-pwd:4SML5iO1U9bPZ0LpwPGMPieq
a=ice-options:trickle
a=fingerprint:sha-256 11:9A:67:B6:A1:79:2C:CC:A8:6F:36:70:6C:26:5F:5C:14:88:E4:F9:C3:DC:CC:C5:C1:26:DA:59:70:32:9B:87
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:63 red/48000/2
a=fmtp:63 111/111
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:126 telephone-event/8000
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 35 36 37 38 102 103 104 105 106 107 108 109 127 125 39 40 41 42 43 44 45 46 47 48 112 113 114 115 116 117 118 49
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:8faW
a=ice-pwd:4SML5iO1U9bPZ0LpwPGMPieq
a=ice-options:trickle
a=fingerprint:sha-256 11:9A:67:B6:A1:79:2C:CC:A8:6F:36:70:6C:26:5F:5C:14:88:E4:F9:C3:DC:CC:C5:C1:26:DA:59:70:32:9B:87
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:13 urn:3gpp:video-orientation
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=fmtp:98 profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP9/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 profile-id=2
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:35 VP9/90000
a=rtcp-fb:35 goog-remb
a=rtcp-fb:35 transport-cc
a=rtcp-fb:35 ccm fir
a=rtcp-fb:35 nack
a=rtcp-fb:35 nack pli
a=fmtp:35 profile-id=1
a=rtpmap:36 rtx/90000
a=fmtp:36 apt=35
a=rtpmap:37 VP9/90000
a=rtcp-fb:37 goog-remb
a=rtcp-fb:37 transport-cc
a=rtcp-fb:37 ccm fir
a=rtcp-fb:37 nack
a=rtcp-fb:37 nack pli
a=fmtp:37 profile-id=3
a=rtpmap:38 rtx/90000
a=fmtp:38 apt=37
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:103 rtx/90000
a=fmtp:103 apt=102
a=rtpmap:104 H264/90000
a=rtcp-fb:104 goog-remb
a=rtcp-fb:104 transport-cc
a=rtcp-fb:104 ccm fir
a=rtcp-fb:104 nack
a=rtcp-fb:104 nack pli
a=fmtp:104 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
a=rtpmap:105 rtx/90000
a=fmtp:105 apt=104
a=rtpmap:106 H264/90000
a=rtcp-fb:106 goog-remb
a=rtcp-fb:106 transport-cc
a=rtcp-fb:106 ccm fir
a=rtcp-fb:106 nack
a=rtcp-fb:106 nack pli
a=fmtp:106 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=106
a=rtpmap:108 H264/90000
a=rtcp-fb:108 goog-remb
a=rtcp-fb:108 transport-cc
a=rtcp-fb:108 ccm fir
a=rtcp-fb:108 nack
a=rtcp-fb:108 nack pli
a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
a=rtpmap:109 rtx/90000
a=fmtp:109 apt=108
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=127
a=rtpmap:39 H264/90000
a=rtcp-fb:39 goog-remb
a=rtcp-fb:39 transport-cc
a=rtcp-fb:39 ccm fir
a=rtcp-fb:39 nack
a=rtcp-fb:39 nack pli
a=fmtp:39 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=4d001f
a=rtpmap:40 rtx/90000
a=fmtp:40 apt=39
a=rtpmap:41 H264/90000
a=rtcp-fb:41 goog-remb
a=rtcp-fb:41 transport-cc
a=rtcp-fb:41 ccm fir
a=rtcp-fb:41 nack
a=rtcp-fb:41 nack pli
a=fmtp:41 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=f4001f
a=rtpmap:42 rtx/90000
a=fmtp:42 apt=41
a=rtpmap:43 H264/90000
a=rtcp-fb:43 goog-remb
a=rtcp-fb:43 transport-cc
a=rtcp-fb:43 ccm fir
a=rtcp-fb:43 nack
a=rtcp-fb:43 nack pli
a=fmtp:43 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=f4001f
a=rtpmap:44 rtx/90000
a=fmtp:44 apt=43
a=rtpmap:45 AV1/90000
a=rtcp-fb:45 goog-remb
a=rtcp-fb:45 transport-cc
a=rtcp-fb:45 ccm fir
a=rtcp-fb:45 nack
a=rtcp-fb:45 nack pli
a=fmtp:45 level-idx=5;profile=0;tier=0
a=rtpmap:46 rtx/90000
a=fmtp:46 apt=45
a=rtpmap:47 AV1/90000
a=rtcp-fb:47 goog-remb
a=rtcp-fb:47 transport-cc
a=rtcp-fb:47 ccm fir
a=rtcp-fb:47 nack
a=rtcp-fb:47 nack pli
a=fmtp:47 level-idx=5;profile=1;tier=0
a=rtpmap:48 rtx/90000
a=fmtp:48 apt=47
a=rtpmap:112 H264/90000
a=rtcp-fb:112 goog-remb
a=rtcp-fb:112 transport-cc
a=rtcp-fb:112 ccm fir
a=rtcp-fb:112 nack
a=rtcp-fb:112 nack pli
a=fmtp:112 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f
a=rtpmap:113 rtx/90000
a=fmtp:113 apt=112
a=rtpmap:114 H264/90000
a=rtcp-fb:114 goog-remb
a=rtcp-fb:114 transport-cc
a=rtcp-fb:114 ccm fir
a=rtcp-fb:114 nack
a=rtcp-fb:114 nack pli
a=fmtp:114 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=64001f
a=rtpmap:115 rtx/90000
a=fmtp:115 apt=114
a=rtpmap:116 red/90000
a=rtpmap:117 rtx/90000
a=fmtp:117 apt=116
a=rtpmap:118 ulpfec/90000
a=rtpmap:49 flexfec-03/90000
a=rtcp-fb:49 goog-remb
a=rtcp-fb:49 transport-cc
a=fmtp:49 repair-window=10000000
a=candidate:130464361 1 udp 41820159 3.121.212.156 53781 typ relay raddr 5.12.114.105 rport 56980 generation 0 ufrag 8faW network-id 2
a=candidate:130464361 1 udp 41820159 3.121.212.156 51564 typ relay raddr 5.12.114.105 rport 56977 generation 0 ufrag 8faW network-id 2
a=candidate:3773094495 1 tcp 1518149375 172.20.208.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 3
a=candidate:666722999 1 tcp 1518214911 10.17.5.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 2
a=candidate:1989587056 1 tcp 1518280447 172.22.192.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 1
a=candidate:3773094495 1 tcp 1518149375 172.20.208.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 3
a=candidate:666722999 1 tcp 1518214911 10.17.5.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 2
a=candidate:1989587056 1 tcp 1518280447 172.22.192.1 9 typ host tcptype active generation 0 ufrag 8faW network-id 1
a=candidate:3473603729 1 udp 1685987071 5.12.114.105 56977 typ srflx raddr 10.17.5.1 rport 56977 generation 0 ufrag 8faW network-id 2
a=candidate:3473603729 1 udp 1685987071 5.12.114.105 56980 typ srflx raddr 10.17.5.1 rport 56980 generation 0 ufrag 8faW network-id 2
a=candidate:508432075 1 udp 2122129151 172.20.208.1 56981 typ host generation 0 ufrag 8faW network-id 3
a=candidate:3642209827 1 udp 2122194687 10.17.5.1 56980 typ host generation 0 ufrag 8faW network-id 2
a=candidate:2285659364 1 udp 2122260223 172.22.192.1 56979 typ host generation 0 ufrag 8faW network-id 1
a=candidate:508432075 1 udp 2122129151 172.20.208.1 56978 typ host generation 0 ufrag 8faW network-id 3
a=candidate:3642209827 1 udp 2122194687 10.17.5.1 56977 typ host generation 0 ufrag 8faW network-id 2
a=candidate:2285659364 1 udp 2122260223 172.22.192.1 56976 typ host generation 0 ufrag 8faW network-id 1

ha-web-rtc-player.ts:241 WebRTC: 39994.922119140625 ms ice connection state change checking
ha-web-rtc-player.ts:268 WebRTC: 40014.506103515625 ms answer v=0
o=- 4073058896589582593 1730703717 IN IP4 0.0.0.0
s=-
t=0 0
a=msid-semantic:WMS*
a=fingerprint:sha-256 8E:32:EA:1D:82:F7:76:48:5D:88:D6:22:85:1C:A8:36:84:BC:8D:37:77:0A:74:27:79:98:3D:1D:43:CF:7C:7E
a=extmap-allow-mixed
a=group:BUNDLE 0 1
m=audio 9 UDP/TLS/RTP/SAVPF 111 0 8
c=IN IP4 0.0.0.0
a=setup:active
a=mid:0
a=ice-ufrag:YucUVybKRbsHiJOR
a=ice-pwd:iurYHjbhKwSQvBEOxZPwFsxfMNjNCeNf
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=rtcp-fb:111 transport-cc 
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=ssrc:2105062243 cname:go2rtc
a=ssrc:2105062243 msid:go2rtc go2rtc-audio
a=ssrc:2105062243 mslabel:go2rtc
a=ssrc:2105062243 label:go2rtc-audio
a=msid:go2rtc go2rtc-audio
a=inactive
a=candidate:847017454 1 tcp 1671430142 172.25.0.2 8555 typ host tcptype passive
a=candidate:2408514574 1 udp 2130706429 172.25.0.2 8555 typ host
a=candidate:1482860942 1 tcp 1671430140 10.16.9.2 8555 typ host tcptype passive
a=candidate:3851540590 1 udp 2130706427 10.16.9.2 8555 typ host
a=candidate:3713832756 1 tcp 1671430138 5.12.114.105 8555 typ host tcptype passive
a=candidate:1622140628 1 udp 2130706425 5.12.114.105 8555 typ host
a=candidate:2878742611 1 udp 2130706431 127.0.0.1 8555 typ host
a=candidate:718940799 1 udp 2130706431 172.30.0.2 8555 typ host
a=candidate:2536070047 1 tcp 1671430143 172.30.0.2 8555 typ host tcptype passive
a=candidate:1509508627 1 udp 1694498815 5.12.114.105 60714 typ srflx raddr 0.0.0.0 rport 60714
m=video 9 UDP/TLS/RTP/SAVPF 102 106 112
c=IN IP4 0.0.0.0
a=setup:active
a=mid:1
a=ice-ufrag:YucUVybKRbsHiJOR
a=ice-pwd:iurYHjbhKwSQvBEOxZPwFsxfMNjNCeNf
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:102 H264/90000
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtcp-fb:102 goog-remb 
a=rtcp-fb:102 transport-cc 
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack 
a=rtcp-fb:102 nack pli
a=rtpmap:106 H264/90000
a=fmtp:106 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtcp-fb:106 goog-remb 
a=rtcp-fb:106 transport-cc 
a=rtcp-fb:106 ccm fir
a=rtcp-fb:106 nack 
a=rtcp-fb:106 nack pli
a=rtpmap:112 H264/90000
a=fmtp:112 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f
a=rtcp-fb:112 goog-remb 
a=rtcp-fb:112 transport-cc 
a=rtcp-fb:112 ccm fir
a=rtcp-fb:112 nack 
a=rtcp-fb:112 nack pli
a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=ssrc:2950872419 cname:go2rtc
a=ssrc:2950872419 msid:go2rtc go2rtc-video
a=ssrc:2950872419 mslabel:go2rtc
a=ssrc:2950872419 label:go2rtc-video
a=msid:go2rtc go2rtc-video
a=sendonly

ha-web-rtc-player.ts:337 WebRTC: 40015.196044921875 ms start setRemoteDescription RTCSessionDescription {type: 'answer', sdp: 'v=0\r\no=- 4073058896589582593 1730703717 IN IP4 0.0…c-video\r\na=msid:go2rtc go2rtc-video\r\na=sendonly\r\n'}
ha-web-rtc-player.ts:144 WebRTC: 40149.106201171875 ms ICE negotiation complete
ha-web-rtc-player.ts:241 WebRTC: 40150.419189453125 ms ice connection state change connected
ha-web-rtc-player.ts:343 WebRTC: 40150.8251953125 ms end setRemoteDescription
ha-web-rtc-player.ts:383 WebRTC: 41331.272216796875 ms loadedData
ha-web-rtc-player.ts:384 WebRTC: 41331.380126953125 ms

Additional information

No response

luca-angemi commented 3 weeks ago

Same thing is happening to me with plain generic_camera with plain rtsp url stream and no add on related to video streams.

edenhaus commented 3 weeks ago

The integration does not support the async offering approach added in 2024.11 and therefore the frontend fallsback to the sync one (The only one supported until 2024.11). You can see this from getCandidatesUpfront: true. This means the frontend will resolve any candidate first and include them in the offer. On Chromium-based browser this can take up to the 40s

tetele commented 3 weeks ago

The integration does not support the async offering approach added in 2024.11

You mean the Frigate integration?

On Chromium-based browser this can take up to the 40s

But it seems to do nothing after resolving them in less than one second. It's not like it says it resolves anything else afterwards. Maybe I'm just not getting how this works...

edenhaus commented 3 weeks ago

But it seems to do nothing after resolving them in less than one second. It's not like it says it resolves anything else afterwards.

This was the reason why I implemented the async approach as Chromium based browsers will wait 40s to get all candidates. As some could be received later... Will check if we can fix this bug