2014-02-27 22 views
1

我已經使用easyrtc工具包(http://easyrtc.com/)(爲nodejs編寫)來在我的辦公室網絡中設置聊天系統。我沒有做太多的工作來實現這個設置,只是簡單地使用了工具包提供的演示。該應用程序託管在辦公室內的虛擬機上,而工具包的默認ICE配置提到位於辦公室防火牆外部的STUN和TURN服務器。爲什麼位於信令服務器上的webrtc blob地址?

系統工作正常,但我有疑問。在與坐在辦公室網絡中的另一臺計算機上的同事進行webrtc視頻聊天后,我在他的視頻中做了一個「檢查元素」。我期待這個blob地址在他的IP地址,因爲我相信我們之間建立了一個點對點的連接。但IP地址竟然是託管應用程序的虛擬機的IP地址。這是爲什麼發生?

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

這裏10.30.23.56是虛擬機的地址。視頻來自我的同事的攝像頭。

回答

2

視頻標記正在播放由PeerConnection創建的MediaStream Blob對象的視頻。這個Blob對象是通過URL字符串表示的,該字符串只是一個標識符,在這種情況下,它是使用窗口的URL +唯一標識符構造的。見這MediaStream API on MDN。您不應將此Blob ID作爲媒體的源IP讀取。源將是另一個對等體,其IP地址取決於是否使用了主機IP,反射IP(通過STUN)或TURN的IP。如果您想查看視頻流的實際IP地址和端口,您可以檢查在對等端之間生成和交換的SDP和ICE候選者,也可以使用Chrome的webrtc內部(chrome:// webrtc內部)工具。

相關問題