2013-07-08 44 views
18

我想知道有工具或我可以看到潛在的WebRTC對等網絡連接的任何方法?如何做好網絡跟蹤或調試的WebRTC對等網絡連接

舉個簡單的例子,如果我正在使用webrtc實現視頻聊天,所有連接(offer,answer,ice)都已建立,但我看不到視頻流,我該如何調試並查看是否有任何數據包或在這兩個同伴之間發送或不發送。

回答

20

如果您使用Chrome瀏覽器,可以瀏覽到chrome://webrtc-internals。這將向您顯示報價,回答,ICE狀態和關於連接的統計數據(一旦建立)。

對於更深入的調試,您可以通過以下標誌啓動的Chrome看到候選人之間所有的STUN坪的日誌:

--enable-logging --v=4 

日誌將在chrome_debug.log文件中的用戶數據目錄:http://dev.chromium.org/user-experience/user-data-directory

1

有可能是視頻不是流的幾個原因。

  1. 你的stun服務器是否響應?要檢查這一點,請在控制檯中記錄您接受的候選冰球。然後檢查他們的類型。如果你的眩暈服務器正在響應,那麼你會看到類型srflx,而不僅僅是「主機」類型的候選冰。你也可以在chrome:// webrtc-internals中找到它們。

  2. 你是否安裝正確的SRC BLOB的視頻元素一旦onaddstream叫回由RTCPeerConnection對象?

  3. 你必須調用視頻元素的.play()方法明確地從你的JavaScript來啓動遠程視頻流。

1

有調試底層連接狀態的方法。如果您使用的是Web應用程序,則可以導航至瀏覽器統計信息。對於鉻,chrome://webrtc-internalsAPI structure)。 This thread也會有所幫助(使用peerJs)。對於Firefox,瀏覽到about:webrtc

對於本地應用程序,即適用於Windows,你必須從編譯器本身採取的日誌。在MS Visual Studio 2015中,請嘗試調試>附加進程>您的本機應用程序PID,調試>窗口>輸出。