我正在尝试建立一个经济高效的家庭安全摄像头网站,我可以在其中以非常低的延迟登录和查看流。 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/