@pickstar-2002/video-convert-mcp
Version:
63 lines • 1.7 kB
TypeScript
import { VideoInfo, ConversionOptions, ConversionProgress } from '../types/index.js';
/**
* FFmpeg服务类 - 封装视频处理功能
*/
export declare class FFmpegService {
private static instance;
private activeConversions;
private constructor();
static getInstance(): FFmpegService;
/**
* 获取视频文件信息
*/
getVideoInfo(filePath: string): Promise<VideoInfo>;
/**
* 转换视频格式
*/
convertVideo(inputPath: string, outputPath: string, options: ConversionOptions, onProgress?: (progress: ConversionProgress) => void): Promise<string>;
/**
* 批量转换视频
*/
batchConvert(inputFiles: string[], outputDir: string, options: ConversionOptions, onProgress?: (taskId: string, progress: ConversionProgress) => void): Promise<string[]>;
/**
* 获取转换进度
*/
getConversionProgress(taskId: string): ConversionProgress | undefined;
/**
* 应用转换选项到FFmpeg命令
*/
private applyConversionOptions;
/**
* 为不同格式设置合适的编解码器
*/
private setCodecsForFormat;
/**
* 检查格式是否使用CRF模式
*/
private usesCRF;
/**
* 应用质量预设
*/
private applyQualityPreset;
/**
* 将码率转换为质量参数
*/
private bitrateToQuality;
/**
* 获取质量预设
*/
private getQualityPresets;
/**
* 解析帧率字符串
*/
private parseFrameRate;
/**
* 验证输出文件完整性
*/
private validateOutputFile;
/**
* 生成任务ID
*/
private generateTaskId;
}
//# sourceMappingURL=ffmpeg.d.ts.map