javascript - WebRTC 仅接收视频,不带 TURN

标签 javascript camera webrtc

我正在尝试建立一个经济高效的家庭安全摄像头网站,我可以在其中以非常低的延迟登录和查看流。 WebRTC 似乎是一个很好的解决方案,可以实现非常低的延迟并保持点对点连接。

我希望从移动设备查看此内容,作为客户端设备,我经常位于对称 NAT 后面。由于我知道摄像机背后的静态公共(public) IP 并控制该网络,我相信我应该能够为视频创建对等连接,而无需转向服务器,我正在努力弄清楚在这种情况下如何管理 ICE 部分。当我尝试仅使用 STUN 视频进行连接时不起作用。

考虑到我对服务对等网络的控制,这是否可以在没有 TURN 的情况下实现?如果是这样,我有办法回避/实现 ICE 来使用我已知的服务器对等 IP 和配置建立视频吗?或者是否有更好的技术可以同时使用,从而实现非常低的延迟?

最佳答案

知道摄像机的 IP 地址对您没有任何帮助。由于您正在处理对称 NAT,因此 NAT 设备将绑定(bind)从网络内部到达外部网络中的 IP:端口的每个 IP:端口。

这意味着,如果您通过 STUN 服务器对数据进行针孔处理,则 NAT 设备不会对此功能印象深刻,无法让您从该 STUN 服务器以外的任何其他计算机连接到内部网络。

这导致您可能需要 TURN 服务器...

也就是说,您可能对如何设置 STUN 服务器及其配置有一些问题。

一种简单且相当便宜的方法是使用 Twilio NAT 遍历服务 - https://www.twilio.com/stun-turn

关于javascript - WebRTC 仅接收视频,不带 TURN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53092927/

相关文章:

javascript - 使用 forEach 循环迭代时忽略 JSON 对象内的未定义属性

javascript - Vue.js Safari 移动和兼容性

IOS:关闭相机

opencv - 使用 opencv 的 aptina 相机问题

javascript - 如何向数千人传输 Twilio 视频室?

firefox - 如何在 Firefox 中屏蔽来自 WebRTC 的 IP 泄漏?

安卓网络实时时钟

javascript - 使用 jQuery 读取 utm 查询字符串

javascript - 我无法访问 HTMLCollection

c# - 如何使用 C# 检测连接到我的机器的相机