我正在建立这个视频教学网站并做了一些研究并得到了很好的理解,但除了这件事。所以当一个用户想要连接到另一个用户 P2P 时,我需要信令服务器来获取他们的公共 IP 来让他们连接。现在 STUN 正在做这项工作,如果对等方无法连接,TURN 将中继媒体。现在,如果我使用 WebSocket 编写信令服务器来传达 SDP 消息并让 ICE 工作,我是否需要安装 coTURN?他们的工作将是什么工作?
我真正感到困惑的是我简单编写的 WebSocket 信令服务器的工作(来自我在不同教程中看到的内容)和我将安装的 coTURN 服务器的工作。以及如何将它们与我将安装的媒体服务器连接起来。
第二个问题,当只有两个/三个参与者时,有没有办法使用 P2P 并让媒体服务器参与进来,这样我就不会过多地占用参与者的带宽?
dec*_*eze 19
信令服务器需要在对等体之间交换消息(SDP 数据包),直到它们建立 P2P 连接。
STUN 服务器用于帮助对等方发现有关其公共 IP 的信息并打开防火墙端口。这要解决的主要问题是,很多设备都在小型专用网络中的 NAT 路由器后面;NAT 基本上允许传出请求及其响应,但会阻止任何其他“未经请求的”传入请求。因此,当两个对等点都位于 NAT 路由器后面并且可以发出传出请求,但无处可将其发送到时,您就会遇到 Catch-22 场景,因为对等点没有公开任何内容以向. STUN 服务器充当向其发出请求的临时中间人,它在 NAT 设备上打开一个端口以允许响应返回,这意味着现在有一个已知的开放端口可供其他对等方使用。它'打孔。
TURN 服务器是公共可访问位置的中继,以防无法进行 P2P 连接。仍然存在打孔不成功的情况,例如由于更严格的防火墙。在这些情况下,两个对等方根本无法直接进行一对一对话,并且它们的所有流量都通过 TURN 服务器进行中继。这是一个 3rd 方服务器,两个对等点都可以不受限制地连接,并且只是将数据从一个对等点转发到另一个。TURN 服务器的一种流行实现是coturn。
是的,基本上所有这些功能都可以由单个服务器完成,但它们是故意分开的。WebRTC 规范对信令服务器没有任何说明,因为每个应用程序的信令机制都是非常独特的,并且可以采用多种不同的形式。TURN 非常占用带宽,如果您希望完全扩展,通常必须委托给更大的服务器群,因此与其他两个功能中的任何一个混合使用都是不切实际的。所以你最终会得到三个独立的组件。
关于多点连接:是的,您可以设置 P2P 群聊就好了。但是,每个对等点都需要连接到其他每个对等点,因此每个对等点的连接数和带宽会随着每个新对等点的增加而增加。这可能适用于 3 或 4 个对等点,但除此之外,您可能会开始遇到单个对等点的带宽和 CPU 限制,特别是如果您正在播放质量不错的视频流。
| 归档时间: |
|
| 查看次数: |
3279 次 |
| 最近记录: |