UNPKG

@codenoobforreal/clitools

Version:

CLI tool for video processing (H.265/HEVC encoding & QuickTime compatibility) using FFmpeg, and batch lossless image compression with format preservation

24 lines 968 B
import { FFmpegH265CommandBuilder } from "../../core/ffmpeg/command-builder.js"; import { calculateCrfByPixelCount } from "../../core/video/crf-calculation.js"; import { generateOutputPath } from "../../utils/output-generator.js"; export function buildFFmpegEncodeVideoArgs({ metadata, input, }) { const { width, height, pix_fmt, bits_per_raw_sample } = metadata; const crf = calculateCrfByPixelCount(width * height); // TODO: format depends on encode requirement const format = "mp4"; const output = generateOutputPath(input, format); return new FFmpegH265CommandBuilder() .addProgressReporting() .addInput(input) .setPixFmt(pix_fmt) .setLogLevel() .setProfileByPixFmt(pix_fmt) .setInputDepth(bits_per_raw_sample) .applyX265Params() .setCrf(crf) .setOutputFormat(format) .copyAudio() .setOutput(output) .build(); } //# sourceMappingURL=args.js.map