Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function detectMuteVideo(pathToFile) {
const { spawn } = require('child-process-promise');
// ffprobe -i INPUT -show_streams -select_streams a -loglevel error
const ffprobe = spawn('ffprobe', ['-i', pathToFile, '-show_streams', '-select_streams', 'a', '-loglevel', 'error']);
var isMute = true;
ffprobe.childProcess.stdout.on('data', (data) => {
isMute = false;
// console.log(`stdout: ${data}`);
});
ffprobe.childProcess.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
try {
await ffprobe;
return isMute;
} catch (err) {
async function requestCookies(publicAccessUrl) {
console.log("requestCookies");
const { spawn } = require('child-process-promise');
const curl = spawn('curl', ['-D', 'cookies.txt', publicAccessUrl]);
curl.childProcess.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
curl.childProcess.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
await curl;
var fs = require('fs-promise');
return fs.readFile('cookies.txt')
.then(f => {
var lines = f.toString().split('\n');
var Cookies = ['PLAY_SESSION', 'CloudFront-Key-Pair-Id', 'CloudFront-Policy', 'CloudFront-Signature'];
var value_Cookies = ['', '', '', ''];
for(var i in lines) {
function execInPromise(command, args) {
//console.log(`:: execute '${command}' with arguments: '${args}'.`);
const promise = cpp.spawn(command, args || []);
const childProcess = promise.childProcess;
childProcess.stdout.on('data', function (data) {
//console.log(`${command} :: ${data.toString()}`);
});
childProcess.stderr.on('data', function (data) {
console.log(`${command} error :: ${data.toString()}`);
});
return promise;
}
async function downloadFile(url, header, dest) {
console.log('downloadFile');
console.log(url, header, dest);
const { spawn } = require('child-process-promise');
header = header.replace(';','\;');
const curl = spawn("curl", ["-o", dest, "-O", url, "-H", header, "--silent"]);
curl.childProcess.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
curl.childProcess.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
await curl;
return dest;
}
async function convertVideoToWav(pathToFile) {
console.log("convertVideoToWav");
var outputFile = _dirname + pathToFile.substring(pathToFile.lastIndexOf('/') + 1, pathToFile.lastIndexOf('.')) + '.wav';
const { spawn } = require('child-process-promise');
const ffmpeg = spawn('ffmpeg', ['-nostdin', '-i', pathToFile, '-c:a', 'pcm_s16le', '-ac', '1', '-y', '-ar', '16000', outputFile]);
ffmpeg.childProcess.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ffmpeg.childProcess.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
try {
await ffmpeg;
return outputFile;
} catch (err) {
console.log(err);
return null;
}
const spawnWrapper = function(command, spawnArgs, options, buildDir) {
const spawnOpts = R.merge(options, {capture: ['stdout', 'stderr']});
return childProcessPromise.spawn(command, spawnArgs, spawnOpts)
.then((result) => {
logger.info('spawnWrapper: ' + command + ' returned');
return Promise.all([
fs.writeFileAsync(path.join(buildDir, command + '.out'), result.stdout),
fs.writeFileAsync(path.join(buildDir, command + '.err'), result.stderr)
]);
});
};
const spawnPromiseAndCapture = async (command: string, args: string[], opts: any = {}): Promise<[Buffer, Buffer, Error | null]> => {
const stdout: Buffer[] = [];
const stderr: Buffer[] = [];
const child = cp.spawn(command, args, opts);
child.childProcess.stdout.on('data', (data: Buffer) => stdout.push(data));
child.childProcess.stderr.on('data', (data: Buffer) => stderr.push(data));
let error: Error | null = null;
try {
await child;
} catch (err) {
error = err;
}
return [Buffer.concat(stdout), Buffer.concat(stderr), error];
};
export const spawnPromiseAndCapture = async (command: string, args: string[], opts: any = {}): Promise<[Buffer, Buffer, Error | null]> => {
const stdout: Buffer[] = [];
const stderr: Buffer[] = [];
const child = cp.spawn(command, args, opts);
child.childProcess.stdout.on('data', (data: Buffer) => stdout.push(data));
child.childProcess.stderr.on('data', (data: Buffer) => stderr.push(data));
let error: Error | null = null;
try {
await child;
} catch (err) {
error = err;
}
return [Buffer.concat(stdout), Buffer.concat(stderr), error];
};
export async function install(cwd = process.cwd()) {
await spawn('npm', ['install'], {
cwd,
stdio: 'inherit',
shell: true,
env: { ...process.env, FORCE_COLOR: true }
});
}