问题标签 [peer-connection]

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 投票
2 回答
1175 浏览

javascript - PeerJS 或 WebRTC 对等连接是否需要服务器或仅在客户端之间?

我正在开发一个项目,该项目应该允许用户相互连接(1 对 1)并通过网站聊天。如果我使用http://peerjs.com/实现或 WebRTC 对等连接的其他自定义解决方案,我是否需要服务器来代理连接?如果是这样,它的目的是什么?我认为 WebRTC 对等连接的全部意义在于允许直接的用户到用户连接。

0 投票
1 回答
1320 浏览

webrtc - WebRTC 数据通道缓冲已满

首先,我希望你明白我不擅长英语。

对于文件传输,在 Mesh 拓扑中,在 Chrome 中,

当缓冲量为 16MB 时,通道关闭并显示错误消息。

“未捕获的 NetworkError:无法在 'RTCDataChannel' 上执行 'send':无法发送数据”
(它在 chrome 中,而不是在 firefox 中。)

如何发送文件(超过 16MB)?

文件工作者.js

文件发送者

0 投票
1 回答
213 浏览

webrtc - ChromeCast 上的 WebRtc JS 支持?

ChromeCast 是否支持 WebRtc 和 Peer Connection API?如果是,有没有例子。

谢谢。

0 投票
1 回答
455 浏览

webrtc - 使用 TURN 时,状态为“完成”的 WebRTC iceGatheringChanged 需要很长时间才能触发(~分钟)

设想:

我在 iOS 上使用 WebRTC(Google 的 libjingle),PeerConnection 是使用 TURN 服务器设置的,我正在等待所有候选人聚集,然后再将它们发送给对等方(我正在使用 SIP)。问题是,尽管所有候选人都在大约 1-3 秒内收集完毕(我可以在日志中看到),但直到大约一分钟后才使用状态 GatheringComplete 调用 iceGatheringChanged() 回调!

知道为什么会这样吗?

在使用 Google 的 AppRTCDemo for iOS 分析流量后,似乎要触发 GatheringComplete,客户端需要已经从远程端接收到候选人,并且因为它似乎需要设置 TURN 分配并在新的分配,以便可以与对等方交换数据。是这样吗?如果是,为什么?

此致

0 投票
2 回答
2288 浏览

javascript - 如何使用 coturn (stun/turn) 服务器在 Web 应用程序中建立对等连接

我正在构建一个用于凸轮广播的网络应用程序。我将 Django 用于 Web 应用程序,并将 coturn 用作(STUN/TURN)信号服务器。我的目标是使用 WebRTC 来实现。

我不知道如何将一个对等点连接到信令服务器以便其他对等点可以访问。所以我需要知道的是如何建立“PeerConnection”。在 Web 应用程序中,我有我需要的一切(我认为):user.id、共享密钥、信令服务器 IP 和端口,......但我不知道如何将它混合到 HTML JS 脚本中以连接 coturn 服务器。

我已阅读 coturn 服务器文档并搜索了一些示例,但找不到这部分的示例。

任何人都可以给我一个例子吗?

0 投票
2 回答
2101 浏览

web-applications - Web RTC Peer Discovery

So I am trying to develop a web application that has the capability to make video calls between users of the web application. Theoretically, Caller A can look in a directory in the web application, see that Caller B is online and make a video call. My question is how do you get the IP and port number of Caller B? I realize that this information needs to be exchanged via signaling but how does Caller A ever get their information to Caller B if they don't know what Caller B's IP or port number are?

0 投票
0 回答
151 浏览

webrtc - serverconnection.onmessage=gotMessageFromServer 在 createOffer 之后从未调用过

我正在尝试使用 WebRTC 和 websockets 连接到浏览器进行视频聊天。

我能够获得候选冰块,但永远不会调用createoffer该函数(我期望远程流响应的地方) 。serverconnection.onmessage

在我的 index.html

服务器.js

0 投票
2 回答
2455 浏览

ios - How to implement "Who is talking?" feature in webrtc ios application?

I am creating an ios application using webRTC for video conferencing. I want to detect who is talking in the peer connection.

To be more specific,I want to detect the audio activity of the remote peer I am connected to so that I can detect the person who is currently speaking.

0 投票
0 回答
513 浏览

javascript - WebRtc setRemoteDescription 的确切原因是什么:“无法为频道设置 ssl 角色”?

当我想建立一个 WebRtc 连接时,我收到以下错误(尽管调用了:RTCInitializeSSL();):

setRemoteDescription 错误`Domain=org.webrtc.RTCPeerConnection Code=-1“无法设置远程应答 sdp:无法下推传输描述:无法为通道设置 ssl 角色。” UserInfo={NSLocalizedDescription=设置远程应答 sdp 失败:下推传输描述失败:为通道设置 ssl 角色失败。}

你知道为什么吗?

0 投票
1 回答
2010 浏览

javascript - 泄漏 RTCPeerConnections。即使在页面刷新之后

我有一个非常简单的 RTCPeerConnection 应用程序正在运行。使用 Firebase 发出信号。RTCPeerConnections 建立,然后我获取流,并对其执行以下操作:

然后我把它streamURL设置为video.src = streamURL. 这就是我如何看到远程用户的视频。然后,当我完成连接(我想结束对话)时,我会执行以下操作:

这将结束连接,包括关闭本地网络摄像头的绿灯。这告诉我,大部分事情已经结束了。

然后我检查chrome://webrtc-internals并且连接仍然存在。即使在我刷新后,连接仍然存在。这似乎很奇怪。即使在刷新之后,它怎么可能仍然存在?请帮忙。我没有正确结束 RTCPeerConnection 吗?我认为这是正确的方法。我只是无法弄清楚 webrtc 内部如何即使在页面刷新后仍然可以显示它。请帮忙!