Neapolitan Pasta Maker

    puppeteer-vrec

    1.0.0 • Public • Published

    puppeteer-vrec

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

    Why this Fork?

    This library is based on Shay Gueta's puppeteer-video-recorder and puppeteer-mass-screenshots.

    I was missing some features that, fortunately others submitted in PRs. Unfortunately, those did not get merged in, neither equivalent functionality was provided over several months. I decided therefore it was best to fork the project and just maintain my own version of it and add features that I need. This library also merged these two aforementioned libraries into a single video recording library.

    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 --save puppeteer-vrec

    Manual

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

    const PuppeteerVideoRecorder = require('puppeteer-vrec');
    
    const recorder = new PuppeteerVideoRecorder(page);
    await recorder.start();
    // Do whatever you want in the browser here ...
    const filePath = await recorder.stop();
    // filePath is the location of your video or `null` if there was an error while creating the video.

    Check out tests/index.test.js for a simple example.

    You can pass in custom configuration via the constructor, for example:

    const recorder = new PuppeteerVideoRecorder(page, {
        outputFolder: '/tmp',
        videoFilename: 'test-video'
    });

    The configuration options are:

    • outputFolder - Where to save the created videos, images file and temporary images. The default location is the operating system's default temporary directory.
    • videoFilename - The name of the final video file. (with .wbem appended as extension) The default file name is the current timestamp.

    FAQ

    Does it support Chrome in headless mode?

    Yes, it supports Chrome in both headless and headful mode.


    Does it support redirections in pages?

    Yes. 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.


    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.

    Install

    npm i puppeteer-vrec

    DownloadsWeekly Downloads

    3

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    131 kB

    Total Files

    30

    Last publish

    Collaborators

    • keymandll