我正在使用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);