不知为什么,python aiortc 无法收集候选者candidate,也就无法交换候选者(无法把自己的候选者发送给对方),所以总是建立不了连接
这样发送answer,不会携带candiate信息,所以总是建立不了连接
await self.pc.setRemoteDescription(RTCSessionDescription(sdp=offer['sdp'], type=offer['type']))
answer = await self.pc.createAnswer()
await self.pc.setLocalDescription(answer)
await self.send_json({'event': 'FORWARD', 'to': self.peer_session_id, 'type': 'answer', 'data': {'type': answer.type, 'sdp': answer.sdp}})
{"type":"answer",
"sdp":"v=0\r\n
o=- 3943999142 3943999142 IN IP4 0.0.0.0\r\n
s=-\r\nt=0 0\r\n
a=group:BUNDLE 0 1\r\n
a=msid-semantic:WMS *\r\n
m=video 9 UDP/TLS/RTP/SAVPF 98 99 106 107\r\n
c=IN IP4 0.0.0.0\r\n
a=recvonly\r\n
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\n
a=mid:0\r\n
a=msid:26203870-b5ac-4336-8960-f44b3c24169f 3ea0a9fd-38db-4e7f-9d3b-203c78971f73\r\n
a=rtcp:9 IN IP4 0.0.0.0\r\n
a=rtcp-mux\r\n
a=ssrc-group:FID 3883680808 3138619749\r\n
a=ssrc:3883680808 cname:b2c6218b-25a5-41bf-8c75-0bd07fa1d205\r\n
a=ssrc:3138619749 cname:b2c6218b-25a5-41bf-8c75-0bd07fa1d205\r\n
a=rtpmap:98 H264/90000\r\n
a=rtcp-fb:98 nack\r\n
a=rtcp-fb:98 nack pli\r\n
a=rtcp-fb:98 goog-remb\r\n
a=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\n
a=rtpmap:99 rtx/90000\r\n
a=fmtp:99 apt=98\r\n
a=rtpmap:106 VP8/90000\r\n
a=rtcp-fb:106 nack\r\n
a=rtcp-fb:106 nack pli\r\n
a=rtcp-fb:106 goog-remb\r\n
a=rtpmap:107 rtx/90000\r\n
a=fmtp:107 apt=106\r\n
a=ice-ufrag:qK7h\r\n
a=ice-pwd:QKkFv4Dwc5QzbFj6s8iVXy\r\n
a=fingerprint:sha-256 BD:7A:34:7C:A4:8F:85:7D:E7:88:FB:15:88:F3:BE:44:6A:97:A6:8B:80:94:F1:C2:16:28:A0:A3:AF:25:2C:84\r\n
a=setup:active\r\n
m=audio 9 UDP/TLS/RTP/SAVPF 111 0 8\r\n
c=IN IP4 0.0.0.0\r\n
a=recvonly\r\n
a=extmap:14 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\n
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid\r\n
a=mid:1\r\n
a=msid:26203870-b5ac-4336-8960-f44b3c24169f d4b5c118-c66f-49f9-89a4-9c546babbdd3\r\n
a=rtcp:9 IN IP4 0.0.0.0\r\n
a=rtcp-mux\r\n
a=ssrc:910212447 cname:b2c6218b-25a5-41bf-8c75-0bd07fa1d205\r\n
a=rtpmap:111 opus/48000/2\r\n
a=rtpmap:0 PCMU/8000\r\n
a=rtpmap:8 PCMA/8000\r\n
a=ice-ufrag:qK7h\r\n
a=ice-pwd:QKkFv4Dwc5QzbFj6s8iVXy\r\n
a=fingerprint:sha-256 BD:7A:34:7C:A4:8F:85:7D:E7:88:FB:15:88:F3:BE:44:6A:97:A6:8B:80:94:F1:C2:16:28:A0:A3:AF:25:2C:84\r\n
a=setup:active\r\n"
}
这样发送answer,会携带candiate信息,可以建立连接
await self.pc.setRemoteDescription(RTCSessionDescription(sdp=offer['sdp'], type=offer['type']))
answer = await self.pc.createAnswer()
await self.pc.setLocalDescription(answer)
await self.send_json({'event': 'FORWARD', 'to': self.peer_session_id, 'type': 'answer', 'data': {'type': self.pc.localDescription.type, 'sdp': self.pc.localDescription.sdp}})
{"type":"answer",
"sdp":"
v=0\r\n
o=- 3943999495 3943999495 IN IP4 0.0.0.0\r\n
s=-\r\nt=0 0\r\n
a=group:BUNDLE 0 1\r\n
a=msid-semantic:WMS *\r\n
m=audio 64722 UDP/TLS/RTP/SAVPF 111 0 8\r\n
c=IN IP4 172.16.2.244\r\n
a=recvonly\r\n
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\n
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\n
a=mid:0\r\n
a=msid:45cfa7a8-615f-4e31-a574-4b50be7c4626 a73fe208-0eea-439c-84f4-69bf0f597c13\r\n
a=rtcp:9 IN IP4 0.0.0.0\r\n
a=rtcp-mux\r\n
a=ssrc:535547115 cname:f321de34-4671-48b0-9202-027cc11efbda\r\n
a=rtpmap:111 opus/48000/2\r\n
a=rtpmap:0 PCMU/8000\r\n
a=rtpmap:8 PCMA/8000\r\n
a=candidate:a6b520b26353bb623b76935054739bdf 1 udp 2130706431 172.16.2.244 64722 typ host\r\n
a=candidate:c458d848193c7797c0b7ad810a6b1723 1 udp 1694498815 112.95.133.134 64722 typ srflx raddr 172.16.2.244 rport 64722\r\n
a=end-of-candidates\r\n
a=ice-ufrag:xBHP\r\n
a=ice-pwd:R9ebuXQRuw5kvDLcgCc4Mp\r\n
a=fingerprint:sha-256 E3:AE:79:30:07:AE:04:17:82:2B:AC:59:F5:CF:1D:99:9F:B6:41:3B:61:A2:57:AD:3B:79:95:71:14:9E:CD:18\r\n
a=setup:active\r\n
m=video 64722 UDP/TLS/RTP/SAVPF 98 99 106 107\r\n
c=IN IP4 172.16.2.244\r\n
a=recvonly\r\n
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\n
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid\r\n
a=mid:1\r\n
a=msid:45cfa7a8-615f-4e31-a574-4b50be7c4626 9675423e-6b9e-4c10-aefb-7047eed0ca5a\r\n
a=rtcp:9 IN IP4 0.0.0.0\r\n
a=rtcp-mux\r\n
a=ssrc-group:FID 1305391672 1273480649\r\n
a=ssrc:1305391672 cname:f321de34-4671-48b0-9202-027cc11efbda\r\n
a=ssrc:1273480649 cname:f321de34-4671-48b0-9202-027cc11efbda\r\n
a=rtpmap:98 H264/90000\r\n
a=rtcp-fb:98 nack\r\n
a=rtcp-fb:98 nack pli\r\n
a=rtcp-fb:98 goog-remb\r\n
a=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\n
a=rtpmap:99 rtx/90000\r\n
a=fmtp:99 apt=98\r\n
a=rtpmap:106 VP8/90000\r\n
a=rtcp-fb:106 nack\r\n
a=rtcp-fb:106 nack pli\r\n
a=rtcp-fb:106 goog-remb\r\n
a=rtpmap:107 rtx/90000\r\n
a=fmtp:107 apt=106\r\n
a=candidate:a6b520b26353bb623b76935054739bdf 1 udp 2130706431 172.16.2.244 64722 typ host\r\n
a=candidate:c458d848193c7797c0b7ad810a6b1723 1 udp 1694498815 112.95.133.134 64722 typ srflx raddr 172.16.2.244 rport 64722\r\n
a=end-of-candidates\r\n
a=ice-ufrag:xBHP\r\n
a=ice-pwd:R9ebuXQRuw5kvDLcgCc4Mp\r\n
a=fingerprint:sha-256 E3:AE:79:30:07:AE:04:17:82:2B:AC:59:F5:CF:1D:99:9F:B6:41:3B:61:A2:57:AD:3B:79:95:71:14:9E:CD:18\r\n
a=setup:active\r\n"}