【问题标题】:Why is the webrtc blob address located on signalling server?为什么 webrtc blob 地址位于信令服务器上?
【发布时间】:2014-03-31 14:12:11
【问题描述】:

我使用了 easyrtc 工具包 (http://easyrtc.com/)(为 nodejs 编写)在我的办公室网络中设置了一个聊天系统。我没有做太多来实现这个设置,只是使用了工具包提供的演示。该应用程序托管在办公室内的虚拟机上,而工具包的默认 ICE 配置提到位于办公室防火墙外的 STUN 和 TURN 服务器。

系统运行良好,但我有疑问。在与坐在办公室网络中另一台计算机上的同事发起 webrtc 视频聊天后,我对他的视频进行了“检查元素”。我期待 blob 地址位于他的 IP 地址,因为我相信我们已经在我们之间创建了点对点连接。但是 IP 地址原来是托管应用程序的 VM 的 IP 地址。为什么会这样?

<video autoplay="" id="callerVideo" src="blob:http%3A//10.30.23.56/e09742eb-941a-456f-88dc-addfb013c8e9"></video>

这里的 10.30.23.56 是虚拟机的地址。视频来自我同事的网络摄像头。

【问题讨论】:

    标签: node.js blob webrtc stun


    【解决方案1】:

    视频标签正在播放来自 PeerConnection 创建的 MediaStream Blob 对象的视频。这个 Blob 对象通过一个 URL 字符串表示,该字符串只是一个标识符,在这种情况下,它是使用窗口的 URL + 唯一标识符构造的。请参阅此MediaStream API on MDN。您不应将此 blob ID 作为媒体的源 IP 读入。源将是另一个对等方,其 IP 地址将取决于是否使用主机 IP、反射 IP(通过 STUN)或 TURN 的 IP。如果您想查看流式传输视频的实际 IP 地址和端口,您可以检查 SDP 和在对等方之间生成和交换的 ICE Candidates,或者您可以使用 Chrome 的 webrtc-internals (chrome://webrtc -internals) 工具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多