I think I managed to confuse mediasoup by trying to use S1T3
encoding with VP9, in which case it creates SvcConsumer
and thus switching preferred temporal layers doesn’t work (has no effect, I always receive full 30 fps).
Is this something that is supposed to work at all or is VP9 currently hardcoded to only use SVC?
It is also possible that I messed up parsing/generating SDP since I’m working with endpoint that doesn’t have mediasoup-client.
Any help is appreciated.
Remote client offer:
v=0
o=- 3155737008791722389 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
a=group:BUNDLE audio0 video1
m=audio 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:rmPuC4e/GRT6Wb2A+NWJFAbtdHTUFlIh
a=ice-pwd:joXJONEnCJr/eYBiZ/ShuU6bonMv/a5C
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:96 OPUS/48000/2
a=rtcp-fb:96 nack pli
a=fmtp:96 sprop-maxcapturerate=48000;sprop-stereo=1
a=ssrc:3777738827 msid:user2123010147@host-73af8147 webrtctransceiver2
a=ssrc:3777738827 cname:user2123010147@host-73af8147
a=mid:audio0
a=fingerprint:sha-256 BA:C8:33:45:1B:CF:73:FE:EB:A9:CC:58:4C:A3:CE:7E:3E:16:C3:41:8F:11:87:92:A3:CF:9F:F7:3D:1B:83:B9
m=video 0 UDP/TLS/RTP/SAVPF 97 98
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:rmPuC4e/GRT6Wb2A+NWJFAbtdHTUFlIh
a=ice-pwd:joXJONEnCJr/eYBiZ/ShuU6bonMv/a5C
a=bundle-only
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:97 VP9/90000
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=framerate:30
a=rtpmap:98 rtx/90000
a=fmtp:98 apt=97
a=ssrc-group:FID 2830271215 3679539510
a=ssrc:2830271215 msid:user2123010147@host-73af8147 webrtctransceiver3
a=ssrc:2830271215 cname:user2123010147@host-73af8147
a=ssrc:3679539510 msid:user2123010147@host-73af8147 webrtctransceiver3
a=ssrc:3679539510 cname:user2123010147@host-73af8147
a=mid:video1
a=fingerprint:sha-256 BA:C8:33:45:1B:CF:73:FE:EB:A9:CC:58:4C:A3:CE:7E:3E:16:C3:41:8F:11:87:92:A3:CF:9F:F7:3D:1B:83:B9
Mediasoup answer:
v=0
o=- 10000 1 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-lite
a=fingerprint:sha-512 30:BB:6E:92:E4:7E:6E:AC:90:D9:AE:96:5C:C3:CC:45:E7:B3:BC:44:04:9C:9C:09:84:87:AB:C5:E3:A7:1C:82:A4:CB:C1:68:A8:6B:C4:B9:43:2C:28:DD:D0:7A:66:07:19:4B:C8:35:68:EE:1C:E1:4F:1C:2A:23:63:05:24:2C
a=msid-semantic: WMS *
a=group:BUNDLE audio0 video1
m=audio 7 UDP/TLS/RTP/SAVPF 96
c=IN IP4 127.0.0.1
a=rtpmap:96 OPUS/48000/2
a=fmtp:96 sprop-maxcapturerate=48000;sprop-stereo=1
a=rtcp-fb:96 nack pli
a=setup:passive
a=mid:audio0
a=msid:user2123010147@host-73af8147 e0cbe51a-41d8-4201-bf82-3e996d429490
a=recvonly
a=ice-ufrag:536tzgqompur43fz
a=ice-pwd:uknaktrd3azspooc71831msugz8d2pdh
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 58263 typ host
a=candidate:udpcandidate 1 udp 1076276479 172.21.0.4 59707 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:3777738827 cname:user2123010147@host-73af8147
a=rtcp-mux
a=rtcp-rsize
m=video 7 UDP/TLS/RTP/SAVPF 97 98
c=IN IP4 127.0.0.1
a=rtpmap:97 VP9/90000
a=rtpmap:98 rtx/90000
a=fmtp:98 apt=97
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=setup:passive
a=mid:video1
a=msid:user2123010147@host-73af8147 54404f2a-fc3e-4b6e-acc2-34895de73209
a=recvonly
a=ice-ufrag:536tzgqompur43fz
a=ice-pwd:uknaktrd3azspooc71831msugz8d2pdh
a=candidate:udpcandidate 1 udp 1076302079 127.0.0.1 58263 typ host
a=candidate:udpcandidate 1 udp 1076276479 172.21.0.4 59707 typ host
a=end-of-candidates
a=ice-options:renomination
a=ssrc:2830271215 cname:user2123010147@host-73af8147
a=ssrc:3679539510 cname:user2123010147@host-73af8147
a=ssrc-group:FID 2830271215 3679539510
a=rtcp-mux
a=rtcp-rsize
Video producer options:
{
"kind": "video",
"rtpParameters": {
"codecs": [
{
"clockRate": 90000,
"mimeType": "video/VP9",
"parameters": {},
"payloadType": 97,
"rtcpFeedback": [
{
"type": "nack",
"parameter": ""
},
{
"type": "nack",
"parameter": "pli"
}
]
},
{
"clockRate": 90000,
"mimeType": "video/rtx",
"parameters": {
"apt": 97
},
"payloadType": 98,
"rtcpFeedback": []
}
],
"encodings": [
{
"codecPayloadType": 97,
"rtx": {
"ssrc": 3679539510
},
"scalabilityMode": "S1T3",
"ssrc": 2830271215
}
],
"headerExtensions": [],
"mid": "video1",
"rtcp": {
"cname": "user2123010147@host-73af8147",
"mux": true,
"reducedSize": true
}
}
}