- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个问题,只有对等连接的一侧获得远程流。
对于这两种情况,我都在创建答案/提议之前添加流。
const peer = new RTCPeerConnection(servers);
if (localStream instanceof MediaStream) {
localStream.getTracks().map(track =>peer.addTrack(track, localStream));
}
然后根据报价/答案我执行以下步骤:
// means we got offer
if (remoteDesc) {
peer
.setRemoteDescription(remoteDesc)
.then(_ => peer.createAnswer())
.then(desc => peer.setLocalDescription(desc))
.then(_ => Signaling.sendAnswer(peer.localDescription));
} else {
// means we will create offer
peer
.createOffer()
.then(desc => peer.setLocalDescription(desc))
.then(_ => Signaling.sendOffer(peer.localDescription));
}
但是 peer.ontrack
仅针对创建要约的一方发送。另一个没有获取远程流。
有没有人能想出解决办法?
答案设置
Signaling.onAnswer(desc => peer.setRemoteDescription(new RTCSessionDescription(desc)));
Signaling
是一个 socket channel 调度和处理 offer、answer、candidates 等...
peer.onicecandidate = onIceCandidate;
onIceCandidate(iceEvent) {
if (iceEvent.candidate) {
Signaling.sendCandidate(iceEvent.candidate);
} else {
// All ICE candidates have been sent
}
}
Signaling.onCandidate(candidate => peer. addIceCandidate(new RTCIceCandidate(candidate)));
{type: "offer", sdp: "v=0
↵o=- 4410298974094571977 2 IN IP4 127.0.0.1
↵s…id:data
↵a=sctpmap:5000 webrtc-datachannel 1024
↵"}
sdp
:
"v=0
↵o=- 4410298974094571977 2 IN IP4 127.0.0.1
↵s=-
↵t=0 0
↵a=group:BUNDLE audio video data
↵a=msid-semantic: WMS 20c109a4-ad79-48a6-9de9-a872a48ddfbc
↵m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 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:KUmY
↵a=ice-pwd:l6szW8mudEAgi6dltLkdIE3S
↵a=fingerprint:sha-256 39:6C:A2:46:59:43:71:CC:8C:04:E8:EB:39:C0:27:FC:38:4B:71:CF:4D:A3:ED:6B:A1:AE:DB:F8:83:90:92:EE
↵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: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:1689860201 cname:/EesnVK9O+Osiowm
↵a=ssrc:1689860201 msid:20c109a4-ad79-48a6-9de9-a872a48ddfbc ab4a10b2-3047-43a1-b9e9-4864d5c654f8
↵a=ssrc:1689860201 mslabel:20c109a4-ad79-48a6-9de9-a872a48ddfbc
↵a=ssrc:1689860201 label:ab4a10b2-3047-43a1-b9e9-4864d5c654f8
↵m=video 9 UDP/TLS/RTP/SAVPF 96 98 100 102 127 97 99 101 125
↵c=IN IP4 0.0.0.0
↵a=rtcp:9 IN IP4 0.0.0.0
↵a=ice-ufrag:KUmY
↵a=ice-pwd:l6szW8mudEAgi6dltLkdIE3S
↵a=fingerprint:sha-256 39:6C:A2:46:59:43:71:CC:8C:04:E8:EB:39:C0:27:FC:38:4B:71:CF:4D:A3:ED:6B:A1:AE:DB:F8:83:90:92:EE
↵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=sendrecv
↵a=rtcp-mux
↵a=rtcp-rsize
↵a=rtpmap:96 VP8/90000
↵a=rtcp-fb:96 ccm fir
↵a=rtcp-fb:96 nack
↵a=rtcp-fb:96 nack pli
↵a=rtcp-fb:96 goog-remb
↵a=rtcp-fb:96 transport-cc
↵a=rtpmap:98 VP9/90000
↵a=rtcp-fb:98 ccm fir
↵a=rtcp-fb:98 nack
↵a=rtcp-fb:98 nack pli
↵a=rtcp-fb:98 goog-remb
↵a=rtcp-fb:98 transport-cc
↵a=rtpmap:100 H264/90000
↵a=rtcp-fb:100 ccm fir
↵a=rtcp-fb:100 nack
↵a=rtcp-fb:100 nack pli
↵a=rtcp-fb:100 goog-remb
↵a=rtcp-fb:100 transport-cc
↵a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
↵a=rtpmap:102 red/90000
↵a=rtpmap:127 ulpfec/90000
↵a=rtpmap:97 rtx/90000
↵a=fmtp:97 apt=96
↵a=rtpmap:99 rtx/90000
↵a=fmtp:99 apt=98
↵a=rtpmap:101 rtx/90000
↵a=fmtp:101 apt=100
↵a=rtpmap:125 rtx/90000
↵a=fmtp:125 apt=102
↵a=ssrc-group:FID 2136416857 1566502106
↵a=ssrc:2136416857 cname:/EesnVK9O+Osiowm
↵a=ssrc:2136416857 msid:20c109a4-ad79-48a6-9de9-a872a48ddfbc 3f67ff63-fd06-433c-99a6-22220126b0c7
↵a=ssrc:2136416857 mslabel:20c109a4-ad79-48a6-9de9-a872a48ddfbc
↵a=ssrc:2136416857 label:3f67ff63-fd06-433c-99a6-22220126b0c7
↵a=ssrc:1566502106 cname:/EesnVK9O+Osiowm
↵a=ssrc:1566502106 msid:20c109a4-ad79-48a6-9de9-a872a48ddfbc 3f67ff63-fd06-433c-99a6-22220126b0c7
↵a=ssrc:1566502106 mslabel:20c109a4-ad79-48a6-9de9-a872a48ddfbc
↵a=ssrc:1566502106 label:3f67ff63-fd06-433c-99a6-22220126b0c7
↵m=application 9 DTLS/SCTP 5000
↵c=IN IP4 0.0.0.0
↵a=ice-ufrag:KUmY
↵a=ice-pwd:l6szW8mudEAgi6dltLkdIE3S
↵a=fingerprint:sha-256 39:6C:A2:46:59:43:71:CC:8C:04:E8:EB:39:C0:27:FC:38:4B:71:CF:4D:A3:ED:6B:A1:AE:DB:F8:83:90:92:EE
↵a=setup:actpass
↵a=mid:data
↵a=sctpmap:5000 webrtc-datachannel 1024
↵"
type
:
"offer"
{type: "answer", sdp: "v=0
↵o=- 7479793843491036982 2 IN IP4 127.0.0.1
↵s…id:data
↵a=sctpmap:5000 webrtc-datachannel 1024
↵"}
sdp
:
"v=0
↵o=- 7479793843491036982 2 IN IP4 127.0.0.1
↵s=-
↵t=0 0
↵a=group:BUNDLE audio video data
↵a=msid-semantic: WMS fa46b87c-d963-4145-8d6f-3f268566bdce
↵m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 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:wQcK
↵a=ice-pwd:HzGicV7dTaHoMxcCugtLmM/X
↵a=fingerprint:sha-256 38:8F:8D:2D:47:FA:1A:03:DB:99:DA:BC:A5:46:16:D6:F4:C4:2C:6E:30:62:DF:43:1E:45:58:79:7F:78:2D:69
↵a=setup:active
↵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: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:2114419408 cname:5/GCTq5gjAmxzBRY
↵a=ssrc:2114419408 msid:fa46b87c-d963-4145-8d6f-3f268566bdce daa62a3e-c127-44e1-908e-e0e36404ed07
↵a=ssrc:2114419408 mslabel:fa46b87c-d963-4145-8d6f-3f268566bdce
↵a=ssrc:2114419408 label:daa62a3e-c127-44e1-908e-e0e36404ed07
↵m=video 9 UDP/TLS/RTP/SAVPF 96 98 100 102 127 97 99 101 125
↵c=IN IP4 0.0.0.0
↵a=rtcp:9 IN IP4 0.0.0.0
↵a=ice-ufrag:wQcK
↵a=ice-pwd:HzGicV7dTaHoMxcCugtLmM/X
↵a=fingerprint:sha-256 38:8F:8D:2D:47:FA:1A:03:DB:99:DA:BC:A5:46:16:D6:F4:C4:2C:6E:30:62:DF:43:1E:45:58:79:7F:78:2D:69
↵a=setup:active
↵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=sendrecv
↵a=rtcp-mux
↵a=rtcp-rsize
↵a=rtpmap:96 VP8/90000
↵a=rtcp-fb:96 ccm fir
↵a=rtcp-fb:96 nack
↵a=rtcp-fb:96 nack pli
↵a=rtcp-fb:96 goog-remb
↵a=rtcp-fb:96 transport-cc
↵a=rtpmap:98 VP9/90000
↵a=rtcp-fb:98 ccm fir
↵a=rtcp-fb:98 nack
↵a=rtcp-fb:98 nack pli
↵a=rtcp-fb:98 goog-remb
↵a=rtcp-fb:98 transport-cc
↵a=rtpmap:100 H264/90000
↵a=rtcp-fb:100 ccm fir
↵a=rtcp-fb:100 nack
↵a=rtcp-fb:100 nack pli
↵a=rtcp-fb:100 goog-remb
↵a=rtcp-fb:100 transport-cc
↵a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
↵a=rtpmap:102 red/90000
↵a=rtpmap:127 ulpfec/90000
↵a=rtpmap:97 rtx/90000
↵a=fmtp:97 apt=96
↵a=rtpmap:99 rtx/90000
↵a=fmtp:99 apt=98
↵a=rtpmap:101 rtx/90000
↵a=fmtp:101 apt=100
↵a=rtpmap:125 rtx/90000
↵a=fmtp:125 apt=102
↵a=ssrc-group:FID 1018133779 1796172851
↵a=ssrc:1018133779 cname:5/GCTq5gjAmxzBRY
↵a=ssrc:1018133779 msid:fa46b87c-d963-4145-8d6f-3f268566bdce b2d00a83-f7e0-4765-aa91-b7a470414a6f
↵a=ssrc:1018133779 mslabel:fa46b87c-d963-4145-8d6f-3f268566bdce
↵a=ssrc:1018133779 label:b2d00a83-f7e0-4765-aa91-b7a470414a6f
↵a=ssrc:1796172851 cname:5/GCTq5gjAmxzBRY
↵a=ssrc:1796172851 msid:fa46b87c-d963-4145-8d6f-3f268566bdce b2d00a83-f7e0-4765-aa91-b7a470414a6f
↵a=ssrc:1796172851 mslabel:fa46b87c-d963-4145-8d6f-3f268566bdce
↵a=ssrc:1796172851 label:b2d00a83-f7e0-4765-aa91-b7a470414a6f
↵m=application 9 DTLS/SCTP 5000
↵c=IN IP4 0.0.0.0
↵b=AS:30
↵a=ice-ufrag:wQcK
↵a=ice-pwd:HzGicV7dTaHoMxcCugtLmM/X
↵a=fingerprint:sha-256 38:8F:8D:2D:47:FA:1A:03:DB:99:DA:BC:A5:46:16:D6:F4:C4:2C:6E:30:62:DF:43:1E:45:58:79:7F:78:2D:69
↵a=setup:active
↵a=mid:data
↵a=sctpmap:5000 webrtc-datachannel 1024
↵"
type
:
"answer"
最佳答案
看来你没有设置远程应答。
在下面的场景 b/w A 到 B 中:
A -> 创建报价并发送给 B
B -> 设置远程报价然后创建答案并发送回 A
A -> 收到答案后,你在做什么? (您已使用 .setRemoteDescription
设置了远程应答,然后您将收到轨道)
然后你需要处理候选人properly .
关于html - 为什么只有对等连接的一侧获得远程流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44814005/
我希望我的 C/C++ 客户端通过 SSL 验证服务器。我首先使用 从服务器下载了证书文件 openssl s_client -showcerts -connect www.openssl.org:4
我正在尝试学习使用 RSelenium。我坚持只是尝试使用 rsDriver 启动服务器。我只是想运行下面的代码并得到以下错误: rD = 8 x64 (build 9200) Matrix prod
我已经建立了一个 8 组织的单 channel 结构网络。我能够进行整个网络设置。但是设置成功后。一些 docker 实例停止监听它们各自的端口。当我做 docker ps -a它显示了一些对等节点图
如何在多个 Azure Kubernetes 集群上的 Pod 之间配置路由? 与 Google Cloud 上的 ip-alias/vpc-native 类似的内容 最佳答案 在 AKS 中,我认为
我正在尝试实现点对点连接应用程序。所以我想将 2 个以上的设备相互连接。如何为每对设备创建单独的 session 使用新的 GameKit 框架是否可以连接到 1 个以上的设备? 最佳答案 您可以使用
我一直致力于创建一个 VPC 对等连接,该连接可以使用 cloudformation 从 eu-west-1 与 us-east-1 进行对等。这是目前的云信息: AWSTemplateFormatV
我正在尝试在两个不同区域之间进行 vpc 对等互连。在这里我已经创建了资源,现在我只想将它们的 id 作为参数传递。在同一区域,我可以在两个 VPC 之间进行对等。但我在两个不同的区域收到错误,因为r
我是一名优秀的程序员,十分优秀!