Skip to main content

基于MCP协议的智能视频自动生成与剪辑工具,支持字幕、TTS、音色克隆、批量处理等。

Project description

Auto Video Generator MCP

English | 中文

一个基于 MCP (Model Context Protocol) 的智能视频生成系统,支持自动添加字幕、语音合成和视频剪辑功能。

功能特性

核心功能

  • 智能视频剪辑: 支持视频片段保留/剪切模式
  • 自动删除重复帧/静止片段: 一键检测并剪掉无效画面,提升视频精华度(可选参数,默认关闭)
  • 自动字幕生成: 智能文本分割和字幕样式自定义
  • 语音合成: 集成 Azure 语音服务,支持多种音色
  • 多画质输出: 支持 240p 到 1080p 多种画质预设
  • GPU 加速编码: 支持 AMD AMF、NVIDIA NVENC、Intel QSV 硬件编码加速
  • 异步任务处理: 支持长时间任务的异步处理
  • 时间标记控制: 支持在文本中使用时间标记控制静默时间

技术特性

  • 模块化架构: 清晰的模块分离,易于维护和扩展
  • MCP 协议: 基于 FastMCP 的标准化接口
  • 配置管理: 灵活的配置系统,支持环境变量
  • 任务管理: 完整的任务状态跟踪和管理
  • 临时文件清理: 自动清理处理过程中的临时文件

系统要求

软件依赖

  • Python 3.8+
  • FFmpeg (需要预先安装并配置到系统 PATH)
  • Windows 系统 (字体路径配置)

Python 依赖

httpx>=0.24.0
fastmcp>=0.1.0
azure-cognitiveservices-speech>=1.31.0
pydub>=0.25.1
moviepy>=1.0.3
opencv-python>=4.8.0
Pillow>=10.0.0
jieba>=0.42.1

安装配置

1. 克隆项目

git clone https://github.com/zgmurder/auto_video_generator-mcp.git
cd auto-video-generator-mcp

2. 安装依赖

pip install -r requirements.txt

3. 配置环境变量

# FFmpeg 路径配置 (可选)
export FFMPEG_PATH="path/to/ffmpeg"
export FFPROBE_PATH="path/to/ffprobe"

# 调试模式 (可选)
export DEBUG_MODE="true"

4. 启动服务器

python auto_generate_video_mcp_modular.py

服务器将在 http://localhost:8000/sse 启动。

使用指南

基本使用

1. 简单视频生成

# 生成带字幕和语音的视频
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="欢迎观看本视频,这是AI自动生成的解说。",
    voice_index=0,
    output_path="output.mp4"
)

2. 自定义画质

# 生成高清视频
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="高清视频内容",
    quality_preset="1080p"
)

3. 视频片段处理

# 保留指定片段 - 注意:segments必须是JSON字符串格式
segments = '[{"start": "00:00:05", "end": "00:00:15"}]'  # JSON字符串
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="片段解说",
    segments_mode="keep",
    segments=segments  # 传递JSON字符串,不是字典对象
)

# 剪切指定片段
segments = '[{"start": "00:00:10", "end": "00:00:20"}, {"start": "00:00:30", "end": "00:00:40"}]'
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="剪切片段解说",
    segments_mode="cut",
    segments=segments  # JSON字符串格式
)

高级功能

1. 时间标记控制

# 使用时间标记控制静默时间
text = "{5s}欢迎观看{5000ms}本视频由AI自动剪辑并添加智能字幕和语音解说。{2s}感谢您的观看!"
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text=text
)

2. 自定义字幕样式

# 自定义字幕样式 - 注意:subtitle_style必须是JSON字符串格式
subtitle_style = '{"fontSize": 60, "color": "yellow", "bgColor": [0, 0, 0, 128]}'  # JSON字符串
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="自定义字幕样式",
    subtitle_style=subtitle_style  # 传递JSON字符串,不是字典对象
)

# 更多字幕样式示例
subtitle_style = '{"fontSize": 50, "color": "white", "bgColor": [0, 0, 0, 30], "marginX": 100, "marginBottom": 50}'

3. 异步任务处理

# 创建异步任务
task_id = await generate_auto_video_async(
    video_path="input.mp4",
    text="长时间处理任务"
)

# 查询任务状态
status = await get_task_status(task_id)

# 取消任务
await cancel_task(task_id)

4. 自动删除重复帧/静止片段

# 自动检测并剪掉视频中的静止/无聊片段(如长时间无动作画面)
# 方法1:使用配置文件中的参数
import json
with open("best_motion_clip_params.json", "r", encoding="utf-8") as f:
    motion_params = json.load(f)
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    output_path="output_motion_clip.mp4",
    enable_motion_clip=True,  # 启用自动静止片段检测
    motion_clip_params=json.dumps(motion_params)  # 转换为JSON字符串
)

# 方法2:直接传入JSON字符串参数
motion_params = '{"motion_threshold": 0.1, "min_static_duration": 2.0, "sample_step": 1}'  # JSON字符串
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    output_path="output_motion_clip.mp4",
    enable_motion_clip=True,
    motion_clip_params=motion_params  # 直接传递JSON字符串
)

5. 极致GPU加速编码

# 使用极致GPU优化进行视频编码,将显卡性能发挥到最大
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="极致GPU加速视频处理",
    enable_gpu_acceleration=True,  # 启用极致GPU加速
    gpu_type="auto",  # 自动检测GPU类型,或指定"amd"/"nvidia"/"intel"
    quality_preset="1080p"
)

# 获取系统性能信息
performance_info = await get_system_performance_info_mcp()

# 优化视频处理参数
optimized_config = await optimize_video_processing_mcp("input.mp4", "1080p")

# GPU性能基准测试
benchmark_result = await benchmark_gpu_performance_mcp()

重要说明

  • JSON参数格式: 所有配置参数(segments, subtitle_style, auto_split_config, motion_clip_params)都必须使用JSON字符串格式传递,不能直接传递字典对象。
  • 时间格式: 视频片段时间格式为 "HH:MM:SS",例如 "00:00:05" 表示5秒。
  • 运动检测: enable_motion_clip=True 时,系统会自动分析视频,检测并剪掉所有静止/重复帧片段。
  • GPU优化: enable_gpu_acceleration=True 时,系统会启用极致GPU优化,自动检测硬件配置并优化编码参数。
  • 极致GPU优化: 包括多线程处理、内存优化、编码器调优、异步处理、缓存优化等。
  • 兼容性: 不影响原有字幕、语音等功能,完全兼容。

JSON参数格式说明

重要提醒

所有配置参数都必须使用JSON字符串格式传递,不能直接传递字典对象。这是为了确保MCP协议的兼容性和数据传递的准确性。

参数格式示例

1. 视频片段配置 (segments)

[
  {"start": "00:00:05", "end": "00:00:15"},
  {"start": "00:00:30", "end": "00:00:45"}
]

传递方式: segments='[{"start": "00:00:05", "end": "00:00:15"}]'

2. 字幕样式配置 (subtitle_style)

{
  "fontSize": 50,
  "color": "white",
  "bgColor": [0, 0, 0, 30],
  "fontPath": "C:\\Windows\\Fonts\\msyh.ttc",
  "marginX": 100,
  "marginBottom": 50
}

传递方式: subtitle_style='{"fontSize": 50, "color": "white"}'

支持的字段名格式:

  • 字体大小: fontSize, font_size, size
  • 字体颜色: color, font_color, fontColor, text_color, textColor
  • 背景颜色: bgColor, bg_color, background_color, backgroundColor
  • 字体路径: fontPath, font_path, font
  • 左右边距: marginX, margin_x, margin
  • 底部边距: marginBottom, margin_bottom, bottom_margin
  • 字幕高度: height, subtitle_height

颜色格式支持:

  • 颜色名称: "white", "black", "red", "yellow"
  • 十六进制: "#000000", "#FFFFFF"
  • RGB数组: [255, 255, 255]
  • RGBA数组: [0, 0, 0, 30] (最后一个数字是透明度)
  • 透明背景: "transparent"

3. 智能分割配置 (auto_split_config)

{
  "max_chars_per_line": 20,
  "max_duration_per_segment": 5.0,
  "min_duration_per_segment": 1.0
}

传递方式: auto_split_config='{"max_chars_per_line": 20, "max_duration_per_segment": 5.0}'

4. 运动检测配置 (motion_clip_params)

{
  "motion_threshold": 0.1,
  "min_static_duration": 2.0,
  "sample_step": 1
}

传递方式: motion_clip_params='{"motion_threshold": 0.1, "min_static_duration": 2.0}'

常见错误示例

# ❌ 错误:直接传递字典对象
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    segments=[{"start": "00:00:05", "end": "00:00:15"}]  # 错误!
)

# ✅ 正确:传递JSON字符串
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    segments='[{"start": "00:00:05", "end": "00:00:15"}]'  # 正确!
)

# ✅ 正确:支持多种字段名格式
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="测试字幕样式",
    subtitle_style='{"font_color": "#000000", "background_color": "transparent", "font_size": 36}'  # 支持多种字段名
)

配置说明

画质预设

预设 分辨率 比特率 适用场景
240p 426240 500k 快速预览
360p 640360 800k 移动设备
480p 854480 1.2M 一般用途
720p 1280720 2M 默认设置
1080p 19201080 4M 最高质量

语音音色

  • voice_index=0: zh-CN-XiaoxiaoNeural (默认)
  • voice_index=1-4: 其他 Azure 语音音色

字幕样式配置

{
    "fontSize": 50,
    "color": "white",
    "bgColor": [0, 0, 0, 30],
    "fontPath": "C:\\Windows\\Fonts\\msyh.ttc",
    "marginX": 100,
    "marginBottom": 50
}

MCP 工具函数说明

本项目基于 Model Context Protocol (MCP) 构建,提供了一套完整的视频生成工具函数。所有函数都通过 FastMCP 框架暴露为标准化接口,支持异步调用和任务管理。

核心视频生成函数

generate_auto_video_mcp

主要视频生成接口,支持完整的视频处理流程,包括语音合成、字幕生成、视频剪辑等。

参数说明:

  • video_path (str): 输入视频文件路径 (必传)
  • text (str): 要转换为语音的文本内容 (可选,为空时仅进行视频处理)
  • voice_index (int): 语音音色索引,范围 0-4 (默认: 0)
    • 0: zh-CN-XiaoxiaoNeural (默认女声)
    • 1-4: 其他 Azure 语音音色
  • output_path (str): 输出视频文件路径 (默认: "output_video.mp4")
  • segments_mode (str): 视频片段处理模式 (默认: "keep")
    • "keep": 保留指定片段
    • "cut": 剪切指定片段
  • segments (str): 视频片段配置,必须是JSON字符串格式 (可选)
    [
      {"start": "00:00:05", "end": "00:00:15"}, 
      {"start": "00:00:30", "end": "00:00:45"}
    ]
    
    注意: 时间格式为 "HH:MM:SS",必须使用JSON字符串格式传递
  • subtitle_style (str): 字幕样式配置,必须是JSON字符串格式 (可选)
    {
      "fontSize": 50,
      "color": "white",
      "bgColor": [0, 0, 0, 30],
      "fontPath": "C:\\Windows\\Fonts\\msyh.ttc",
      "marginX": 100,
      "marginBottom": 50
    }
    
    注意: 必须使用JSON字符串格式传递,不能直接传递字典对象
  • auto_split_config (str): 智能文本分割配置,必须是JSON字符串格式 (可选)
    {
      "max_chars_per_line": 20,
      "max_duration_per_segment": 5.0,
      "min_duration_per_segment": 1.0
    }
    
    注意: 必须使用JSON字符串格式传递
  • quality_preset (str): 输出视频画质预设 (默认: "720p")
    • 支持: "240p", "360p", "480p", "720p", "1080p"
  • enable_motion_clip (bool): 是否启用自动静止片段检测 (默认: False)
  • motion_clip_params (str): 运动检测参数配置,必须是JSON字符串格式 (可选)
    {
      "motion_threshold": 0.1,
      "min_static_duration": 2.0,
      "sample_step": 1
    }
    
    注意: 必须使用JSON字符串格式传递,不能直接传递字典对象

返回值: JSON 字符串,包含处理结果和状态信息

使用示例:

# 基本使用
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="欢迎观看本视频,这是AI自动生成的解说。",
    voice_index=0,
    output_path="output.mp4",
    quality_preset="1080p"
)

# 带JSON参数的高级使用
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="欢迎观看本视频,这是AI自动生成的解说。",
    voice_index=0,
    output_path="output.mp4",
    quality_preset="1080p",
    segments='[{"start": "00:00:05", "end": "00:00:15"}]',  # JSON字符串
    segments_mode="keep",
    subtitle_style='{"fontSize": 60, "color": "yellow", "bgColor": [0, 0, 0, 128]}',  # JSON字符串
    auto_split_config='{"max_chars_per_line": 25, "max_duration_per_segment": 4.0}',  # JSON字符串
    enable_motion_clip=True,
    motion_clip_params='{"motion_threshold": 0.15, "min_static_duration": 1.5, "sample_step": 2}'  # JSON字符串
)

generate_auto_video_sync

同步视频生成接口,适合短时间任务,会阻塞直到处理完成。

参数:generate_auto_video_mcp 相同

特点:

  • 同步执行,等待处理完成
  • 适合短视频或快速处理
  • 直接返回最终结果

generate_auto_video_async

异步视频生成接口,适合长时间任务,立即返回任务ID。

参数:generate_auto_video_mcp 相同

返回值: 任务ID字符串

特点:

  • 异步执行,不阻塞调用
  • 适合长视频或复杂处理
  • 需要通过任务管理接口查询状态

任务管理函数

get_task_status(task_id: str)

获取指定任务的详细状态信息。

参数:

  • task_id (str): 任务ID

返回值: JSON 字符串,包含任务状态、进度、结果等信息

{
  "task_id": "uuid-string",
  "status": "pending|running|completed|failed",
  "progress": 75,
  "result": "output_video.mp4",
  "error": null,
  "start_time": "2024-01-01T10:00:00",
  "created_at": "2024-01-01T09:55:00"
}

list_all_tasks()

列出系统中所有任务的概览信息。

返回值: JSON 字符串,包含所有任务的列表

[
  {
    "task_id": "uuid-1",
    "status": "completed",
    "progress": 100,
    "created_at": "2024-01-01T09:55:00"
  },
  {
    "task_id": "uuid-2", 
    "status": "running",
    "progress": 45,
    "created_at": "2024-01-01T10:00:00"
  }
]

cancel_task(task_id: str)

取消正在运行的任务。

参数:

  • task_id (str): 要取消的任务ID

返回值: 操作结果字符串

系统信息查询函数

get_system_status()

获取系统整体状态信息,包括配置、依赖、资源等。

返回值: JSON 字符串,包含系统状态

{
  "ffmpeg_available": true,
  "azure_speech_configured": true,
  "font_available": true,
  "temp_directory": "C:\\temp",
  "max_concurrent_tasks": 5,
  "active_tasks": 2
}

get_available_voice_options()

获取所有可用的语音选项列表。

返回值: JSON 字符串,包含语音选项

[
  {
    "index": 0,
    "name": "zh-CN-XiaoxiaoNeural",
    "description": "默认女声",
    "language": "zh-CN"
  },
  {
    "index": 1,
    "name": "zh-CN-YunxiNeural", 
    "description": "男声",
    "language": "zh-CN"
  }
]

参数验证函数

validate_input_parameters(text: str, video_path: str, voice_index: int = 0)

验证输入参数的有效性和完整性。

参数:

  • text (str): 要验证的文本内容
  • video_path (str): 要验证的视频文件路径
  • voice_index (int): 要验证的语音索引

返回值: JSON 字符串,包含验证结果

{
  "valid": true,
  "errors": [],
  "warnings": ["视频文件较大,建议使用异步处理"],
  "video_info": {
    "duration": 120.5,
    "resolution": "1920x1080",
    "format": "mp4"
  }
}

get_generation_estimate(text: str, video_path: str)

根据输入参数估算视频生成所需时间。

参数:

  • text (str): 文本内容
  • video_path (str): 视频文件路径

返回值: JSON 字符串,包含时间估算

detect_video_motion_mcp(video_path: str, config_path: str = "best_motion_clip_params.json")

独立的运动检测工具,用于分析视频中的静止片段。

参数:

  • video_path (str): 要分析的视频文件路径
  • config_path (str): 运动检测配置文件路径 (默认: "best_motion_clip_params.json")

返回值: JSON 字符串,包含检测结果

{
  "video_path": "input.mp4",
  "config": {
    "motion_threshold": 0.1,
    "min_static_duration": 2.0,
    "sample_step": 1
  },
  "static_segments": [
    {
      "start": 5.2,
      "end": 8.5,
      "duration": 3.3
    }
  ],
  "timestamps": [
    {
      "start": "00:00:05.200",
      "end": "00:00:08.500"
    }
  ],
  "summary": {
    "total_segments": 5,
    "total_static_time": 15.6,
    "average_segment_duration": 3.12
  }
}

optimize_video_motion_params_mcp(video_path: str, target_min_duration: float = 50.0, target_max_duration: float = 70.0)

运动检测参数优化工具,自动寻找最佳参数以达到目标视频时长。

参数:

  • video_path (str): 要优化的视频文件路径
  • target_min_duration (float): 目标最小时长 (秒)
  • target_max_duration (float): 目标最大时长 (秒)

返回值: JSON 字符串,包含优化结果

{
  "success": true,
  "optimal_config": {
    "motion_threshold": 0.15,
    "min_static_duration": 1.5,
    "sample_step": 2
  },
  "message": "找到最优参数并已保存到配置文件"
}
{
  "estimated_time": 180,
  "time_unit": "seconds",
  "factors": {
    "video_duration": 120,
    "text_length": 500,
    "processing_complexity": "medium"
  },
  "recommendation": "建议使用异步处理"
}

get_system_performance_info_mcp()

系统性能信息工具,获取详细的硬件配置和性能数据。

返回值: JSON 字符串,包含系统性能信息

{
  "cpu": {
    "count": 12,
    "frequency": 2500.0,
    "usage": 21.3
  },
  "memory": {
    "total": 31,
    "available": 5,
    "usage": 81.2
  },
  "gpu": {
    "name": "AMD Radeon RX 580",
    "memory": 8,
    "driver": "22.40.00.01"
  }
}

optimize_video_processing_mcp(video_path: str, target_quality: str = "720p")

视频处理优化工具,根据系统配置自动优化处理参数。

参数:

  • video_path (str): 要优化的视频文件路径
  • target_quality (str): 目标画质预设

返回值: JSON 字符串,包含优化配置

{
  "encoder": "hevc_amf",
  "preset": "speed",
  "quality": 18,
  "threads": 16,
  "buffer_size": 2048,
  "async_depth": 6,
  "bframes": 3,
  "ref_frames": 4,
  "enable_cache": true,
  "cache_size": 4096
}

benchmark_gpu_performance_mcp()

GPU性能基准测试工具,评估当前系统的视频处理能力。

返回值: JSON 字符串,包含性能测试结果

{
  "processing_time": 3.45,
  "speed_multiplier": 2.90,
  "encoder": "hevc_amf",
  "threads": 16,
  "async_depth": 6,
  "performance_rating": "极佳 ⭐⭐⭐⭐⭐"
}

工具函数调用流程

基本使用流程

  1. 参数验证: 使用 validate_input_parameters() 验证输入
  2. 时间估算: 使用 get_generation_estimate() 估算处理时间
  3. 选择接口: 根据估算时间选择同步或异步接口
  4. 任务监控: 异步任务使用 get_task_status() 监控进度
  5. 结果获取: 从返回结果中获取输出文件路径

高级使用流程

  1. 系统检查: 使用 get_system_status() 检查系统状态
  2. 语音选择: 使用 get_available_voice_options() 选择合适的语音
  3. 批量处理: 使用 list_all_tasks() 管理多个任务
  4. 异常处理: 使用 cancel_task() 处理异常情况

错误处理

所有工具函数都包含完善的错误处理机制:

  • 参数错误: 返回详细的错误描述和修正建议
  • 文件错误: 检查文件存在性和格式有效性
  • 系统错误: 检查依赖项和系统资源
  • 网络错误: 处理 Azure 语音服务连接问题
  • 处理错误: 提供详细的错误日志和恢复建议

性能优化建议

  1. 短视频 (< 30秒): 使用 generate_auto_video_sync
  2. 长视频 (> 30秒): 使用 generate_auto_video_async
  3. 批量处理: 合理控制并发任务数量
  4. 资源监控: 定期检查系统状态和资源使用情况

项目结构

auto-video-generator-mcp/
 auto_generate_video_mcp_modular.py  # 主服务器文件
 auto_video_modules/                 # 核心模块目录
    __init__.py                     # 模块初始化
    config.py                       # 配置管理
    ffmpeg_utils.py                 # FFmpeg 工具
    mcp_tools.py                    # MCP 工具接口
    motion_detection_utils.py       # 运动检测工具
    gpu_optimization_utils.py       # GPU优化工具
    subtitle_utils.py               # 字幕处理
    video_utils.py                  # 视频处理
    voice_utils.py                  # 语音处理
 requirements.txt                    # Python 依赖
 README.md                          # 中文文档(默认)
 README_EN.md                       # 英文文档

故障排除

常见问题

1. FFmpeg 未找到

错误: FFmpeg not found in system PATH 解决: 确保 FFmpeg 已安装并添加到系统 PATH,或设置 FFMPEG_PATH 环境变量。

2. Azure 语音服务错误

错误: Azure Speech Service authentication failed 解决: 检查 AZURE_SPEECH_KEYAZURE_SPEECH_REGION 环境变量配置。

3. 字体文件未找到

错误: Font file not found 解决: 确保系统安装了微软雅黑字体,或修改 config.py 中的字体路径。

4. 内存不足

错误: Memory error during video processing 解决: 使用较低的画质预设,或减少并发任务数量。

调试模式

设置环境变量 DEBUG_MODE=true 启用详细日志输出。

贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

支持

如有问题或建议,请通过以下方式联系:

  • 提交 Issue
  • 发送邮件至项目维护者
  • 查看项目 Wiki 获取更多信息

更新日志

v3.0.0

  • 重构为模块化架构
  • 添加异步任务处理
  • 支持多种画质预设
  • 改进配置管理系统

v2.0.0

  • 添加智能文本分割
  • 支持时间标记控制
  • 改进字幕样式配置

v1.0.0

  • 初始版本发布
  • 基础视频生成功能
  • Azure 语音服务集成

使用场景示例

1. 教育视频制作

# 为教学视频添加解说
result = await generate_auto_video_mcp(
    video_path="lecture.mp4",
    text="欢迎来到今天的课程。我们将学习人工智能的基础知识。首先,让我们了解什么是机器学习。",
    voice_index=0,
    quality_preset="720p",
    subtitle_style='{"fontSize": 60, "color": "white", "bgColor": [0, 0, 0, 50]}'  # JSON字符串
)

2. 产品演示视频

# 产品功能演示
result = await generate_auto_video_mcp(
    video_path="product_demo.mp4",
    text="这款产品具有以下特点:{2s}第一,操作简单易用。{1s}第二,功能强大全面。{1s}第三,性价比极高。",
    voice_index=1,
    subtitle_style='{"fontSize": 60, "color": "yellow", "bgColor": [0, 0, 0, 30]}'  # JSON字符串
)

3. 视频剪辑和优化

# 仅进行视频处理,不添加语音
result = await generate_auto_video_mcp(
    video_path="raw_video.mp4",
    text="",  # 空文本,只进行视频处理
    segments_mode="cut",
    segments='[{"start": "00:00:10", "end": "00:00:20"}]',  # JSON字符串
    quality_preset="1080p",
    enable_gpu_acceleration=True  # 启用极致GPU优化
)

大模型调用指南

重要提醒

当大模型调用本系统的工具函数时,所有配置参数都必须使用JSON字符串格式,不能直接传递字典对象。

正确的调用方式

1. 基本视频生成

# ✅ 正确:所有参数都是字符串格式
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="欢迎观看本视频",
    voice_index=0,
    output_path="output.mp4",
    quality_preset="720p"
)

2. 带JSON参数的调用

# ✅ 正确:JSON参数使用字符串格式
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    text="视频内容",
    segments='[{"start": "00:00:05", "end": "00:00:15"}]',  # JSON字符串
    subtitle_style='{"fontSize": 50, "color": "white"}',  # JSON字符串
    motion_clip_params='{"motion_threshold": 0.1, "min_static_duration": 2.0}',  # JSON字符串
    enable_gpu_acceleration=True
)

3. 错误示例

# ❌ 错误:直接传递字典对象
result = await generate_auto_video_mcp(
    video_path="input.mp4",
    segments=[{"start": "00:00:05", "end": "00:00:15"}],  # 错误!
    subtitle_style={"fontSize": 50, "color": "white"},  # 错误!
    motion_clip_params={"motion_threshold": 0.1}  # 错误!
)

JSON字符串构建方法

import json

# 方法1:使用json.dumps()
segments = json.dumps([{"start": "00:00:05", "end": "00:00:15"}])
subtitle_style = json.dumps({"fontSize": 50, "color": "white"})

# 方法2:直接写字符串
segments = '[{"start": "00:00:05", "end": "00:00:15"}]'
subtitle_style = '{"fontSize": 50, "color": "white"}'

最佳实践

1. 性能优化

  • 对于长视频,建议使用异步任务处理
  • 根据需求选择合适的画质预设
  • 定期清理临时文件

2. 文本处理

  • 合理使用时间标记控制节奏
  • 避免过长的单段文本
  • 利用智能分割功能优化字幕显示

3. 错误处理

  • 始终检查输入参数的有效性
  • 监控任务状态,及时处理异常
  • 使用调试模式排查问题

特色功能

智能文本分割

系统会自动将长文本分割成适合显示的字幕片段,确保良好的观看体验。

时间标记语法

支持在文本中使用时间标记来控制静默时间:

  • {5s} - 5秒静默
  • {5000ms} - 5000毫秒静默
  • {2.5s} - 2.5秒静默

多任务并发

支持同时处理多个视频生成任务,提高工作效率。

实时状态监控

提供完整的任务状态跟踪,实时了解处理进度。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auto_video_generator_mcp-1.0.4.tar.gz (50.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auto_video_generator_mcp-1.0.4-py3-none-any.whl (56.2 kB view details)

Uploaded Python 3

File details

Details for the file auto_video_generator_mcp-1.0.4.tar.gz.

File metadata

  • Download URL: auto_video_generator_mcp-1.0.4.tar.gz
  • Upload date:
  • Size: 50.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.5

File hashes

Hashes for auto_video_generator_mcp-1.0.4.tar.gz
Algorithm Hash digest
SHA256 ebe952356f3c1b27e01c1c5d7a0e4a1a81b5a0e231900912a0308c87aeb99844
MD5 6625591e030de4a7b0efaad261595121
BLAKE2b-256 b98f97e25a5df61ff035a3fd9a9be2b00cd8a0f15de55399b1466694f14988e6

See more details on using hashes here.

File details

Details for the file auto_video_generator_mcp-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for auto_video_generator_mcp-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 98ac5ce720f0172bf7315580ed1cbecc99f718b67defff5ec25262f0818ddf70
MD5 0af61b5f0e1b1221f6fbdb78e8e610b6
BLAKE2b-256 f494f56f9a0606b02728bf707109170f3872927b9005383da0d348b215db99dc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page