无滴冰的Webrtc和UWP

无滴冰的Webrtc和UWP,uwp,webrtc,sdp,Uwp,Webrtc,Sdp,我正在尝试使用此nuget包建立webrtc调用。我无法在我的实现中使用涓流ice,因此我尝试在收集候选ice时将其添加到sdp中。这在包的早期版本中起作用,但是当使用最新版本时,当我尝试使用修改过的sdp创建会话描述时,这会失败。据我所知,该软件包的最新版本基于webrtc版本m71。添加ice候选人后,我的报价sdp如下所示: "v=0 o=- 984872923505738618 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video

我正在尝试使用此nuget包建立webrtc调用。我无法在我的实现中使用涓流ice,因此我尝试在收集候选ice时将其添加到sdp中。这在包的早期版本中起作用,但是当使用最新版本时,当我尝试使用修改过的sdp创建会话描述时,这会失败。据我所知,该软件包的最新版本基于webrtc版本m71。添加ice候选人后,我的报价sdp如下所示:

"v=0
o=- 984872923505738618 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS bf18a69a-7b0e-46d0-8972-dd8995b1d839 e0014ee3-b7dc-46ae-8ebb-89669bd33f7c
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:yHgM
a=ice-pwd:So+kgi6mFjYkB0uLEOC+cskS
a=ice-options:trickle
a=fingerprint:sha-256 55:56:B8:61:65:54:51:1B:D6:88:E7:50:BB:06:80:7D:D1:65:E5:3F:C5:D0:E5:4D:B2:9F:B9:88:84:20:FC:C2
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:3424879744 cname:q8MJSfLi5w/UPF2u
a=ssrc:3424879744 msid:bf18a69a-7b0e-46d0-8972-dd8995b1d839 SELF_AUDIO
a=ssrc:3424879744 mslabel:bf18a69a-7b0e-46d0-8972-dd8995b1d839
a=ssrc:3424879744 label:SELF_AUDIO
a=candidate:1862263974 1 udp 2122260223 xxx.xxx.x.xx 53631 typ host generation 0 ufrag yHgM network-id 1 network-cost 10|audio|0
a=candidate:545003606 1 tcp 1518280447 xxx.xxx.x.xx 63166 typ host tcptype passive generation 0 ufrag yHgM network-id 1 network-cost 10|audio|0
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 124 125
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:yHgM
a=ice-pwd:So+kgi6mFjYkB0uLEOC+cskS
a=ice-options:trickle
a=fingerprint:sha-256 55:56:B8:61:65:54:51:1B:D6:88:E7:50:BB:06:80:7D:D1:65:E5:3F:C5:D0:E5:4D:B2:9F:B9:88:84:20:FC:C2
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 urn:3gpp:video-orientation
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:10 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=sendrecv
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 x-google-profile-id=0
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 H264/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 packetization-mode=1
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 red/90000
a=rtpmap:124 rtx/90000
a=fmtp:124 apt=127
a=rtpmap:125 ulpfec/90000
a=ssrc-group:FID 2634832858 1498331816
a=ssrc:2634832858 cname:q8MJSfLi5w/UPF2u
a=ssrc:2634832858 msid:e0014ee3-b7dc-46ae-8ebb-89669bd33f7c SELF_VIDEO
a=ssrc:2634832858 mslabel:e0014ee3-b7dc-46ae-8ebb-89669bd33f7c
a=ssrc:2634832858 label:SELF_VIDEO
a=ssrc:1498331816 cname:q8MJSfLi5w/UPF2u
a=ssrc:1498331816 msid:e0014ee3-b7dc-46ae-8ebb-89669bd33f7c SELF_VIDEO
a=ssrc:1498331816 mslabel:e0014ee3-b7dc-46ae-8ebb-89669bd33f7c
a=ssrc:1498331816 label:SELF_VIDEO
a=candidate:1862263974 1 udp 2122260223 xxx.xxx.x.xx 53632 typ host generation 0 ufrag yHgM network-id 1 network-cost 10|video|1
a=candidate:545003606 1 tcp 1518280447 xxx.xxx.x.xx 63167 typ host tcptype passive generation 0 ufrag yHgM network-id 1 network-cost 10|video|1
"```

候选行中的
网络成本10 |音频| 0
看起来有误,可能导致解析错误

在附加到SDP时,很可能将sdpMid和sdpMLineIndex与候选项连接起来


请注意,peerconnections localDescription.sdp通常由库更新,而无需自己添加候选项。

候选行中的网络成本10 | audio | 0
看起来错误,可能导致分析错误

在附加到SDP时,很可能将sdpMid和sdpMLineIndex与候选项连接起来


请注意,通常情况下,peerconnections localDescription.sdp将由库更新,而无需自己添加候选项。

网络成本10 |音频| 0
看起来是错误的,好像您将sdpMid和sdpMLineIndex与候选项连接在一起。这解决了问题!我想我必须多读一些SDP和ICE候选人的资料。@PhilippHancke如果你想把它作为一个答案,我会把它标记为已接受的答案。否则,我将引用您的回答作为接受答案。:)通过附加建议完成;-)<代码>网络成本10 |音频| 0看起来是错误的,好像您将sdpMid和sdpMLineIndex与候选人连接在一起。太棒了,解决了问题!我想我必须多读一些SDP和ICE候选人的资料。@PhilippHancke如果你想把它作为一个答案,我会把它标记为已接受的答案。否则,我将引用您的回答作为接受答案。:)通过附加建议完成;-)谢谢你的帮助和建议!这解决了我的问题。是的,当我查看其他平台上使用不同库的实现时,似乎其他库确实修改了sdp。在我使用的库中未找到相应的设置。也许我应该和他们核实一下,看看我是否遗漏了什么谢谢你的帮助和建议!这解决了我的问题。是的,当我查看其他平台上使用不同库的实现时,似乎其他库确实修改了sdp。在我使用的库中未找到相应的设置。也许我应该和他们核实一下,看看我是否遗漏了什么