@pickstar-2002/video-convert-mcp
Version:
99 lines • 2.48 kB
TypeScript
/**
* 视频转换相关类型定义
*/
export type VideoFormat = 'mp4' | 'avi' | 'mov' | 'wmv' | 'mkv' | 'webm' | 'm4v';
export type QualityPreset = 'low' | 'medium' | 'high' | 'ultra';
export interface ConversionOptions {
/** 输出格式 */
outputFormat: VideoFormat;
/** 输出文件路径 */
outputPath?: string;
/** 视频质量预设 */
quality?: QualityPreset;
/** 自定义分辨率 */
resolution?: {
width: number;
height: number;
};
/** 视频码率 (kbps) */
videoBitrate?: number;
/** 音频码率 (kbps) */
audioBitrate?: number;
/** 帧率 */
frameRate?: number;
/** 是否覆盖已存在的文件 */
overwrite?: boolean;
}
export interface VideoInfo {
/** 文件路径 */
filePath: string;
/** 文件格式 */
format: string;
/** 文件大小 (字节) */
size: number;
/** 时长 (秒) */
duration: number;
/** 视频流信息 */
video?: {
codec: string;
width: number;
height: number;
frameRate: number;
bitrate: number | null;
};
/** 音频流信息 */
audio?: {
codec: string;
sampleRate: number;
channels: number;
bitrate: number | null;
};
}
export interface ConversionProgress {
/** 任务ID */
taskId: string;
/** 输入文件路径 */
inputPath: string;
/** 输出文件路径 */
outputPath: string;
/** 进度百分比 (0-100) */
progress: number;
/** 当前状态 */
status: 'pending' | 'processing' | 'completed' | 'failed';
/** 错误信息 */
error?: string;
/** 开始时间 */
startTime: Date;
/** 结束时间 */
endTime?: Date;
}
export interface BatchConversionTask {
/** 输入文件列表 */
inputFiles: string[];
/** 转换选项 */
options: ConversionOptions;
/** 输出目录 */
outputDir: string;
}
export interface ConvertVideoArgs {
inputPath: string;
outputFormat: VideoFormat;
outputPath?: string;
quality?: QualityPreset;
resolution?: string;
videoBitrate?: number;
audioBitrate?: number;
frameRate?: number;
overwrite?: boolean;
}
export interface GetVideoInfoArgs {
filePath: string;
}
export interface BatchConvertArgs {
inputFiles: string[];
outputFormat: VideoFormat;
outputDir: string;
quality?: QualityPreset;
overwrite?: boolean;
}
//# sourceMappingURL=index.d.ts.map