- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我已经用尽了所有可能来让稳定的 WebRTC 实现正常工作,并且希望得到一些建议。
处理跨浏览器工作连接的所有可能解决方案都已考虑在内,例如:
基本上,我要求有人帮忙提供图表或逐步处理冰的过程,以便为 chrome 和 firefox 跨浏览器提供有效的解决方案(两者都是最新的当前发布时间)。
在这一点上,我已经筋疲力尽,没有想到任何其他可能性,我们将不胜感激任何帮助。
谢谢,十二月:)
最佳答案
我很同情你的挫败感。
对于 RTCPeerConnection,在调用 createOffer() 和 setLocalDescription() 之后,ICE 代理将开始收集 ICE 候选对象。在这一点上,您可以决定是否使用 Trickle ICE,候选人一旦可用就会被发送到远程对等点,或者您可以等待所有候选人都被收集(我的大部分教程都来自across 似乎采用了涓流方法,但遗漏了一些有关正确处理此问题的细节)。
涓流方法:
当 RTCPeerConnectionIceEvent 被触发时,一个新的候选者可用:
peerConnection.onicecandidate = function(newRTCPeerConnectionIceEvent) {
var newCandidate = newRTCPeerConnectionIceEvent.candidate;
// send candidate to remote via signalling channel
}
在远程端,可以将候选人添加到他们的对等连接中:
peerConnection.addIceCandidate(RTCIceCandidate);
如果您尚未在远程对等连接上调用 setRemoteDescription,我相信尝试过早添加候选者会产生错误,因为这会在尚未设置时尝试将其添加到 remoteDescription。看这个Errors when ICE Candidates are received before answer is sent .
非滴流方法:
您可以按如下方式等待所有候选人聚集在一起:
peerConnection.onicecandidate = function(newRTCPeerConnectionIceEvent) {
if (newRTCPeerConnectionIceEvent.candidate === null) {
// send the offer (generated previously) to the remote peer
// the offer sdp should contain all the gathered candidates
}
}
有关此技术的更多讨论,请参阅此链接:http://muaz-khan.blogspot.co.uk/2015/01/disable-ice-trickling.html (请参阅页面底部关于在报价已包含所有候选人时生成答案 sdp 的评论)。
请注意,信号机制可能会影响您的方法,即您的信号是否存在任何明显的延迟。我认为涓流方法假设您正在使用低延迟信号,因为它旨在减少调用建立时间。
关于javascript - 处理使用 PeerConnection 时处理 ICE 候选人的过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655160/
我正在尝试创建报价,但我得到的 sdp-offer 不完整,如下所示 sdp: "v=0↵o=- 981077471509521330 2 IN IP4 127.0.0.1 ↵s=- ↵t=0 0 ↵
这个问题在这里已经有了答案: How to set remote description for a WebRTC caller in Chrome without errors? (1 个回答)
我正在为 Android 开发 WebRTC。并成功创建和建立 session 。使用单个 MediaStream 和多个 PeerConnection。 现在我想找到一个更好的方法,其中之一就是中继
我想要的是,基本上,在同一本地网络上的两台不同计算机之间创建连接。但我想通过计算机的本地 IP 来做到这一点。 (如 192.168.2.23 等) 这必须是完全本地连接。没有 TURN 或 STUN
我正在开发一个 WebRTC 客户端,我希望允许客户端修改正在进行的音频/视频 session 以添加或删除音频或视频流。 因此,例如,如果两个客户端之间正在进行音频/视频通话,则一个客户端可以修改
嘿,我想知道在 WebRTC 中创建报价/答案时是否有任何方法可以选择编解码器。目前可供选择的视频编解码器并不多,但有音频编解码器,如 Opus、PCMU、PCMA 等。 最佳答案 一般来说,是的。这
有没有办法在对等连接已经建立时创建数据通道? 这是我正在做的事情: peerConnection.onstatechange = function(event){ var state
我必须在 android 应用程序中实现 WebRTC,因为我正在使用 libjingle 库,ver-11139。在这里我总是得到 pc(PeerConnection class instance)
有没有办法以编程方式获取有关 WebRTC 中使用的连接类型的信息? 例如,在我的应用程序中,我使用本地连接以及 STUN 和 TURN。如果候选类型是主机或中继,我可以从 ICE 候选中收集,并且在
阅读有关 Webrtc 的信息,我感觉“它将显着降低服务器带宽的使用”,除了“一些角落的企业防火墙案例”,其中需要一个 TURN 服务器来中继对等方之间的整个流量。 例如,虽然与 webrtc 无关,
目标: 使用 webRTC(无视频或音频)在网页上创建一个非常基本的文本聊天室。首先,我不关心创建聊天室、拥有用户名或支持大量连接。我只想将其设置为支持前 2 个人访问该网页,以便他们可以发送/查看消
这个问题已经有答案了: WebRTC video is not displaying (1 个回答) 已关闭 4 年前。 我正在尝试附加使用 getusermedia() 捕获的流上startPeer
我可以为一个 PeerConnection 创建多个数据 channel 吗? 您能否提供有关如何实现的示例,否则无法实现的原因? 最佳答案 是的,您可以在单个对等连接上创建多个数据 channel
我已经为 android 构建了 webrtc,并将 jar 文件包含在我的项目中。我想将数据通道附加到我的 PeerConnection 对象。在网络上,我们在 javascript 中执行以下操作
我正在尝试让 ubuntu 上的 WebRTC PeerConnection 客户端与 nodejs 一起工作。 首先我尝试了 wrtc ( https://github.com/js-platfor
我正在尝试实现纯语音 WebRTC 应用程序。我在 Chrome Version 29.0.1547.0 dev 上运行它。我的应用使用 Socket.IO 作为信号机制。 peerConnectio
我已经用尽了所有可能来让稳定的 WebRTC 实现正常工作,并且希望得到一些建议。 处理跨浏览器工作连接的所有可能解决方案都已考虑在内,例如: 在 Chrome 浏览器上发送 SDP 之前等待所有候选
onremovestream已弃用(并从 Firefox 中删除),而 onremovetrack尚未在 Firefox 中实现。 如何检测何时在 Firefox 中删除流或轨道? 最佳答案 您使用
我一直在玩 WebRTC 并阅读它的工作方式,但我仍然完全不知道在点连接方面到底发生了什么。如果视频 session 中有太多参与者而没有某种中央服务器,如果他们都必须相互连接,那么流的路由方式是否会
我创建了一个应用程序,我可以在其中使用 webRTC peerConnection api 在两个客户端之间开始视频 session 。 我使用 node.js服务器端脚本和用于套接字实现的 sock
我是一名优秀的程序员,十分优秀!