puppeteer-video-recorder

Prerequisites | Installation | Manual | FAQ

Puppeteer video recorder is a simple Puppeteer's plugin to create automatic videos for every new frame appears in the browser.

Why

It's based on Puppeteer mass screenshots plugin and therefore doesn't affect Puppeteer's run time.

So basically, it's fast, and it won't slow your run time

Prerequisites

In order to use this plugin:

  • Puppeteer must be installed.
  • Pupepteer's page object must be created.
  • FFMpeg must be installed and set in PATH (or change the ffmpeg command to where it's accessible from)

Installation

To install the plugin to your project please use:

npm install puppeteer-video-recorder

You'll probably prefer to add it to your package.json file so you can use:

npm install --save-prod puppeteer-video-recorder

Manual

Once Puppeteer video recorder is installed, you can require it in your project:

const PuppeteerVideoRecorder = require('puppeteer-video-recorder');

In your constructor create:

const recorder = new PuppeteerVideoRecorder();

After you have page object

await recorder.init(page, videosPath);
  • page - Puppeteer page object (related to the browser).
  • videosPath - where to save the created videos, images file and temporary images

To start the automatic video recording:

await recorder.start();

To stop the automatic video recording:

await recorder.stop();

Important - call recorder.stop before browser is closed.

FAQ

Does it support Chrome in headless mode?

Yes, it does.

it supports Chrome in headless / headful mode.

It records full length video, of every Chrome browser's frame, even though Chrome is in headless mode.


Does it support redirections in pages?

Yes, it does.

This plugin is based on Puppeteer mass screenshots plugin which supports redirection.


Does it use the window object?

No, it doesn't use the window object.


Can I run this plugin with my own page/browser objects?

Yes.


Will it change my browser/page/window objects?

No, it won't.

Feel free to set browser/page/window as you like, it won't be affected by this plugin.


Does it record videos in headless Chrome?

Yes it does.


Creating videos is slow why?

It is because current FFMPEG command is slow.

We should in the future upload a solution for faster conversion of FFMPEG

Feel free to send us one if you've found something faster and better, we always love to improve.

I get errors related to FFMPEG, why?

Please ensure that you have FFMPEG installed on your PC

run from your cmd / terminal (in linux) the command: ffmpeg --help

If you see results, and don't see "command not found" errors, this plugin should work with your FFMPEG