1.4.20 • Published 3 years ago

ffmpeg-recorder v1.4.20

Weekly downloads
11
License
GPL
Repository
github
Last release
3 years ago

ffmpeg-recorder

This is a node-js addon by screen-recorder which is written by c++ based on ffmpeg.

Only support windows(at least windows7 sp1) for now.

Features

  • Save screen、speaker、miccrophone to a signle file as mp4 or mkv
  • yuv data callback
  • Remux file to another file format
  • Support hardware encode with NVIDIA cards

Usage

1.Add ffmpeg-recorder addon to your package.json

$ npm install ffmpeg-recorder

# or

$ yarn add ffmpeg-recorder

2.Add parameters to your package.json file

build electron version:

"ffmpeg_recorder": {
    "electron_version": "7.1.4",
    "platform": "win32",
    "runtime":"electron",
    "msvs_version": "2015",
    "debug": false,
    "silent": false
  }

or build node version:

"ffmpeg_recorder": {
    "platform": "win32",
    "runtime":"node",
    "msvs_version": "2015",
    "debug": false,
    "silent": false
  }

Test code

Record
"use strict";
const EasyRecorder = require('./lib/index')


const recorder = new EasyRecorder();

const speakers = recorder.GetSpeakers();
const mics = recorder.GetMics();
const vencoders = recorder.GetVideoEncoders();

console.log(speakers);
console.log(mics);
console.log(vencoders);

let ret = recorder.Init(
  60,
  20,
  ".\\save.mkv",
  //".\\save.mp4",
  speakers[0].name,
  speakers[0].id,
  mics[0].name,
  mics[0].id,
  vencoders[0].id
  );


console.info('recorder init ret:',ret,recorder.GetErrorStr(ret));


if(ret == 0){

  ret = recorder.Start();

  console.info('start',ret);

  setTimeout(()=>{

    recorder.Stop();
    recorder.Release();
  },10000);
}
Remux
"use strict";
const EasyRecorder = require('./lib/index')


const recorder = new EasyRecorder();

const onProgress = (src,progress,total)=>{
    console.info('on remux progress:',src,progress,total);
};

const onState = (src,state,error) =>{
    console.info('on remux state:',src,state,recorder.GetErrorStr(error));
};

let ret = recorder.RemuxFile(
    ".\\save.mkv",
    ".\\save.mp4",
    onProgress,
    onState
);

console.info('remux file ret:',ret,recorder.GetErrorStr(ret));

Enable preview

recorder.EnablePreview(true);
recorder.SetPreviewElement(document.getElementById("dom-id"));

Disable preview

recorder.EnablePreview(false);

EasyRecorder UI Project

https://github.com/peilinok/EasyRecorder

npm.io

npm.io

1.4.20

3 years ago

1.4.19

3 years ago

1.4.18

3 years ago

1.4.17

3 years ago

1.4.16

4 years ago

1.4.15

4 years ago

1.4.14

4 years ago

1.4.13

4 years ago

1.4.11

4 years ago

1.4.10

4 years ago

1.4.12

4 years ago

1.4.9

4 years ago

1.4.8

4 years ago

1.4.7

4 years ago

1.4.6

4 years ago

1.4.5

4 years ago

1.4.4

4 years ago

1.4.3

4 years ago

1.4.2

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.24

4 years ago

1.1.23

4 years ago

1.1.22

4 years ago

1.1.21

4 years ago

1.1.20

4 years ago

1.1.19

4 years ago

1.1.18

4 years ago

1.1.17

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.13

4 years ago

1.1.9

4 years ago

1.1.10

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.1

4 years ago

1.1.2

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago