可利用chrome内置chrome://webrtc-internals页面实时监控webrtc连接状态、媒体流参数及网络性能,需先启用非隐身模式、触发peerconnection连接,再通过stats查看rtp/ice等统计信息,支持导出json日志,并可结合chrome://media-internals分析音视频解码问题。

如果您正在开发或测试基于WebRTC的音视频应用,需要实时监控连接状态、媒体流参数及网络性能,则可以利用Chrome浏览器内置的chrome://webrtc-internals页面进行深度调试。以下是具体操作步骤:
一、打开chrome://webrtc-internals页面
该页面是Chrome提供的原生WebRTC诊断工具,可实时显示所有活动的PeerConnection实例及其详细统计信息,包括SDP协商过程、ICE候选者交换、数据传输速率与丢包率等。
1、在Chrome浏览器地址栏中直接输入chrome://webrtc-internals并按回车键。
2、确保当前浏览器未启用隐身模式,否则部分统计信息可能无法加载。
3、页面加载完成后,将自动监听当前标签页中所有新建的RTCPeerConnection对象。
二、触发WebRTC连接以生成调试数据
chrome://webrtc-internals本身不主动采集数据,需先在目标网页中建立至少一个有效的PeerConnection,页面才会开始捕获并展示对应连接的完整生命周期日志与指标。
1、在另一个标签页中打开您的WebRTC音视频应用(例如包含getUserMedia与RTCPeerConnection调用的页面)。
2、执行音视频呼叫流程:完成本地流获取、创建offer、setLocalDescription、发送offer、接收answer、setRemoteDescription等关键步骤。
3、返回chrome://webrtc-internals页面,确认“PeerConnections”表格中已出现新条目,且状态列显示active或connected。
三、查看并分析连接统计信息
每个PeerConnection条目右侧提供“Stats”按钮,点击后展开实时更新的WebRTC统计面板,涵盖音频/视频轨道、传输层、ICE、DTLS、SRTP等多维度原始数据。
1、点击目标PeerConnection行末的Stats按钮。
2、在弹出面板中滚动查看分类字段,重点关注inbound-rtp(接收流)与outbound-rtp(发送流)条目下的packetsReceived、bytesReceived、jitter、fractionLost等关键指标。
3、观察candidate-pair条目中的state、nominated、priority字段,判断当前使用的ICE候选路径是否为最优(如relay优先级低于host但稳定性更高)。
四、导出WebRTC日志用于离线分析
当需要将运行时数据提交给团队协作排查或长期归档时,可将当前所有PeerConnection的完整统计快照导出为JSON文件,保留时间戳与全部字段原始值。
1、在chrome://webrtc-internals页面顶部点击Download logs按钮。
2、确认弹出的下载对话框中文件名含时间戳,格式为webrtc_internals_logs_YYYYMMDD_HHMMSS.json。
3、使用文本编辑器或JSON解析工具打开该文件,搜索特定字段如mediaType: "video"或transportId: "Channel-audio-1"定位问题上下文。
五、结合chrome://media-internals辅助音视频解码分析
chrome://webrtc-internals侧重信令与传输层,而音视频解码异常(如黑屏、卡顿、无声)常需关联媒体管道状态,此时需并行查看chrome://media-internals获取解码器、渲染延迟、缓冲区变化等补充信息。
1、新开一个标签页,访问chrome://media-internals。
2、在目标WebRTC页面触发播放动作后,返回media-internals页面,筛选出与当前页面匹配的render_id或frame_url条目。
3、检查pipeline_state是否为kPlaying,以及audio_buffering_state或video_buffering_state是否持续处于BUFFERING_HAVE_ENOUGH状态。











