javascript - webRTC 在功能上是如何工作的?

标签 javascript webrtc

webRTC 功能的所有工作都在 webRTC 服务器上完成吗?例如,在 rtc data channel from simpl.info您只需复制输入文本框和输出文本框的 html 以及 JavaScript,然后将其复制到本地计算机即可完美运行。当JavaScript file仔细检查,有很多来自 webRTC 库的调用没有在我的本地计算机上。即

window.localPeerConnection = new webkitRTCPeerConnection(servers,
{optional: [{RtpDataChannels: true}]});

起初我认为要让这些方法起作用,我必须将 webRTC 下载到将托管页面的本地机器上,然后我才能那样调用它们。但事实似乎并非如此,我已经尝试了大部分示例,它们都可以在本地没有 webRTC 的情况下工作。

我看过webRTC intro video它涵盖了很多功能,但没有解释这个特定问题。另一个让我感到困惑的方面是,当你去官方网站时 webrtc.org getting started tutorial ,它给出了我下载 webRTC 库的分步说明。但是,如果您不需要他们创建 webRTC 应用程序并且工作是在外部服务器上完成的,那么这样做的目的是什么?

我看到另一个问题,标题几乎相同, how does webRTC work? ,但是在阅读了接受的回复和不同的问题之后,OP 想知道点对点连接是如何工作的,他们向他解释了 ICE 的工作原理和 TURN 服务器,我从介绍视频中了解到了这一点,我的问题这些轮流服务器、ICE 等更多是由 Google 托管的,还是我们可以在本地托管它们。如果它是 Google 托管的东西,那不是比在本地托管更不安全吗?

最佳答案

WebRTC 是许多组件和协议(protocol)的非常复杂的协同作用。 幸运的是,从网络开发人员的 Angular 来看,所有这些都被三个主要的 JavaScript API 封装:getUserMedia、RTCPeerConnection 和 RTCDataChannel。 这些 API 由 W3C 定义,并且是支持 WebRTC 的浏览器的一部分。 您可以在此处找到当前支持的概述:

这意味着您不必“下载”WebRTC 即可使用它,如果浏览器支持它,它就已经存在。

回答关于 STUN 和 TURN 服务器的第二个问题:有公开可用的服务器。但是,这些主要用于测试目的。您可以部署自己的 TURN 服务器,rfc5766-turn-server 就是这样一个,并且可以找到文档 here

关于javascript - webRTC 在功能上是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596599/

相关文章:

javascript - 谷歌应用脚​​本: Getting a URL parameter to use in Javascript

javascript - 为什么达到目标后就倒计时了?

java - 在android中一起调用多个号码

javascript - 浏览器可以直接与同一网络上的另一个浏览器通信吗?

javascript - 录制时未捕获 session 中所有用户的音频

javascript - 变量之间的随机数问题

javascript - jqSuite PHP 日期选择器对话框格式不起作用

javascript - 重置 `!important` CSS 并允许使用 JS 样式

webrtc 和 peerjs : how to choose H264 instead of vp8?

html - 在浏览器中从 gstreamer 播放流