Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
],
out: {
formatName: 'mp4',
url: 'file:temp.mp4'
}
};
params.video.forEach(p => p.sources.forEach(src => src.format = fmt));
params.audio.forEach(p => p.sources.forEach(src => src.format = fmt));
params.video.forEach(p => p.sources.forEach(src =>
src.stream = genToStream({ highWaterMark : 2 }, srcPktsGen(src.url, src.ms, src.streamIndex))));
params.audio.forEach(p => p.sources.forEach(src =>
src.stream = genToStream({ highWaterMark : 2 }, srcPktsGen(src.url, src.ms, src.streamIndex))));
await beamcoder.makeStreams(params);
const mp4File = fs.readFileSync('temp.mp4');
fs.unlinkSync('temp.mp4');
job.data.body = {
blobKey: await redisio.storeBlob(mp4File),
blobType: 'video/mp4'
};
job.data.success = true;
console.log(`Finished ${job.id} - ${Date.now() - start}ms`);
return job.data;
} catch (err) {
console.error(err.stack);
throw err;
}
}
let srcFmts = [];
params.video.forEach(p => srcFmts = retrieveFormats(p.sources, srcFmts));
params.audio.forEach(p => srcFmts = retrieveFormats(p.sources, srcFmts));
params.formats = await Promise.all(srcFmts.map(f => f.fmt));
params.video.forEach(p => p.sources.forEach(src => src.format = params.formats.find(f => f.url === src.url)));
params.audio.forEach(p => p.sources.forEach(src => src.format = params.formats.find(f => f.url === src.url)));
params.video.forEach(p => p.sources.forEach(src =>
src.stream = genToStream({ highWaterMark : 2 }, srcPktsGen(src.url, src.ms, src.streamIndex))));
params.audio.forEach(p => p.sources.forEach(src =>
src.stream = genToStream({ highWaterMark : 2 }, srcPktsGen(src.url, src.ms, src.streamIndex))));
await beamcoder.makeStreams(params);
}