Skip to content

chenfengzi01/project_root

Repository files navigation

Doc2Video Pipeline (文档转视频流水线)

这是一个全自动化的内容创作工具,能够将 Markdown 文档 智能转换为 带配音、字幕和幻灯片演示的视频

本项目基于模块化的流水线架构(Pipeline)设计,集成了大模型文本处理、Marp 幻灯片生成、阿里通义语音合成(TTS)以及 FFmpeg/MoviePy 视频渲染技术。

🚀 核心特性

  • 自动化流水线:从文档切分到视频生成的全流程自动化,支持断点续传。
  • 智能文档处理:使用 Qwen-Plus 模型将长文档智能切分为适合演示的幻灯片结构。
  • 高质量语音合成:集成 Qwen3-TTS-Flash 模型,生成自然流畅的解说配音。
  • 极速渲染引擎:经过优化的视频合成逻辑(预合成、多线程编码),将生成时间从数小时缩短至数分钟。
  • 自动资源管理:自动整理生成的视频、音频、图片和字幕文件,保持输出目录整洁。
  • 字幕自动对齐:精准的时间轴计算,确保语音与字幕完美同步,并自动处理 Markdown 符号。

🛠️ 环境准备

  1. Python 环境 建议使用 Conda 创建虚拟环境:

    conda create -n doc2video python=3.12
    conda activate doc2video
    pip install -r requirements.txt
  2. 外部依赖

    • Node.js: 用于运行 Marp CLI 生成幻灯片图片。
    • FFmpeg: 用于视频和音频的合并处理(通常通过 imageio-ffmpeg 自动安装,若有问题请手动配置环境变量)。
  3. API 配置 本项目依赖阿里云 DashScope 服务(通义千问),请确保已设置环境变量:

    # Windows Powershell
    $env:DASHSCOPE_API_KEY="your_api_key_here"

📖 使用指南

1. 准备素材

将您的文章内容保存为 Markdown 格式(例如 my_article.md),并放入 input/ 文件夹中。

2. 运行流水线

在项目根目录下运行以下命令:

python main_pipeline.py --input input/my_article.md

3. 获取成果

运行完成后,结果将保存在 output_pipeline/ 目录下。您可以使用整理脚本将文件归类:

python scripts/organize_output.py

整理后的目录结构如下:

output_pipeline/
└── section_name/
    ├── video/      # 最终生成的 MP4 视频
    ├── subtitles/  # SRT 字幕文件
    ├── slides/     # 幻灯片源文件
    ├── audio/      # 配音片段
    └── images/     # 幻灯片图片

🏗️ 项目架构

project_root/
├── main_pipeline.py          # 程序入口
├── src/
│   ├── framework/            # 流水线核心框架 (Pipeline, Step, Context)
│   ├── steps/                # 具体步骤实现 (DocSplit, AudioGen, VideoAssembly 等)
│   ├── text_processing/      # 文本处理与 LLM 交互
│   ├── audio_engineering/    # 语音合成与时长计算
│   ├── visual_rendering/     # Marp 幻灯片生成
│   └── video_production/     # 视频合成与剪辑
├── input/                    # 输入文档目录
└── output_pipeline/          # 输出产物目录

⚡ 性能优化

本项目已针对视频生成速度进行了深度优化:

  • 低帧率渲染:针对静态幻灯片视频,使用 10 FPS 渲染,大幅减少计算量。
  • PIL 预合成:使用 Pillow 库预先处理图片合成,避免在视频渲染循环中进行繁重的图像处理。
  • 多线程编码:启用 FFmpeg 多线程与 faster 预设,显著提升编码速度。

📝 版本记录

  • v1.0: 初始版本,基于脚本的线性执行。
  • v2.0: 重构为 Pipeline 架构,支持断点续传与模块化扩展。
  • v2.1: 性能专项优化,视频生成速度提升 50倍+;修复 Windows 路径兼容性问题。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors