问题标签 [rtcpeerconnection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5077 浏览

google-chrome - 无法从 RTCPeerConnection 获取 IP V4 地址 - chrome

我需要从 Web 应用程序中获取客户端本地 IP 地址。

为此,我使用标准的 RTCPeerConnection 实现来获取。但是返回的 ice 候选并没有携带 IP V4 地址,而是一个看起来像 guid 的地址:asdf-xxxx-saass-xxxx.local

但令人惊讶的是,这个chrome 扩展能够在同一台机器和浏览器上获取相同的内容。

注意:我在 Web 应用程序中使用的代码与扩展程序相同

这是相同的html代码:

0 投票
0 回答
1246 浏览

javascript - 没有互联网连接的本地主机上的 WebRTC 连接

我正在尝试在使用 aiortc 的 Python 编写的相机服务和没有互联网连接的 javascript 中的 Web 前端之间创建一个 RTCPeerConnection。

camera-service 访问 usb-camera 并为其他两个服务提供流。用于用 javascript 编写的前端和用 python 编写的图像分类服务。所有这些服务都在 localhost 的不同端口上运行。我需要在没有互联网连接的情况下完成此操作。

两个 python 服务之间的 RTCPeerConnection 可以在没有互联网连接的情况下工作,但是前端和摄像头服务之间的连接不起作用。

如果没有互联网连接,相机服务的 ICEConnectionState 永远不会完成仅检查,所以我认为这是某种问题。

要重现此问题,只需尝试使用和不使用 Internet 连接的 aiortc 网络摄像头示例 ( https://github.com/aiortc/aiortc/tree/master/examples/webcam )。

JavaScript中的前端

python中的相机服务

python中的图像分类服务

图像分类服务的结果: RTC Connection 可以在有或没有连接到互联网的情况下工作。

前端的预期结果相同,但前端 RTC 连接在没有 Internet 连接的情况下无法工作。

0 投票
1 回答
407 浏览

webrtc - android问题中的多个对等连接Web-RTC

当我为组音频呼叫创建多个对等连接时。所有用户都相互连接,但只有第一个接收者能听到来电者的声音并解决问题。我们希望发送具有多个对等连接的媒体。

0 投票
0 回答
48 浏览

webrtc - 为什么 WebRTC 流到对等示例有两个 RTCPeerConnection 对象

我正在研究这个示例并努力对其进行修改,以便视频可以从一个浏览器实例流式传输,然后出现在第二个实例上。我有几个问题:

ICEServers 数组是空的原因是因为 localhost 吗?这仍然可以在两个浏览器实例上运行吗?

我也不明白为什么有两个 RTCPeerConnection 对象?由于 RTCPeerConnection 类包含本地和远程方法,不应该只有一个对象吗?

0 投票
0 回答
3253 浏览

javascript - RTCPeerConnection m 行与报价不匹配

我正在开发一个 WebRTC 视频流程序,当用户想要添加视频流时,它必须能够重新协商 rtc 连接。因为它是我的程序关闭现有的 RTCPeerConnection 设置Connection变量null然后创建一个新的 RTCPeerConnection 并重新启动提供/答案交换。

我一直收到错误:

无法设置远程应答 sdp:应答中 m 行的顺序与 offer 中的顺序不匹配。拒绝回答。

建立初始连接后。

尽管连接已完全关闭并且两端都设置为 null,为什么会发生这种情况?

0 投票
0 回答
232 浏览

webrtc - 添加到 RTCPeerConnection 时如何将元数据放在 MediaStream 上?

我正在开发一个多用户视频聊天应用程序,每个用户都有不同的角色。

在监听RTCPeerConnection.onAddStream事件时,我无法弄清楚 mediaStream 的来源。

有没有一种简单的方法可以在 MediaStream 的源中添加元数据,这对接收端会有帮助?

目前我正在通过“信号”解决这个问题。在创建 MediaStream 时,我通过套接字共享 id,在接收端,我通过比较来自RTCPeerConnection.getRemoteStreams(). 但问题是,如果有人迟到,她就会错过信息。

如果您对此有任何建议,请告诉我。

0 投票
1 回答
170 浏览

webrtc - 检查webrtc连接是否建立成功

我在 localhost 上创建了一个 webrtc 应用程序。因为输入视频和输出视频来自同一个摄像头,所以我无法直观地确定 webrtc 连接是否确实正常工作。

我去chrome://webrtc-internals/, 检查详细信息,但我不确定哪一个告诉我连接是否正常。是否有一些我可以检查的标志,可能在RTCPeerConnectionobject 或 in 上webrtc-internals,以确定连接是否确实成功?

0 投票
0 回答
591 浏览

webrtc - 在 webrtc 中需要从 answerer onnegotiation 动态地将跟踪添加到提供者

在刚刚添加之前是否有通知提供者不存在的轨道,以便从下面的代码中从应答者那里获取新的流?

对于我现在的当前问题,提供者可以添加新的不存在的轨道,并且 onnegotiationneeded 将被触发,并且还能够成功地创建报价和更新媒体,但是当回答者执行相同的过程时,onnegotiationneeded 也从回答者正常触发但没有媒体因为offerer端没有新的track就被交换了!

我用于replaceOrAddTrack(remotePartiID, track, TrackKind)添加和替换曲目

如果与初始连接具有相同的轨道类型,则只有替换适用于任一端

0 投票
3 回答
875 浏览

javascript - 谷歌浏览器 webrtc-internals 中未清除 RTCPeerConnection

我在我的项目中使用 webrtc。但是当RTCPeerConnection.iceConnectionState='closed'它没有从浏览器中删除时 (Google Chrome 67.0.3396.99) 。

我已经使用过RTCPeerConnection.close(),之后我将连接对象设置为null. 但它仍然显示在chrome://webrtc-internals/中。问题是我的应用程序中可能有太多连接,所以当连接未被清除时,一段时间后我无法创建任何新连接。它在我的应用程序中显示太多连接错误。有人可以帮我解决这个问题吗?

谢谢

0 投票
0 回答
61 浏览

ios - Not getting WebRTC status chanegd to RTCICEConnectionConnected

below are my steps:

  1. Initialise webRTC
  2. socket connected
  3. onRenegotiationNeeded
  4. addLocalMediaStrem
  5. peerConnectionCreateOffer
  6. didCreateSessionDescription
  7. setLocalDescriptionWith SDP
  8. send SDP to socket
  9. RTCICEGatheringGathering
  10. get local ICECandidates
  11. received message from socket
  12. RTCSignalingStable
  13. RTCICEConnectionChecking
  14. peerConnection?.setRemoteDescriptionWith SDP
  15. received message from socket
  16. RTCICEGatheringComplete
  17. RTCSignalingHaveRemoteOffer
  18. received remote media stream

but still not getting RTCICEConnectionConnected state. why is it so? what is missing?