Closed spnikit closed 1 week ago
Could you please let me know what your network setup looks like?
Additionally Can you let me know how your signalling server is configured? Are you using STUN/TURN?
Usually this kind of behavior shows up because the streamer and browser cannot create a connection between them for what ever reason.
I can confirm that we also have massive problems with firefox lately. Our pixelstreaming (5.3) was working flawlessly in firefox, but stopped working somewhere after firefox version 124. It seems only VP9/VP8 is affected, as H264 is still working as of firefox 129.0.1
The websocket OFFER package looks like this:
v=0
o=- 3958611635937858216 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=extmap-allow-mixed
a=msid-semantic: WMS pixelstreaming_audio_stream_id pixelstreaming_video_stream_id
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:jLl9
a=ice-pwd:EFNoA1qICWOSpNpJCU+vTo72
a=ice-options:trickle
a=fingerprint:sha-256 F2:8B:C6:9C:26:5E:06:66:4C:C4:AC:FE:F1:AB:08:63:9C:B8:5E:1E:EA:05:B1:B9:73:DA:BE:AF:E3:02:F6:16
a=setup:actpass
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 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:9 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=sendonly
a=msid:pixelstreaming_video_stream_id pixelstreaming_video_track_label
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP9/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 red/90000
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 ulpfec/90000
a=ssrc-group:FID 3607101840 2307396177
a=ssrc:3607101840 cname:HBIYGUr3qbIk+XZ5
a=ssrc:3607101840 msid:pixelstreaming_video_stream_id pixelstreaming_video_track_label
a=ssrc:3607101840 mslabel:pixelstreaming_video_stream_id
a=ssrc:3607101840 label:pixelstreaming_video_track_label
a=ssrc:2307396177 cname:HBIYGUr3qbIk+XZ5
a=ssrc:2307396177 msid:pixelstreaming_video_stream_id pixelstreaming_video_track_label
a=ssrc:2307396177 mslabel:pixelstreaming_video_stream_id
a=ssrc:2307396177 label:pixelstreaming_video_track_label
m=audio 9 UDP/TLS/RTP/SAVPF 111 63 110
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:jLl9
a=ice-pwd:EFNoA1qICWOSpNpJCU+vTo72
a=ice-options:trickle
a=fingerprint:sha-256 F2:8B:C6:9C:26:5E:06:66:4C:C4:AC:FE:F1:AB:08:63:9C:B8:5E:1E:EA:05:B1:B9:73:DA:BE:AF:E3:02:F6:16
a=setup:actpass
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:9 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=sendrecv
a=msid:pixelstreaming_audio_stream_id pixelstreaming_audio_track_label
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 maxaveragebitrate=510000;maxplaybackrate=48000;minptime=3;sprop-stereo=1;stereo=1;usedtx=0;useinbandfec=1
a=rtpmap:63 red/48000/2
a=fmtp:63 111/111
a=rtpmap:110 telephone-event/48000
a=maxptime:120
a=ptime:20
a=ssrc:2271411708 cname:HBIYGUr3qbIk+XZ5
a=ssrc:2271411708 msid:pixelstreaming_audio_stream_id pixelstreaming_audio_track_label
a=ssrc:2271411708 mslabel:pixelstreaming_audio_stream_id
a=ssrc:2271411708 label:pixelstreaming_audio_track_label
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:jLl9
a=ice-pwd:EFNoA1qICWOSpNpJCU+vTo72
a=ice-options:trickle
a=fingerprint:sha-256 F2:8B:C6:9C:26:5E:06:66:4C:C4:AC:FE:F1:AB:08:63:9C:B8:5E:1E:EA:05:B1:B9:73:DA:BE:AF:E3:02:F6:16
a=setup:actpass
a=mid:2
a=sctp-port:5000
a=max-message-size:262144
and the firefox responds with the answer:
v=0
o=mozilla...THIS_IS_SDPARTA-99.0 845649173605096113 0 IN IP4 0.0.0.0
s=-
t=0 0
a=sendrecv
a=fingerprint:sha-256 76:3A:03:05:08:32:47:BC:C4:01:9F:9E:10:D2:59:67:F1:CF:65:91:41:02:B5:2B:3F:33:32:72:BF:13:E0:3C
a=group:BUNDLE 1 2
a=ice-options:trickle
a=msid-semantic:WMS *
m=video 0 UDP/TLS/RTP/SAVPF 120
c=IN IP4 0.0.0.0
a=inactive
a=mid:0
a=rtpmap:120 VP8/90000
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=recvonly
a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=fmtp:111 maxplaybackrate=48000;stereo=1;useinbandfec=1;maxaveragebitrate=510000
a=ice-pwd:54b48554d7c44241040de442179948e6
a=ice-ufrag:f402eba5
a=mid:1
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=setup:active
a=ssrc:3992183161 cname:{9b2fd0c0-93fc-4e3b-b8d4-1b5d9eefbc08}
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=sendrecv
a=ice-pwd:54b48554d7c44241040de442179948e6
a=ice-ufrag:f402eba5
a=mid:2
a=setup:active
a=sctp-port:5000
a=max-message-size:1073741823
Don't know why firefox is referring there to VP8 even it's clear that the offer clearly states VP9.
The console also shows the following error:
Uncaught (in promise) DOMException: Cannot set ICE candidate for level=0 mid=0: No such transceiver.
A correct answer (Chrome) looks like this:
v=0
o=- 4944108942500542997 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=extmap-allow-mixed
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:LRov
a=ice-pwd:DMYV6OediN1TYOZr16k9tkyT
a=ice-options:trickle
a=fingerprint:sha-256 DD:2E:29:B0:4F:31:3D:DA:87:FF:5C:86:90:AC:F9:82:25:75:DE:29:E5:18:8C:B8:0E:C5:68:22:3E:AB:11:36
a=setup:active
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:3 urn:3gpp:video-orientation
a=extmap:4 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:9 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 VP9/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=fmtp:96 profile-id=0
m=audio 9 UDP/TLS/RTP/SAVPF 111 63 110
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:LRov
a=ice-pwd:DMYV6OediN1TYOZr16k9tkyT
a=ice-options:trickle
a=fingerprint:sha-256 DD:2E:29:B0:4F:31:3D:DA:87:FF:5C:86:90:AC:F9:82:25:75:DE:29:E5:18:8C:B8:0E:C5:68:22:3E:AB:11:36
a=setup:active
a=mid:1
a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=recvonly
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 maxaveragebitrate=510000;minptime=10;stereo=1;useinbandfec=1
a=rtpmap:63 red/48000/2
a=fmtp:63 111/111
a=rtpmap:110 telephone-event/48000
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:LRov
a=ice-pwd:DMYV6OediN1TYOZr16k9tkyT
a=ice-options:trickle
a=fingerprint:sha-256 DD:2E:29:B0:4F:31:3D:DA:87:FF:5C:86:90:AC:F9:82:25:75:DE:29:E5:18:8C:B8:0E:C5:68:22:3E:AB:11:36
a=setup:active
a=mid:2
a=sctp-port:5000
a=max-message-size:262144
The corresponding error message from firefox ("No such transceiver") is also missing on chrome. Chrome, Safari, Opera, Edge are working without any issue.
I've looked around the mozilla bugzilla bug list, but couldn't find anything that clearly would address this. Also the changelogs of the firefox versions after 124 doen't show anything helpful.
There was a recent pull (#204) that was merged into the main branches. Have you tried since that went in? It sounds like it should address this issue. Let me know how it goes.
Thanks for that info, I will check this out.
@mcottontensor Thanks for the hint, it works like a charm!
UE Version: E.g. UE 5.3
Frontend Version: E.g. UE5.3-1.0.6
Problem component Frontend
Description WebRtc connection problems (stuck infinitely) in Firefox since version 126 (Chrome, Safari, Edge - works fine)
Screenshots Firefox console log
Some webrtc connection logs
Platform (please complete the following information):