成功实现了基于 .NET 8 的 AutoCinema.Pro 自动化视频生成系统,采用导演-演员-剪辑模型 (Director-Actor-Editor Model)。
e:\100.Work\NestCoreProject\制作图片视频\
├── AutoCinema.Pro.sln # 解决方案文件
└── src/AutoCinema.Pro/
├── AutoCinema.Pro.csproj # 项目配置
├── Program.cs # 应用入口
├── appsettings.json # 配置文件
├── Models/ # 领域模型
│ ├── Scene.cs
│ ├── Storyboard.cs
│ ├── GeneratedAsset.cs
│ └── VideoProject.cs
├── Configuration/ # 配置类
│ ├── LlmOptions.cs
│ ├── VolcengineOptions.cs
│ ├── MiniMaxOptions.cs
│ └── PipelineOptions.cs
├── Services/
│ ├── Director/ # 导演层
│ │ ├── IStoryboardService.cs
│ │ └── StoryboardService.cs
│ ├── Actor/ # 演员层
│ │ ├── IImageGenerationService.cs
│ │ ├── VolcengineImageService.cs
│ │ ├── ISpeechGenerationService.cs
│ │ └── MiniMaxSpeechService.cs
│ └── Editor/ # 剪辑层
│ ├── IAudioAnalysisService.cs
│ ├── NAudioAnalysisService.cs
│ ├── ISubtitleService.cs
│ ├── SrtSubtitleService.cs
│ ├── IVideoCompositionService.cs
│ └── FFMpegVideoService.cs
├── Pipeline/ # 流水线
│ ├── IVideoProductionPipeline.cs
│ └── VideoProductionPipeline.cs
└── Infrastructure/
└── Resilience/
└── PollyPolicies.cs # 重试策略
- StoryboardService.cs
- 使用
IChatClient调用 LLM - 将故事文本解析为结构化的场景列表
- 自动注入全局视觉风格前缀
- VolcengineImageService.cs: 火山引擎 Seedream 图片生成
- MiniMaxSpeechService.cs: MiniMax TTS 语音合成
- 并发控制 (SemaphoreSlim)
- 指数退避重试 (Polly)
- 降级策略(生成占位图)
- NAudioAnalysisService.cs: 精确音频时长分析
- SrtSubtitleService.cs: SRT 字幕生成,实现音画对齐算法
- FFMpegVideoService.cs: 视频合成和字幕烧录
- VideoProductionPipeline.cs
- 四阶段流程:解析 → 生成素材 → 生成字幕 → 合成视频
- 支持进度回调
- 并行素材生成 (Task.WhenAll)
| 组件 | 技术 |
|---|---|
| 运行时 | .NET 8 (C# 12) |
| AI 抽象层 | Microsoft.Extensions.AI.OpenAI 10.1.1-preview |
| 图片生成 | 火山引擎 Ark REST API (Seedream) |
| 语音合成 | MiniMax TTS HTTP API |
| 音频分析 | NAudio 2.2.1 |
| 视频处理 | FFMpegCore 5.1.0 |
| 弹性重试 | Polly 8.4.0 |
✅ 构建成功
- 0 个错误
- 1 个警告 (可忽略的 null 警告)
编辑 appsettings.json:
{
"Llm": {
"ApiKey": "<YOUR_OPENAI_API_KEY>",
"Model": "gpt-4o"
},
"Volcengine": {
"ApiKey": "<YOUR_VOLCENGINE_API_KEY>"
},
"MiniMax": {
"ApiKey": "<YOUR_MINIMAX_API_KEY>",
"GroupId": "<YOUR_GROUP_ID>"
}
}确保 FFmpeg 已安装并添加到系统 PATH。
cd e:\100.Work\NestCoreProject\制作图片视频
dotnet run --project src/AutoCinema.Pro- 配置真实 API 密钥 进行端到端测试
- 安装 FFmpeg 确保视频合成功能正常
- 可选扩展:
- 添加 Web API 接口
- 实现更多 LLM 提供商支持
- 增加背景音乐混音功能