p5.capture
Version:
super easy recording for p5.js animations 📸
40 lines (36 loc) • 1.02 kB
TypeScript
export type P5CaptureState = "idle" | "capturing" | "encoding";
export type P5CaptureFormat = "webm" | "gif" | "mp4" | "png" | "jpg" | "webp";
export type P5CaptureOptions = {
format?: P5CaptureFormat;
framerate?: number;
bitrate?: number;
quality?: number;
width?: number;
height?: number;
duration?: number | null;
autoSaveDuration?: number | null;
baseFilename?: (date: Date) => string;
imageFilename?: (index: number) => string;
beforeDownload?: (
blob: Blob,
context: {
filename: string;
format: P5CaptureFormat;
},
next: () => void,
) => Promise<void> | void;
verbose?: boolean;
};
export type P5CaptureGlobalOptions = P5CaptureOptions & {
disableUi?: boolean;
disableScaling?: boolean;
};
declare global {
class P5Capture {
static setDefaultOptions(options: P5CaptureGlobalOptions): void;
static getInstance(): P5Capture;
get state(): P5CaptureState;
start(options?: P5CaptureOptions): Promise<void>;
stop(): Promise<void>;
}
}