@browserless/screencast
Version:
Browserless frame capturing using puppeteer
21 lines (16 loc) • 620 B
JavaScript
const getCDPClient = page => page._client()
module.exports = (page, opts) => {
const client = getCDPClient(page)
let onFrame
client.on('Page.screencastFrame', ({ data, metadata, sessionId }) => {
client.send('Page.screencastFrameAck', { sessionId }).catch(() => {})
if (metadata.timestamp) onFrame(data, metadata)
})
return {
// https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-startScreencast
start: () => client.send('Page.startScreencast', opts),
onFrame: fn => (onFrame = fn),
stop: () => client.send('Page.stopScreencast').catch(() => {})
}
}