video-streaming - ICE 服务器(google stuns)在 NAT 之后工作了 8 次,但从那时起就无法工作但在本地工作。为什么?
问题描述
请参考这些截图 Image[Behind NAT] -- Image[Same Network] -- Image[Stuns]
伙计们,我已经从 WebRTC 的代码实验室实现了 step-05 代码示例。我提供了 5 个 google 的 stun 服务器,幸运的是代码按预期工作(不使用 TURN)。我能够形成p2p comm。在 NAT 后面的两个客户端之间,我彻底测试了 NAT 后面的一切正常!但经过几次尝试相同的代码和 ICE 服务器配置停止响应。我再也看不到远程流了。即使在重新启动 droplet 和我的网络设备之后。
奇怪的是,当我再次切换到我的 WiFi(本地网络)时,流开始出现。由于我没有更改代码并在 NAT 后面测试了 8 次系统,因此无法发现问题。应该是什么原因?我确定这是 ICE 服务器问题,要么是 google stuns 标记了我的主机(应用程序服务器 ip),要么是需要高级 stun/turn 服务器。
请指教..你的想法!!
代码参考:https ://codelabs.developers.google.com/codelabs/webrtc-web/#7
建筑学:
信令主机:NodeJs https(自签名)在 DigitalOcean 的 8080 端口运行
解决方案
由于您已经有一个液滴,我会尝试以下操作:
使用一 (1) 个 Google Stun-Server 进行测试,在 droplet 上设置一个 coturn 实例并在您的配置中填写凭据。这是一个 10 分钟的事情,之后您会发现这可能导致了错误。
推荐阅读
- operating-system - HMI 设备上应该有 RTOS 吗?
- python - 使用 python3.6 和 BeautifulSoup。我得到的是hrefs,但我无法下载它们
- apache-spark - 在运行时为 spark 传递参数
- r - 使用 R 对时间线进行数据操作/插补
- ios - 检查浮点值
- hibernate - Hibernate:与两个 @JoinColumn 的关系上的 MappingException,其中一个列具有附加的 PK 只读映射
- c# - 输入的自定义效果。清除文本按钮
- python - 将键值对树转换为 json 对象
- node.js - 当项目根目录中存在 .npmrc 时无法登录到 npm
- python - 使用变量从列表中删除项目