Skip to content

zlatnaspirala/record-canvas

Repository files navigation

text-example

Project name record-canvas

RecordCanvas is SIMPLE-WEB-VIDEO-CREATOR with basic functionallity. Based on MediaRecorder API Javascript - Minimum ECMA6

- Work with source and build from source:

Script type module. First install node modules with npm i.

Build library (js text plane) with:

npm run build

Take a look at ./build/compositor.lib.js

- For npm users first install it with:

Install command:

npm i record-canvas

Source: https://github.com/zlatnaspirala/record-canvas

How to use it [Basic example is test.html]:

  • videoDuration: value in Seconds
  • injectCanvas: represent canvas id => "canvas", other way for injectCanvas is canvas Dom like object.
 import { RecordCanvas } from "compositor";
// import { RecordCanvas } from "./src/index";

function attachFunction() {

  const mainOption = {
    injectCanvas: "canvas",
    frameRequestRate: 30,
    videoDuration: 10
  };

  let MyRecorder = new RecordCanvas(mainOption);
  window.removeEventListener("click", attachFunction);
  MyRecorder.run();
  MyRecorder.presentationPreview();
  console.info("Test instance MyRecorder => " + MyRecorder);
}

window.addEventListener("click", attachFunction);

index.html Record-Canvas-Tool

text-example

Inputs for any-canvas-example.js

  // If you need canvas from iframe:
  injectCanvas = recordCanvasIframe.contentWindow.document.getElementById('canvas');

  let mainOption = {
    injectCanvas: injectCanvas,
    // injectCanvas: "canvas",
    frameRequestRate: 30,
    videoDuration: videoDuration,
    outputFilename: "record-canvas.mp4",
    mineType: "video/mp4",
    resolutions: resolutionsDom.selectedOptions[0].innerText
  };

New import export definition:

import RC from "record-canvas";
let options = {
  // injectCanvas: "orId",
  injectCanvas: document.getElementsByTagName("canvas")[0],
  frameRequestRate: 30,
  videoDuration: 10,
  outputFilename: "record-canvas.mp4",
  mineType: "video/mp4",
  resolutions: '800x600'
}
this.recordCanvas = new (RC as any).RecordCanvas(this.options);

Next features:

Add input options: - No generic audio context - No user request needed for download

Idea:

To combine any source. To be reusable in any case.

 INPUT PARAMS:
 -> Video duration
 -> External any canvas work or inline ctx
 -> Choose audio [GENERIC SOUND | AUDIO FILE | MIC]
WEBCAM |
VIDEO FILE |
CANVAS
                      => MP4
GENERIC SOUND |
AUDIO FILE | 
MIC

About

Basic MediaRecorder API Javascript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published