问题标签 [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.
firefox - 无法在 Mozilla Firefox (WebRTC) 中设置本地描述
我正在使用 Mozilla 的应答呼叫文档来应答Mozilla Firefox 35.0.1中的 WebRTC 呼叫,但每次我尝试在对等连接上设置本地描述时都会失败。
错误是带有以下消息的INTERNAL_ERROR :
无法启动媒体频道原因 = OK
我的代码是用 CoffeeScript 编写的,但希望它易于阅读:
如您所见,在对等连接上设置本地描述是第五步。以下是我之前执行的步骤:
- 请求用户媒体流 (
navigator.getUserMedia
) - 设置本地媒体流 (
pc.addStream / pc.onaddstream
) - 设置远程 SDP (
pc.setRemoteDescription
) - 创建答案 (
pc.createAnswer
) - 设置本地 SDP (
pc.setLocalDescription
)
这是 Firefox 生成的 SDP 答案,我尝试通过以下方式设置对等连接pc.setLocalDescription
:
我需要注意其他事情吗?
video - 使用数据通道 + 媒体源扩展 API 发送本地视频
我一直在玩 WebRTC peerconnections,但似乎我正在扩展 peerconnections 和 p2p 视频的可能性(至少现在是这样)
现在,我一直在研究 Media Source Extensions API,可能会创建一个替代解决方法。
上周左右一直在使用 MSE API,到目前为止能够使本地 .webm 视频文件正常工作 - 即将视频文件分块并将其显示在 html 视频元素上。
接下来,我尝试让节点服务器将视频分块并将其发送到客户端,然后客户端使用 MSE API 显示视频(MSE 应该如何使用的实际示例)
现在我想知道是否可以通过 p2p 数据通道从 html 视频元素发送本地视频,然后使用 MSE API 在接收器客户端上拼接视频。这几乎是在重新创建 WebRTC 对等连接现在已经在做的事情
只是想知道是否有人尝试过这个,因为我怀疑人们是否会正常使用这些 API。不管怎样,我很快就会尝试这个:]
sockets - peerconnection_client 不显示对等点列表
在这里,我尝试运行 WebRTC 代码中可用的一些示例......我在我的机器(笔记本电脑,运行 Windows 8.1)上运行 peerconnection_server.exe,它成功运行。我还通过 peerconnection_client.exe 运行 2 个客户端。在 peerconnection_server 我看到以下内容:
服务器侦听端口 8888 新连接...
添加了新成员(总数 = 1):lkarapetyan@SYS0700
断开套接字
连接总数:1
新连接...
新连接...
添加了新成员(总数 = 2):lkarapetyan@SYS0700
Disconnecting socket
Total connected: 2
Disconnecting socket
Total connected: 2
New connection...
New connection...
假设这意味着两个客户端都已成功连接。但是,在客户端,已连接的对等点列表仍然为空(也尝试在另一台机器上运行另一个客户端并连接到服务器,结果是相同的)。
为什么 peerconnection_client 中没有显示已连接的对等点列表?我究竟做错了什么?
javascript - 如何判断 pc.onnegotiationneeded 是否因为流已被删除而被解雇?
我正在处理一个RTCPeerConnection ( ),它有一个名为onnegotiationneededpc
的事件处理程序。
当使用或onnegotiationneeded
添加或删除完整的媒体流时,会触发“ ” 。pc.addStream
pc.removeStream
是否可以在onnegotiationneeded
函数内部判断它是否因为添加或删除了流而被执行?因为通过阅读文档我找不到那个状态。
目前,当我做pc.addStream
或时,我正在切换一个标志pc.removeStream
。这个标志可以帮助我判断onnegotiationneeded
它是否被流删除触发。
但我想知道浏览器(Chrome 40 或 Firefox 36)API 是否已经提供了这样的属性?
android - java.lang.UnsatisfiedLinkError:未找到本机方法:org.webrtc.PeerConnectionFactory.initializeFieldTrials:(Ljava/lang/String;)V
我正在开发一个具有视频聊天功能的模块。为此,我正在使用 Webrtc。我非常接近做到这一点,但我在打电话时遇到了一个问题。
服务器总是返回
在此之后,我遇到了另一个问题,例如,
首先,我遇到了 jingle 本机库的问题。我也将它集成到 jni 目录中。还更新了 peerconnection_jni.cc 文件但同样的错误..
我也可以附加 peerconnection_jni.cc 文件(如果需要)。
我也在谷歌上搜索过。但没有得到实际输出。谁能帮帮我吗?
更新 :
这是我的 peerconnection_jni.cc 的代码
这是我的 Logcat 输出。
javascript - WebRTC Ice State =“失败”黑色视频
在 Firefox 中的 about:webrtc 中,我的 IceState 总是“进行中”,直到它失败。如果我在本地使用该网站,它可以工作,但如果一个朋友尝试给我打电话,它不起作用,远程启动但它是空白的。
轮到我眩晕服务器:
我正在使用 AWS 服务器作为 STUN 和信令。关于:webrtc 错误:
INFO 设置对状态 FAILED ERR 指定了太多组件 WARNING 指定的虚假候选 ERR 配对本地涓流 ICE 候选 srflx
javascript - 仅适用于一对一,其中多对多,webrtc
我正在为这种风格的视频通话开发一个会议风格的应用程序(多对多)。该代码在 GitHub 上可用,但我没有太多 node.js 经验,因此我决定使用 PHP 创建自己的服务器。
我使用 WebSockets 创建了服务器。这很简单——它接收消息并将它们转发给所有其他连接的客户端(即,不是发送消息的客户端)。仅此而已-仅此而已;一点也不差。
但我的问题是这种架构不允许客户端与多个人连接,即,当客户端尝试与第三人连接时,附加流会失败。客户端只能一对一连接。
我不知道错误是在 JavaScript 中还是我需要改进服务器。我该怎么做才能使其连接到所有加入的客户?
查看我的代码:
HTML
JavaScript
webrtc - 如何关闭 webrtc 数据通道?
我不能使用以下方法。
因为我只使用数据通道(不使用 getUserMedia)
有没有办法关闭数据通道?
webrtc - 无法在对等连接的接收端获取 WebRTC 音轨数据(在本机 C++ 代码中)
我正在尝试使用PeerConnection
从一个本机(C++)端点向另一个端点发送视频和音频数据。我已经弄清楚如何在接收端点上获取视频帧,但似乎无法获取音频数据。
在回调中,MediaStreamInterface
我在接收端点上OnAddStream
正确报告同时具有视频和音频轨道。为了获取音频数据,我尝试在接收到的音轨上实现AudioTrackSinkInterface
并调用,但从未调用回调。并且由于某种原因,音轨的方法返回 NULL ......所以我不知道如何从流中提取音频数据。AddSink()
OnData
GetRenderer()
谢谢。
webrtc - 如何在没有 localStream 的情况下创建对等连接?
我只想实现一个客户发送 mediaSteam而另一个客户接收 mediaSteam。 所以 Receiver 客户端不需要添加 localSteam。我只需编写 pc.addStream(null) 代码。但不起作用。我如何通过 WebRtc 实现这一目标?