/** * 检测系统是否安装了 ffmpeg 和 ffprobe * 结果会被缓存,只检测一次 */ export declare function hasFFmpeg(): boolean; /** * 获取音频/视频的时长(毫秒) * @param filePath - 本地文件路径 * @returns 时长(毫秒),整数 */ export declare function getMediaDuration(filePath: string): Promise; /** * 获取视频的宽高 * @param filePath - 本地文件路径 * @returns { width, height } */ export declare function getVideoResolution(filePath: string): Promise<{ width: number; height: number; }>; /** * 提取视频的第一帧作为封面图 * @param videoPath - 本地视频文件路径 * @returns 封面图片的 Buffer(JPEG 格式) */ export declare function extractVideoCover(videoPath: string): Promise; export interface MediaProbeResult { /** 时长(毫秒),整数 */ duration: number; /** 视频分辨率(仅视频有) */ width?: number; height?: number; /** 视频封面图 Buffer(仅视频有) */ coverBuffer?: Buffer; } /** * 将 Buffer 写入临时文件,执行探测,然后清理 * @param buffer - 媒体文件内容 * @param fileName - 文件名(用于扩展名推断) * @param type - 媒体类型 "voice" | "video" */ export declare function probeMediaBuffer(buffer: Buffer, fileName: string, type: "voice" | "video"): Promise; //# sourceMappingURL=ffmpeg.d.ts.map