问题标签 [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 回答
42 浏览

javascript - 为什么 onnegotiationneeded 只触发一次?

我正在添加tracks到我的同行,第一次onnegotiationneeded触发就好了。但是,在添加更多时tracks onnegotiationneeded不会触发,因此新tracks的不会显示任何效果。这是我正在使用的代码的主要部分:

0 投票
1 回答
75 浏览

javascript - 如何在 webRTC 对等连接中使用 addTrack 发送额外数据?

tracks从不同的客户端添加多个peer,我想知道是否可以发送额外的数据addTrack来识别哪个轨道属于哪个用户?没有提名人,我无法分辨哪个track是由谁派来的。

0 投票
1 回答
35 浏览

javascript - 为什么在 webRTC 中向对等方添加轨道时会收到 2 个 mediaStreams?

我被理解RTCPeerConnection.addStream()为已弃用,而addTrack()应在其位置使用。但是,这会导致服务器添加两个tracks(音频和视频),因此我mediaStream在客户端收到 2。

其中之一就mediaStreams足够了吗?有没有办法只寄回1 stream

这是我的代码的一部分:

服务器 :

和客户:

其中我收到 2e.streams[0].id具有相同的价值。

0 投票
1 回答
56 浏览

reactjs - 如何在对等js中建立对等点之间的连接

我的目标是连接webrtc同行并分享他们的视频,但我无法在下面的代码中连接同行。

我知道这行不通,那么我该如何连接对等点id呢?请帮我解决这个问题。

0 投票
1 回答
549 浏览

javascript - Node.js - 使用 P2P 的客户端到服务器 WebRTC

在寻求使用客户端到服务器模型(如 Discord)实现 WebRTC 后,我得出的结论是,实现此目的的方法是拥有 2 个客户端 - 服务器和客户端。音频流可以叠加并在 1 个单一流中发送回用户。

后端/server.js

前端/index.js

我将如何实现在客户端和服务器之间发送媒体流?

0 投票
0 回答
21 浏览

simple-peer - peer.on('stream', stream => {}) 没有被提出

在与 simplePeer 成功建立对等连接后,我从发起该提议的对等方发送一个流,如下所示:

在另一个同行我有这个:

接收对等方上的 on('stream', ...) 事件永远不会被调用。所以我知道一切都正确连接,因为我可以在对等方之间传递数据,只是流没有通过。

0 投票
0 回答
67 浏览

reactjs - 屏幕共享 OneToMany,使用 WebRTC,Simple-Peer

我想向所有用户共享屏幕。在一对一的情况下,它工作正常。但在一对多的情况下,它就达不到要求了。当我传递 user.id 时,它将以 1:0 的比例与其他人共享面部视图流,当我传递 streamTrack.Id 时,它通过替换面部视图流 3:1 仅与其他人共享屏幕共享流。

套接字数据在下面的代码中使用:-

0 投票
0 回答
245 浏览

javascript - WebRTC 远程对等流不显示

我使用 WebRTC 创建了一个简单的视频通话应用程序。我已从以下链接 https://webrtc.github.io/samples/src/content/peerconnection/pc1/中获取参考

我已将该应用程序与信令服务器集成。PC1 将向信令服务器发送报价,PC2 将接收报价并发送回答案。

这是我使用 Javscript 编写的代码

HTML

Javascript

以下是用于从服务器发送和接收数据的函数

这些是创建报价和答案的功能

连接后,我可以从两端创建报价和答案。client_video我也可以在框架中看到客户端视频。但我无法看到远程对等流。我在连接中没有看到任何错误。所有的连接都很好。在两者Firefoxchrome,此代码都是not working. 但是webRTC sample code在两个浏览器中都可以使用。

我在这里做错了什么?请任何人提出解决方案或提示?

0 投票
0 回答
59 浏览

reactjs - 简单的对等视频流未在近距离视频通话 webapp 中播放

所以我一直在学习 webrtc 并制作了一个群组视频通话应用程序,我想将其转换为近距离视频通话应用程序。

同一个房间的用户可以在他们的 p5.js 画布上移动一个点,如果 2 个点比某个阈值更近,那么这些用户将通过视频流连接,但如果 2 个或更多点首先移动很远,我会得到一个空白流然后再靠近一点(用户只能看到他们的视频。

最初加入视频通话后工作正常,只有在用户移动很远然后再靠近时才会出现问题)。

这是代码...

这是检查 2 个用户在画布上是否足够接近的邻近功能。

这是渲染区域..

我是 webrtc 和 simple-peer 的新手,所以如果我遗漏了一些愚蠢的东西,我深表歉意,但在此先感谢:)

0 投票
0 回答
159 浏览

node.js - 从 ReadableStream 创建 MediaStream

我正在使用puppeteer-stream来获取由 Node 控制的浏览器流,在服务器上运行。我可以毫无问题地将此流写入文件。

我想通过 WebRTC 将此流流式传输到浏览器(基本上是为了查看浏览器实时运行的内容)。对于 webrtc,我正在尝试使用simple-peer,因为它已经为 Node 和浏览器端提供了现成的绑定。

但是,当我尝试将此流传递给 simple-peer 时,出现以下错误:

这是因为我拥有的 Stream 是ReadableStream,但 simple-peer (或大多数 webrtc 库)需要一个MediaStream

如何将实时ReadableStream转换为可与 WebRTC 一起使用的MediaStream ?我找到了将MediaStreams转换为ReadableStreams的示例, 例如此处,反之亦然。

我在这里错过了什么吗?