问题标签 [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 投票
2 回答
1719 浏览

javascript - RecordRTC:Ondataavailable 调用了两次。只有第一个文件是正确的,其他文件已损坏或太小

我想以 2 秒的间隔记录本地和远程流并使用 Ajax 将其上传到服务器。但问题是,ondataavailable 方法被调用了两次,所以同一个视频被上传到服务器两次。第一个视频可播放且正常,而其余视频已损坏或非常小(不到一秒)。所有视频的大小几乎相同!

我也尝试过使用 MediaRecorder API,但问题是一样的。我已经尝试了 5 秒的间隔,但仍然没有运气!

这就是我获取本地流的方式:

这就是我执行录制的方式:

上传Blob函数:

如何在没有任何问题的情况下记录两个流?

0 投票
1 回答
903 浏览

javascript - 如何更改 Webrtc rtcpMuxPolicy?

我正在尝试更改rtcpMuxPolicybundlePolicy但似乎无法更改

这是我的代码:

尝试1:

尝试2:

对于这两个示例,我仍然看到默认值:

我只能注意到一个变化,那就是iceServers数组是空的,但是 bundlePolicy,rtcpMuxPolicy仍然是默认值。

我有与 Android 应用程序通信的 WebRtc Web 解决方案,并且在流式传输视频时一切正常,当我添加 dataChannel 时出现问题,即

在我的 Web 解决方案中添加上述行后,android 会抛出错误消息:

setSDP 错误:无法设置远程报价 sdp:会话错误代码:ERROR_CONTENT。会话错误描述:无法设置 RTCP 多路复用器过滤器..

0 投票
0 回答
71 浏览

webrtc - 多个 webRTC 背后的秘密是什么?

我想使用 pusher 和纯 javascript 创建一个会议室,我设法创建了一个点对点连接,但多对多连接证明这是一个难以破解的问题。我要做的是创建特定用户与房间的连接,以便订阅频道的任何参与者共享他们的流,并且还可以访问频道中存在的所有流。

如果需要,我可以共享整个代码我只需要知道如何在 webRTC RTCPeerConnection() 中处理多对多连接;

0 投票
1 回答
351 浏览

webrtc - RTCPeerConnection 候选者没有有效的 IPV4 地址,而是其中有一些 .local 地址

候选人:4031277258 1 udp 2113937151 fc10cb5a-f63b-4e15-81b5-3b8291facf8f.local 53215 typ host generation 0 network-cost 999

上面你可以看到生成的候选样本

fc10cb5a-f63b-4e15-81b5-3b8291facf8f.local - 如何从中获取 IPV4 地址?为什么我会得到这个?

0 投票
1 回答
258 浏览

webrtc - WebRTC - Chrome mDNS 在本地 sdp 中创建无效的候选主机。有没有办法排除主机候选人生成?

Chrome 的 mDNS 实现会在本地 sdp 中创建无效的候选主机。我们有 STUN 和 TURN 服务器,它们生成 srflx 和中继候选。但是由于无效的主机地址,stun 完全失败了,这在这个博客中有更好的解释。有没有办法排除主机候选人生成?

0 投票
0 回答
175 浏览

webrtc - Domain=org.webrtc.RTCPeerConnection Code=-1 "设置远程offer sdp失败:设置远程视频描述发送参数失败。"

当我使用 sdp 并尝试将其设置为远程描述时,我在使用 webrtc 的 iOS webrtc 应用程序上不断收到此错误。我尝试调整 sdp 因为我认为它无法解析字符串,但它不起作用。

0 投票
1 回答
666 浏览

webrtc - Webrtc Android DTMF 支持

我正在尝试基于 WebRTC 为 Android/iOS 应用程序实现 DTMF。是否有适用于 Android 的 DTMF 的 API?我曾尝试调用以下内容:

我已经尝试将上述 api 用于 javascript,它在浏览器上运行良好,但无法在 Android 上运行。我还没有在 iOS 上尝试过,因为我需要先让它在 android 上运行。

请让我知道这是否在 Android/iOS 上受支持?如果是的话,任何人都可以帮助我正确的api

使用的 libjingle 版本:chrome 74.0.3729.169

0 投票
1 回答
2247 浏览

swift - iOS Swift WebRTC - 无法设置远程报价 sdp:无法设置远程视频描述发送参数

我正在尝试 iPhone 设备之间的 webRTC 视频通话。一个应用程序正在创建报价 SDP,如下所示。当我尝试设置此 SDP 时,在另一个应用程序中出现错误

错误 Domain=org.webrtc.RTCPeerConnection Code=-1 “无法设置远程报价 sdp:无法设置远程视频描述发送参数。” UserInfo={NSLocalizedDescription=设置远程offer sdp失败:设置远程视频描述发送参数失败。}

以下是用于设置报价和创建答案的代码。第二行self.peerConnection?.setRemoteDescription抛出错误。

以下是Offer SDP格式

0 投票
1 回答
562 浏览

webrtc - WebRTC 对等体 iceconnectionstatechange 和 connectionstatechange 不会从 Chrome 80 触发“关闭”事件

WebRTC iceconnectionstatechange 和 connectionstatechange 在 Chrome 80 中不会触发“关闭”事件。当对等方关闭时,是否有人有任何解决方法来检测 connectionstatechange?即使在 plan-b 中它也不会触发

0 投票
1 回答
1391 浏览

javascript - 什么时候可以考虑断开 RTCPeerConnection?

我试图检测 RTCPeerConnection 的另一端何时断开连接。目前我正在使用我的 RTCPeerConnection 对象执行以下操作:

这似乎在我非常简单的网络条件下进行的有限测试中有效,但MDN的以下内容让我停下来,它可能不会在生产中保持不变:

当然,“断开”和“关闭”不一定表示错误;这些可能是正常 ICE 协商的结果,因此请务必妥善处理(如果有的话)。

如果是,我应该使用RTCPeerConnection.onconnectionstatechange并考虑永久关闭连接吗?RTCPeerConnection.connectionState"closed""failed""disconnected"