@calipsa/video-utils
Version:
Video utilities
33 lines • 1.16 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
const stream_utils_1 = require("@calipsa/stream-utils");
exports.default = async ({ path, time, ffmpegCommandOptions, configureFfmpeg, }) => {
const outStream = new stream_utils_1.StreamWithBuffer();
const vcodec = 'mjpeg';
return new Promise((resolve, reject) => {
const proc = (0, fluent_ffmpeg_1.default)(path, ffmpegCommandOptions)
.output(outStream, {
end: true,
})
.noAudio()
.setStartTime(time)
.format('image2pipe')
.videoCodec(vcodec)
.size('640x480')
.outputOptions([
'-frames:v 1',
'-q:v 2',
])
.on('error', reject)
.on('end', () => {
resolve(outStream.buffer);
});
configureFfmpeg?.(proc);
proc.run();
});
};
//# sourceMappingURL=index.js.map