理解webrtc转储

时间:2014-05-11 10:01:08

标签: google-chrome video web html5-video webrtc

我从 chrome:// webrtc-internals

下载了转储

现在我想从这些数据中理解并绘制一些图表来显示数据包丢失以及转储中包含的其他内容

我只能在 chrome:// webrtc-internals 中看到图表,但我想自己做这些事情,并且在过程中也能更好地理解日志。

每个字段意味着什么

直到现在我才能理解它是 json dump

请帮帮我吗?

1 个答案:

答案 0 :(得分:1)

您在每个日志项下看到的值数组是为该项目为该秒项收集的值。因此,values[0]是第一秒为该类别收集的日志信息。因此,将ssrc与SDP中提供的ssrc相匹配,以获取每秒ssrc的日志信息。

进一步解释:

这表明ssrc 1814250626没有数据包丢失,并显示日志周期内每秒丢包率为零。

"ssrc_1814250626-packetsLost": {
     "startTime": "2014-05-11T21:26:06.360Z",
     "endTime": "2014-05-11T21:26:19.362Z",
     "values": "[0,0,0,0,0,0,0,0,0,0,0,0,0,0]"
    },

我们可以将ssrc值与交换的SDP进行比较,以获得每个源代表的人和媒体类型。

"time": "5/11/2014 4:26:05 PM",
     "type": "createOfferOnSuccess",
     "value": "type: offer, sdp: v=0\r\no=- 140296487447716144 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS yGvpzuQVRTY2AmSWclrFlBZctrOijzNQkLnN\r\nm=audio 1 RTP/SAVPF 111 103 104 0 8 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:Xv9/Bx9tAWEOh1pE\r\na=ice-pwd:e7rRuOyKLk1bKUcZ1S+tDw7r\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 B4:1F:B0:32:31:60:0F:E1:EC:6D:0E:65:1D:F8:F6:F1:0C:FE:D9:46:41:37:8A:7A:21:AC:39:7A:12:0E:12:99\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=sendrecv\r\na=rtcp-mux\r\na=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:gl34DLHmuMoKoaUWhYJpDJUFkZagn1cedT1x6nQh\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 minptime=10\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:60\r\na=ssrc:1814250626 cname:aIdRfz6vBYDbJiEF\r\na=ssrc:1814250626 msid:yGvpzuQVRTY2AmSWclrFlBZctrOijzNQkLnN fad6fe24-b006-4a57-80d6-c603416f32b5\r\na=ssrc:1814250626 mslabel:yGvpzuQVRTY2AmSWclrFlBZctrOijzNQkLnN\r\na=ssrc:1814250626 label:fad6fe24-b006-4a57-80d6-c603416f32b5\r\nm=video 1 RTP/SAVPF 100 116 117\r\nc=IN IP4 0.0.0.0\r\na=rtcp:1 IN IP4 0.0.0.0\r\na=ice-ufrag:Xv9/Bx9tAWEOh1pE\r\na=ice-pwd:e7rRuOyKLk1bKUcZ1S+tDw7r\r\na=ice-options:google-ice\r\na=fingerprint:sha-256 B4:1F:B0:32:31:60:0F:E1:EC:6D:0E:65:1D:F8:F6:F1:0C:FE:D9:46:41:37:8A:7A:21:AC:39:7A:12:0E:12:99\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=sendrecv\r\na=rtcp-mux\r\na=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:gl34DLHmuMoKoaUWhYJpDJUFkZagn1cedT1x6nQh\r\na=rtpmap:100 VP8/90000\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtpmap:116 red/90000\r\na=rtpmap:117 ulpfec/90000\r\na=ssrc:477546681 cname:aIdRfz6vBYDbJiEF\r\na=ssrc:477546681 msid:yGvpzuQVRTY2AmSWclrFlBZctrOijzNQkLnN 6d5c1c40-6921-40d2-ba53-f413afb76ad1\r\na=ssrc:477546681 mslabel:yGvpzuQVRTY2AmSWclrFlBZctrOijzNQkLnN\r\na=ssrc:477546681 label:6d5c1c40-6921-40d2-ba53-f413afb76ad1\r\n"
    }

我们可以从上面看到,由于它是createOfferOnSuccess事件,因此我们知道它是本地方SDP。在此之后,我们可以看到本地音频为ssrc:1814250626,本地视频为ssrc:477546681。因此,要获取本地视频的统计信息,只需获取以ssrc_477546681开头的每个值数组。它还为您提供了相同json对象中的日志开始时间和结束时间。

如果它们的值在值数组中保持不变(许多相同的值):

"ssrc_477546681-googFrameHeightInput": {
     "startTime": "2014-05-11T21:26:06.360Z",
     "endTime": "2014-05-11T21:26:19.362Z",
     "values": "[480,480,480,480,480,480,480,480,480,480,480,480,480,480]"
    },

然后你可以打赌它在日志期间每秒都没有变化。