问题标签 [simple-peer]

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 回答
2608 浏览

javascript - WebRTC (simple-peer) + STUN 没有额外的信号?

我正在尝试使用 simple-peer 库来建立浏览器到浏览器的 WebRTC 连接(数据通道)。我的理解(也许我有一些误解)为了让两个浏览器通过 WebRTC 连接,它们必须交换 SDP 数据并执行 NAT 遍历。为了做到这一点,可以实现一个 STUN 服务器。

在 simple-peer 库中,他们声明 simple-peer 没有实现信令协议,但它确实提供了一种提供 STUN/ICE 服务器的方法。从他们的网格示例中考虑以下三个 HTML 文件:

peer1.html

peer2.html

peer3.html

你可以看到我在那里添加了两个 STUN 服务器。STUN 不交换必要的信令数据吗?但是,在查看他们的问题时,他们建议使用 websockets 来交换此类数据。那么我是否假设 STUN 只是为了让每个对等方都可以首先收集 SDP 信息,然后必须使用 websockets 来交换它?那么,在那之后,浏览器可以相互建立数据通道吗?

为什么我认为 STUN 会处理这个?当 STUN 已经能够向客户端提供数据时,引入 websocket 似乎有点多余。目标当然是尽快放弃所有中央服务器通信,转而支持浏览器到浏览器的数据通道。

一个好的答案可能会回答这些问题并修改示例。

0 投票
0 回答
676 浏览

javascript - peer-peer 没有在所有浏览器中使用 peerJS 连接

我正在尝试制作一个简单的点对点视频聊天。起初我尝试使用 webkit,连接已建立,但无法使 webkit 跨浏览器工作。

然后我开始使用 peer js。我正在关注 github 中的 feross/simple-peer 包。起初我试图建立一个数据连接。然后我会尝试发送流。现在数据连接建立在跨浏览器中工作正常。但突然它停止在 Mozilla 中工作。显示有关“TURN 服务器”的错误。但就在几天前,同样的代码还在跨浏览器运行。这是代码:

0 投票
0 回答
327 浏览

javascript - index.js:4 NotSupportedError:在简单对等体中发现 MediaStreamError

我在节点 JS 中使用简单的对等 js 进行对等连接。但是我收到了这个错误

index.js:4 NotSupportedError: MediaStreamError

这是我的代码

index.js

0 投票
1 回答
549 浏览

javascript - 成功信令后未建立 WebRTC 连接

我正在使用 simple-peer js 库在浏览器中创建对等连接。我已经通过 socket.io 设置了正确的信号,大多数时候一切正常;握手成功,p2p连接建立。

但有时尽管正确握手,但 p2p 连接不会启动,也不会引发错误。这在 VPN 上一直发生,但有时在没有 VPN 的情况下也会发生。我现在使用默认的 google STUN 服务器,并且没有提供 TURN 服务器。

任何关于可能是什么原因的启示将不胜感激。

0 投票
0 回答
1932 浏览

javascript - 无法在“RTCPeerConnection”上执行“setRemoteDescription”

我正在尝试使用SignalHubSimplePeer设置 webrtc 信令服务。但是在执行时出现以下错误:Uncaught (in promise) Error: InvalidStateError: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Called in wrong state: kStable.

这是代码:

我已经按照Kyle Robinson Young的 SignalHub 学习了这两个教程P2P Video Chat with JavaScript / WebRTC & P2P Signaling for WebRTC。

0 投票
1 回答
2843 浏览

node.js - 对等点使用 simple-peer 连接时无法将视频流式传输到对等点

我正在使用 simple-peer 来简化 webrtc 的使用,并且一切正常。但是我面临一个问题,当广播公司启动流并且观众加入流时,没有视频显示给观众。但是,如果广播公司刷新他的页面,视频就会显示在观众端。

广播者.js

查看器.js

服务器

0 投票
2 回答
569 浏览

javascript - 要求功能在 Asp.netcore javascript 中不起作用

我尝试使用 .net core MVC 实现 WebRTC 简单对等视频聊天应用程序。但是在编写需要建立对等连接的 javascript 实现时,他们使用了 require("xxx") 函数,我收到了一个未定义所需的错误。我知道这需要 node 或 requirejs。我也尝试过安装节点,但它不工作。

谁能告诉我如何在 .netcore MVC 项目 javascript 文件中加载所需的功能?(我也使用过 SignalR)

0 投票
0 回答
63 浏览

javascript - 在我的 javascript 文件中,有两个方法包含另一个包含相同名称的方法,并且当该函数被调用时,工作混乱

我在我的视频聊天应用程序中编写了 3 种方法,因为我是 javascript 新手,所以有一点困惑。在方法“SignalAnswer”中,它调用“peer.signal(answer)”,并调用“CreatePeer”中的信号函数。在“CreateAnswer”方法中也创建了一个信号函数,但它没有被调用。它将由 peer.signal(offer) 在同一方法中调用。我的猜测是因为 peer 会在两个不同的时间得到两个不同的对象。所以根据对象分配这个函数将被调用。任何人都可以解释一下。这些函数如何在 javascripts 中工作注意:连接用于调用 SingnalR 集线器。

0 投票
2 回答
1873 浏览

javascript - 如何使用 simple-peer webRTC SDK 进行屏幕共享

我正在尝试为我的聊天实现 webrtc 和简单的对等点。一切正常,但我想添加屏幕共享选项。为此,我尝试了:

但是我停止了摄像头,然后什么也没做,并且我对等计算机上的视频流被阻止了。没有错误,仅此而已。

当事件流被触发时,我已经放置了一个 console.log 。第一次触发,但是当我调用addStream方法时,它没有

如果有人可以帮助我,那将非常有帮助。

0 投票
0 回答
268 浏览

javascript - WEBRTC 防火墙规则问题

我为我的公司开发了一个 webrtc 平台,使用 SimplePeer JS 库和 PHP 作为服务器端。在大多数情况下,它与 STUN 和 TURN 服务器 (NODE JS) 一起工作就像一个魅力。

当我有一些具有复杂网络的大客户端(例如防火墙)在出站流量中关闭时出现我的问题,因为它们无法打开(或不想要安全策略)所有 IP 地址的 UDP 端口范围(因为她每次都不同你知道)

我的问题是,我认为我需要为流媒体使用中继服务器,而不是使用经典的点对点解决方案。那么我可以使用什么技术呢?