2013-07-08 42 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,调试>窗口>输出。