我想知道是否有工具或方法可以查看WebRTC点对点连接的底层情况?
以视频聊天应用为例,如果我正在使用WebRTC实现视频聊天,所有的连接(Offer、Answer、ICE)都已经建立,但是我无法看到视频流,我该如何调试并查看这两个对等端之间是否发送任何数据包或其他内容。
我想知道是否有工具或方法可以查看WebRTC点对点连接的底层情况?
以视频聊天应用为例,如果我正在使用WebRTC实现视频聊天,所有的连接(Offer、Answer、ICE)都已经建立,但是我无法看到视频流,我该如何调试并查看这两个对等端之间是否发送任何数据包或其他内容。
如果您使用的是Chrome浏览器,您可以导航至chrome://webrtc-internals
。这将显示有关连接的提供、应答、ICE状态以及统计信息(一旦建立连接)。
如需进行更深入的调试,您可以通过以下标志启动Chrome并查看候选者之间所有STUN ping的日志:
--enable-logging --v=4
您的日志将存储在用户数据目录下的chrome_debug.log
文件中:http://dev.chromium.org/user-experience/user-data-directory
视频无法流畅播放可能有几个原因。
您的STUN服务器是否响应?要检查这一点,请在控制台中记录您接收到的ICE候选项,然后检查它们的类型。如果您的STUN服务器正在响应,则会看到类型为srflx而不仅仅是“主机”类型的ICE候选项。您也可以在chrome://webrtc-internals中查找它们。
当RTCPeerConnection对象回调onaddstream时,您是否将正确的src blob附加到视频元素上?
您必须从JavaScript显式地调用video元素上的.play()方法以启动远程视频流。