项目简介

Short Video Maker 是一个开源的自动化视频制作工具,旨在通过简单的文本输入创建短格式视频内容。它整合了文本转语音、自动字幕生成、背景视频和音乐,以制作引人入胜的短视频。此项目同时提供了 REST API 和 Model Context Protocol (MCP) 接口。

主要功能点

  • 生成短视频: 根据提供的文本和搜索词自动生成完整的短视频。
  • 文本转语音 (TTS): 将输入的文本转换为旁白音频。
  • 自动生成字幕: 根据生成的音频精确生成并风格化字幕。
  • 背景视频: 从 Pexels 平台搜索并集成与内容相关的背景视频。
  • 背景音乐: 支持选择不同类型或情绪的背景音乐。
  • 多种接口: 可通过标准的 REST API 或 Model Context Protocol (MCP) 与之交互。

安装步骤

项目需要 Node.js 环境,并依赖 FFmpeg 等工具。推荐使用 'npx' 或 Docker 方式运行,这简化了环境设置和依赖管理。

  • 使用 npx (推荐): 确保系统已安装 FFmpeg 以及构建 Whisper.cpp 所需的工具(如 build-essential, git, cmake, wget)。 在终端中运行以下命令:

    LOG_LEVEL=info PEXELS_API_KEY="YOUR_PEXELS_API_KEY" npx short-video-maker

    将 '"YOUR_PEXELS_API_KEY"' 替换为你从 Pexels 网站获取的 API 密钥。你可以通过设置 'PORT' 环境变量更改服务器端口(默认为 3123)。

  • 使用 Docker: 如果你使用 Docker,环境依赖通常已打包好。

    • CPU 版本:
      docker run -it --rm --name short-video-maker -p 3123:3123 \
        -e PEXELS_API_KEY="YOUR_PEXELS_API_KEY" \
        gyoridavid/short-video-maker:latest
    • NVIDIA GPU 版本:
      docker run -it --rm --name shorts-video-maker -p 3123:3123 \
        -e PEXELS_API_KEY="YOUR_PEXELS_API_KEY" --gpus=all \
        gyoridavid/short-video-maker:latest-cuda

    同样,请将 '"YOUR_PEXELS_API_KEY"' 替换为你从 Pexels 获取的 API 密钥。

服务器配置

本服务器实现了 Model Context Protocol (MCP),可以被支持 MCP 的 LLM 客户端连接和使用。MCP 客户端需要知道如何启动并连接到此服务器进程。以下是 MCP 客户端所需配置信息的示例结构:

  • 'name': 服务器的显示名称,方便用户识别(例如:“短视频生成器”)。
  • 'command': 启动服务器进程的可执行命令(例如,如果使用 npx 方式启动,可以是 'npx')。
  • 'args': 传递给启动命令的参数列表(例如,对于 npx 方式,是 '["short-video-maker"]')。
  • 'env': 启动服务器进程所需的环境变量,例如 API 密钥和端口设置(例如,'{"PEXELS_API_KEY": "你的密钥", "PORT": "服务器端口"}')。请根据你的实际安装和配置修改这些值。

请注意,上述信息是一个示例结构,MCP 客户端会根据这些配置来启动并连接到服务器,而不是直接在命令行中运行这些代码。

基本使用方法

通过兼容的 MCP 客户端连接到 Short Video Maker 服务器后,你可以调用其提供的工具:

  • 'create-short-video': 用于发起短视频生成任务。你需要提供一个包含多个场景(每个场景有文本和背景视频搜索词)的列表,以及可选的渲染配置(如背景音乐类型、字幕位置等)。服务器会接收请求并将任务加入处理队列,然后立即返回一个视频任务 ID。
  • 'get-video-status': 用于查询特定视频任务的处理状态。你需要提供 'create-short-video' 工具返回的视频任务 ID。服务器会返回状态信息(例如:“processing”、“ready”、“failed”)。

当视频状态变为“ready”后,你可以通过服务器的 REST API 接口下载生成的视频文件。访问 'http://localhost:<端口>/api/short-video/<视频ID>' 即可下载。

此外,也可以通过 REST API 接口 '/api/music-tags' 和 '/api/voices' 获取可用的音乐标签和语音列表。

信息

分类

AI与计算