我正在使用Puppeteer无头浏览器并正在进行WebRTC呼叫。在通话结束时,我想了解诸如带宽,抖动,ICE详细信息等统计信息。

到目前为止,我已经能够从Google搜索中收集到的信息是,我们可以使用getStats api获取统计数据。

但是在木偶脚本中如何调用getStats api,找不到任何示例。

我的代码如下。

const puppeteer = require('puppeteer');
const sleep = (waitTimeInMs) => new Promise(resolve => setTimeout(resolve, waitTimeInMs));

(async () => {
    const browser = await puppeteer.launch({headless: false});
    const page = await browser.newPage();
    await page.goto('https://janus.conf.meetecho.com/videocalltest.html');
    await page.waitForSelector('#start');
    await page.click('[id=start]');
    await page.waitForSelector('#username', { visible: true });
    await page.type('input[id="username"]', 'user1');
    await page.click('button[id=register]');
    await page.waitFor(5000);
    await page.type('input[id=peer]', 'user0');
    await page.click('button[id=call]');
    await sleep(16000);
    await page.click('button[id=start]');
    await sleep(3000);
    await browser.close();
})();


就在browser.close()之前,我想知道统计数据。您能帮我理解吗,在这种情况下我如何利用getStats api获取统计数据。

有什么更好的方法来获取统计数据,然后是getStats api?

最佳答案

您可以使用evaluate来获取WebRTC统计信息:

await result = page.evaluate(() => await videocall.webrtcStuff.pc.getStats());
console.log(result);

08-17 13:25