handbrake-static
v1.0.5
Published
provide static binaries for HandBrake in an Electron app
Downloads
5
Maintainers
Readme
🍹handbrake-static
handbrake-static provides cross-platform HandBrake CLI binaries in your Electron application.
Installation
npm i handbrake-static --save
Usage
// points to app.asar.unpacked
const handbrakePath = require("handbrake-static").path;
// points to node_modules
const handbrakeDevPath = require("handbrake-static").devPath;
console.log(handbrakePath, handbrakeDevPath);
Then, it's very important you expose the binaries via extraFiles
in your electron-builder configuration, example:
"extraFiles": {
"from": "node_modules/handbrake-static/bin/mac/x64/HandBrakeCLI",
"to":
"./resources/app.asar.unpacked/handbrake-static/bin/mac/x64/HandBrakeCLI",
}
A more general example of using the HandBrake CLI binary in your project (which isn't the scope of this package) -
const handbrakePath = require("handbrake-static").path;
const util = require("util");
const cp = require("child_process");
function execHandbrake(inputPath, outputPath, done) {
const cmd = util.format(
'"%s" %s',
handbrakePath,
`-i ${inputPath}`,
`-o ${outputPath}`,
"-e x264",
"--encoder-preset veryfast",
"-q 17"
);
cp.exec(cmd, done);
}