【问题标题】:Make sense of webrtc dump理解 webrtc 转储
【发布时间】:2014-05-11 10:01:08
【问题描述】:

我从 chrome://webrtc-internals

下载了转储文件

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

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

每个字段的含义

到现在我也只能理解为json dump

请帮帮我?

【问题讨论】:

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


    【解决方案1】:

    您在每个日志项下看到的值数组是在那一秒内为该项收集的值。因此,values[0] 是第一秒为该类别收集的日志信息。因此,将 ssrc 与 SDP 中提供的匹配,以获取每个 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]"
        },
    

    那么你可以打赌它在日志期间每一秒都没有变化。

    【讨论】:

    • 但是我如何检测丢包呢?我也可以在同一个视频聊天中实时绘制图表吗,实验性的?
    • @Rohit 您从转储中获取数据包丢失字段,它会显示每秒的数据包丢失情况。此外,由于它是一个转储,它不是实时数据。您将不得不使用 chrome 内部组件,而不仅仅是转储
    • pastebin.com/xs2TNeVh 请帮我理解这些数据我很抱歉给您带来困扰,但我对 webrtc 真的很陌生,似乎在 webrtc 转储上找不到任何教程
    • 第 875 行显示 ssrc:1742396484 没有数据包丢失。从第 581 行我们看到 ssrc:1742396484 是视频和 192.168.1.102 的本地视频 ssrc(您可以从该部分稍后的第 641 行的冰块中看到)。
    • 感谢您的帮助 :) 还有一个疑问,如何将 ssrc 映射到元素名称。
    【解决方案2】:

    将转储导入此工具以获得一些有用的交互式图表:

    https://fippo.github.io/webrtc-dump-importer/a

    【讨论】:

      【解决方案3】:

      为了更好地分析数据,您可以使用 Google 的 webrtc 团队制作的 testRTC 工具。 此链接中给出了如何分析数据的简单演示: https://testrtc.com/docs/analyze-webrtc-dump/

      【讨论】:

        猜你喜欢
        • 2020-01-12
        • 1970-01-01
        • 1970-01-01
        • 2019-01-09
        • 1970-01-01
        • 2018-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多