Skip to content

Instantly share code, notes, and snippets.

@gorshkov-leonid
Created April 7, 2023 20:54
Show Gist options
  • Save gorshkov-leonid/643fc47d831a590a42a5a3fd34cb1027 to your computer and use it in GitHub Desktop.
Save gorshkov-leonid/643fc47d831a590a42a5a3fd34cb1027 to your computer and use it in GitHub Desktop.
puppeteer-record-video.md

https://stackoverflow.com/questions/59861486/record-video-from-website-using-puppeteer-ffmpeg

let recordVideo = (setup) => {
    return new Promise(async (resolve, reject) => {
        let frames = [];
        let session;

        let start = async () => {
            session = await page.target().createCDPSession();
            await session.send('Page.startScreencast');
            session.on('Page.screencastFrame', event => {
                event.data; // Base64 encoded frame
                frames.push(event.data);
            });
        }

        let stop = async () => {
            await session.send('Page.stopScreencast');
            resolve(frames);
        }

        await setup(start, stop);
    });
}

let setup = (start, stop) => {
    start();
    /** statements */
    stop();
}

let frames = await recordVideo(setup);
@gorshkov-leonid
Copy link
Author

@gorshkov-leonid
Copy link
Author

в новых версиях puppteer (уже двано) есть отдельный api

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment