vidclip
Version:
A highly customizable, lightweight screen recorder.
29 lines (28 loc) • 1.14 kB
TypeScript
interface RecorderTypes {
resolution?: `${number}x${number}`;
frameRate?: 24 | 30 | 60 | 120;
fileFormat?: 'mp4' | 'mov' | 'wmv' | 'avi' | 'mkv';
audioSource?: string;
outputFile?: string;
replaceExisting?: boolean;
verbose?: boolean;
rateControl?: {
mode: 'crf' | 'cq' | 'bitrate' | 'qp';
value: number;
};
codec?: 'libx264' | 'libx265' | 'libvpx-vp9' | 'h264_nvenc' | 'hevc_nvenc' | 'h264_qsv' | 'hevc_qsv' | 'h264_amf' | 'hevc_amf';
preset?: 'placebo' | 'veryslow' | 'slower' | 'slow' | 'medium' | 'fast' | 'faster' | 'veryfast' | 'superfast' | 'ultrafast';
pixelFormat?: 'yuv420p' | 'yuv422p' | 'yuv444p' | 'rgb24' | 'gray' | 'nv12';
}
export declare class Recorder {
private readonly config;
private ffmpegProcess;
isRecording: boolean;
constructor({ resolution, frameRate, fileFormat, audioSource, outputFile, replaceExisting, verbose, rateControl, codec, preset, pixelFormat, }?: RecorderTypes);
get getConfig(): RecorderTypes;
start({ stopAfter }?: {
stopAfter?: number;
}): void;
stop(force?: boolean): void;
}
export {};