问题标签 [ortc]

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 投票
0 回答
619 浏览

openssl - 用于测试的 DTLS-SRTP 服务器,SRTP Master Key?

我正在尝试创建一个可以接受来自 webrtc 客户端的连接的客户端。我遇到困难的部分是 DTLS-SRTP 部分,我想获得原始 RTP 流。目前我正在使用带有 dtls 和 -use_srtp 的 openssl s_server。我能够获得 SRTP 流,但是没有主密钥我无法解密它(找不到让 openssl 转储密钥的方法..)。如果我能够获得在 dtls 中交换的主密钥,我可以解密数据包。

有人尝试做类似的事情吗?

谢谢

0 投票
1 回答
1387 浏览

webrtc - ORTC 和/或 Edge 是否支持 DataChannel?

找到有关 ORTC 的确切信息似乎很困难,而找到示例则更是如此。我需要在 iframe 之间发送字符串,并且正在研究使用 WebRTC,但为了支持 Windows Edge,我一直在研究 ORTC。我想看看是否有人在 Windows Edge 中通过 ORTC 成功使用了某种数据通道。我认为 ORTC 是专门为 Edge 设计的,但它似乎定义了一个数据通道,但 Edge 并没有实现它。

我遇到的信息让我相信 ORTC 不能做数据通道,尽管它在他们的 API 中列出。

RTCDataChannel 在 API 中定义,第 11.3 节http://publications.ortc.org/2016/20161202/

RTCDataChannel 接口表示两个对等方之间的双向数据通道。

但在https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/realtime-communication/object-rtc-api我发现:

由于 Microsoft Edge 未实现数据通道,因此不支持 RTCDataChannel 和 RTCSctpTransport 对象。

Microsoft Edge 当前不支持当前在 ORTC 规范中定义的任何 DataChannel 功能。

请提供我可以研究的其他资源,以获得明确的答案。任何说明 Windows Edge 将来是否会支持此功能的资源也很有帮助。

0 投票
1 回答
196 浏览

webrtc - 可以与 adapter.js 一起使用的 Microsoft Edge 的最低版本是多少?

我在 caniuse.com 上看到在 14 中添加了ortc支持,在 15 中添加了webrtc。但是可以通过adapter.js 填充的最低版本是多少?

0 投票
1 回答
1129 浏览

android - addRemoteCandidate 超时。考虑发送候选人结束通知

为了与 Browser Edge 进行通信,我们需要a=end-of-candidates按照您在此处看到的设置。边缘到边缘和边缘到其他浏览器工作正常。即使我能够与 Chrome 通信 React Native 应用程序,但对于 Edge,我需要在发送到 Edge 浏览器之前在我的应用程序 sdp 中指定此值。请让我知道如何实现这个 sdp?

在从 react native android app 接收到 sdp 时,您可以看到AdpaterJS 的 PRTimeout for addRemoteCandidate. Consider sending an end-of-candidates notification作为边缘给出此错误。如果您需要更多信息,请告诉我。

  • 反应原生版本:0.56.0
  • 插件版本:1.63,0
  • 操作系统:安卓
  • 操作系统版本:Nugat
0 投票
0 回答
132 浏览

javascript - Quickblox connection is not successfully established every time in Edge Browser

I'm using 2.12.2 version of Quickblox, and Edge 42+ version. The call is made from iPhone8+ to the browser, and video chat isn't successfully established every time.

The console is displaying an error: ORTC18614: ORTC RTCIceGatherer: Transport endpoint allocation failed. hr=c004e00e.

And next: SCRIPT5022: InvalidStateError quickblox.min.js (1,363529).

Quickblox documents state that Edge 14+ is supported, but there seems to be an issue.

Is anyone having a similar problem with Quickblox and Edge? It seems that Edge is not fully supported. Is there any solution to this problem?

EDIT: The same behavior is reproducible with the QuickBlox sample code. Also, after 30 seconds, the call is disconnected.

0 投票
1 回答
364 浏览

webrtc - WebRTC + Adapter.js 在 MS Edge 中连接音频呼叫时出现 addremoteCandidate 错误

我正在尝试使用 webrtc 和 adapter.js 通过 MS Edge 中的sipML5 API连接音频呼叫,但它为 addremoteCandidate 提供错误超时。考虑发送候选人结束通知。

我已经尝试过发送此处提到的 addIceCandidate(null) , 但它不起作用,或者我发送错误。我用谷歌搜索,但没有足够的文档。

我的问题是我可以在哪里以及如何发送addIceCandidate(null)以便 adapter.js 会考虑它?

我的 RTCPeerConnection 代码

任何帮助,将不胜感激。

谢谢

0 投票
0 回答
295 浏览

webrtc - Edge 上的 WebRTC 给出“addRemoteCandidate 超时。考虑发送候选人结束通知”

注意:请检查最近的编辑

我在边缘收到此警告:

我不明白如何解决这个问题。我使用了一个adapter.js,我发现了一个人们谈论这个问题的线程。但修复不起作用。

我试图添加pc.addIceCandidate(null),但它什么也没做。


在 chrome 上它可以工作,ICE 状态从checkingconnected非常快。

在边缘,ICE 状态保持不变,checking几秒钟后进入new,但它不应该是新的。

编辑:

添加pc.addIceCandidate(null);给了我0: InvalidStateError。我打电话之前的状态pc.addIceCandidate(null);new.

我也尝试过使用pc.addIceCandidate({candidate:''});,但它什么也没做。

以下是代码的相关部分,我尝试在其中添加修复:

在套接字调用中:

编辑:

看起来有一个问题adapter.js

它应该进入else if,但它永远不会这样做。我试过了console.log(candidate.candidate),它告诉我undefined。我尝试添加 || candidate.candidate == undefined到 else if 条件,但它仍然不会进入else if.

其实修改adapter.js文件感觉已经不对了。我还验证了我使用的是最新版本,我不知道这里发生了什么以及为什么我似乎是唯一一个遇到这个问题的人。

编辑:

我有atm的最好方法。pc.addIceCandidate(null)仅在此处使用:

这将进入else if尝试附加的adapter.js中a=end-of-candidates\r\n,但之前失败了:

它在adapter.js中的这一行:

我想我需要在null这里添加候选人,我尝试了不同的语法变体,但没有成功:

来自Edge 上的Microsoft Docu :

当远程 RTCIceGathereremits 其最终候选者时,应使用 RTCIceCandidateComplete 字典作为参数调用 addRemoteCandidate(),以便本地 RTCIceTransport 可以知道没有更多预期的远程候选者,并且可以进入“完成”状态。

我试过了:

第一个给我:

0 投票
1 回答
102 浏览

udp - QUIC、WebRTC 或 ORTC 是否可以进行硬实时 udp 通信?

硬实时 udp 通信非常吸引人。WebRTC和对象实时通信 ( ORTC ) 声称提供与 udp 的实时通信。这是否意味着“足够接近挂钟时间而不会注意到”或者它们是否具有硬实时确定性要求?

是否有任何测试显示确定性 udp 通信?

这些通信方法的实时性如何?