316 lines
14 KiB
Markdown
316 lines
14 KiB
Markdown
|
|
# AI视频播客自动生成
|
|||
|
|
|
|||
|
|
`视频制作` `TTS语音` `Remotion` `多平台发布` `AI工具`
|
|||
|
|
|
|||
|
|
# 视频播客制作器
|
|||
|
|
|
|||
|
|
[中文文档](README_CN.md)
|
|||
|
|
|
|||
|
|
自动化流水线,从一个主题出发,创作专业视频播客。**支持哔哩哔哩、YouTube、小红书、抖音和微信视频号**,并可输出多语言内容(zh-CN、en-US)。集成了研究调查、脚本生成、多引擎 TTS(Edge/Azure/豆包/CosyVoice)、Remotion 视频渲染与 FFmpeg 音频混合等能力。
|
|||
|
|
|
|||
|
|
**兼容:** [Claude Code](https://claude.ai/code) · [OpenClaw](https://openclaw.ai/)(ClawHub)· [OpenCode](https://opencode.ai/) · [Codex](https://openai.com/index/introducing-codex/) —— 任何支持 SKILL.md 的编程智能体
|
|||
|
|
|
|||
|
|
**发布至:** 哔哩哔哩 · YouTube · 小红书 · 抖音 · 微信视频号
|
|||
|
|
|
|||
|
|
> **无需编程!** 用自然语言描述你的主题,编程智能体会逐步引导你完成每个环节。你负责创意决策,智能体处理所有技术细节。制作第一个视频播客比你想象的更简单。
|
|||
|
|
|
|||
|
|
> **注意:** 本项目仍在积极开发中,可能尚未完全成熟。我们持续迭代改进,非常欢迎你的反馈和建议——随时[提交 Issue](https://github.com/Agents365-ai/video-podcast-maker/issues) 或联系我们!
|
|||
|
|
|
|||
|
|
## 功能特性
|
|||
|
|
|
|||
|
|
- **主题调研** - 网络搜索与内容收集
|
|||
|
|
- **脚本撰写** - 带章节标记的结构化解说词
|
|||
|
|
- **多引擎 TTS** - Edge TTS(免费)、Azure Speech、火山引擎豆包、CosyVoice、ElevenLabs、Google Cloud TTS、OpenAI TTS
|
|||
|
|
- **Remotion 视频** - 基于 React 的视频合成与动画
|
|||
|
|
- **视觉风格编辑** - 在 Remotion Studio 界面调整颜色、字体与布局
|
|||
|
|
- **实时预览** - 渲染前通过 Remotion Studio 即时调试
|
|||
|
|
- **自动对齐时间** - 通过 `timing.json` 实现音画同步
|
|||
|
|
- **BGM 混音** - 用 FFmpeg 叠加背景音乐
|
|||
|
|
- **字幕烧录** - 可选嵌入 SRT 字幕
|
|||
|
|
- **4K 输出** - 3840x2160 分辨率,画质清晰
|
|||
|
|
- **章节进度条** - 播放时显示当前章节的可视化时间轴
|
|||
|
|
- **中英双语 TTS** - 使用 Azure Speech 或 CosyVoice 进行中英混合解说
|
|||
|
|
- **发音纠正** - 全局与项目级多音字词典,修正中文多音字
|
|||
|
|
- **哔哩哔哩模板** - 开箱即用的 Remotion 模板(`Video.tsx`、`Root.tsx`、`Thumbnail.tsx`、`podcast.txt`),快速搭建项目
|
|||
|
|
- **组件库** - 可复用的视觉构建块(对比卡片、时间轴、代码块、引用块、特性网格、数据条、数字统计、流程图、图标卡、图示揭示、音频波形、Lottie 动画、媒体区块、章节布局、动态背景),用于组合丰富的章节页面
|
|||
|
|
- **偏好学习** - 自动学习用户风格偏好(颜色、字体、语速),并应用于后续视频
|
|||
|
|
- **多平台** - 哔哩哔哩、YouTube、小红书、抖音、微信视频号,各平台与语言设置独立
|
|||
|
|
- **多语言** - 支持中文(zh-CN)和英文(en-US)脚本模板、TTS 声音与字幕字体
|
|||
|
|
- **字幕偏好** - 自定义字体、大小、颜色、描边;可开关字幕烧录
|
|||
|
|
- **可配置 CTA** - 自动(B站一键三连 / YouTube 订阅)、动画、文字或自定义
|
|||
|
|
|
|||
|
|
### 各平台优化
|
|||
|
|
|
|||
|
|
**哔哩哔哩:**
|
|||
|
|
- **脚本结构** - 欢迎开场 + 一键三连结尾引导
|
|||
|
|
- **章节时间戳** - 自动生成 `MM:SS` 格式的 B 站章节
|
|||
|
|
- **封面生成** - AI(imagen/imagenty)或 Remotion,自动生成 16:9 + 4:3 两种版本
|
|||
|
|
- **视觉风格** - 粗体文字、减少留白、信息密度高
|
|||
|
|
- **发布信息** - 标题公式、标签策略、简介模板
|
|||
|
|
|
|||
|
|
**YouTube:**
|
|||
|
|
- **SEO 优化** - 标题不超过 70 字符,关键词丰富的描述,标签与 Hashtag
|
|||
|
|
- **章节** - 自动生成 YouTube 章节时间戳(首行固定为 0:00)
|
|||
|
|
- **CTA** - "点赞、订阅并分享"文字动画或自定义
|
|||
|
|
|
|||
|
|
**小红书:**
|
|||
|
|
- **标题** - 最多 20 字,简洁有力,支持 emoji
|
|||
|
|
- **简介** - 200-500 字,种草 / 知识分享风格,含 emoji
|
|||
|
|
- **话题标签** - `#话题#` 格式(双井号),5-10 个标签
|
|||
|
|
- **封面** - 3:4(1080x1440)适配信息流展示
|
|||
|
|
- **CTA** - "点赞收藏加关注"文字动画
|
|||
|
|
|
|||
|
|
**抖音:**
|
|||
|
|
- **格式** - 仅支持竖版短视频(9:16),不支持横版长视频
|
|||
|
|
- **简介** - 100-200 字,口语化、轻松风格,含 emoji
|
|||
|
|
- **话题标签** - `#话题` 格式(单井号),3-8 个标签
|
|||
|
|
- **CTA** - "点赞关注"纯文字(无动画)
|
|||
|
|
|
|||
|
|
**微信视频号:**
|
|||
|
|
- **格式** - 仅支持竖版短视频(9:16),不支持横版长视频
|
|||
|
|
- **简介** - 100-300 字,适合转发的知识分享风格
|
|||
|
|
- **话题标签** - `#话题` 格式(单井号),3-8 个标签
|
|||
|
|
- **CTA** - "点赞关注,转发给朋友"纯文字(无动画)
|
|||
|
|
|
|||
|
|
## 工作流程
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
## 相关技能
|
|||
|
|
|
|||
|
|
本技能依赖 **remotion-best-practices**,并可与其他可选技能配合使用:
|
|||
|
|
|
|||
|
|
- **remotion-best-practices** - 官方 Remotion 最佳实践(必需,提供核心 Remotion 模式与指南)
|
|||
|
|
- **find-skills** - 官方技能发现工具(可选,帮助查找和安装其他技能)
|
|||
|
|
- **ffmpeg** - 高级音视频处理(可选)
|
|||
|
|
- **imagen / imagenty** - AI 封面生成(可选)
|
|||
|
|
|
|||
|
|
## 环境要求
|
|||
|
|
|
|||
|
|
### 系统要求
|
|||
|
|
|
|||
|
|
| 软件 | 版本 | 用途 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| **macOS / Linux** | - | 已在 macOS 测试,兼容 Linux |
|
|||
|
|
| **Python** | 3.8+ | TTS 脚本、自动化 |
|
|||
|
|
| **Node.js** | 18+ | Remotion 视频渲染 |
|
|||
|
|
| **FFmpeg** | 4.0+ | 音视频处理 |
|
|||
|
|
|
|||
|
|
### 安装
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# macOS
|
|||
|
|
brew install ffmpeg node python3
|
|||
|
|
|
|||
|
|
# Ubuntu/Debian
|
|||
|
|
sudo apt install ffmpeg nodejs python3 python3-pip
|
|||
|
|
|
|||
|
|
# Python 依赖
|
|||
|
|
pip install azure-cognitiveservices-speech dashscope edge-tts requests
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 项目设置(必需)
|
|||
|
|
|
|||
|
|
> **重要:** 本技能需要以 Remotion 项目作为基础。
|
|||
|
|
|
|||
|
|
**组件说明:**
|
|||
|
|
|
|||
|
|
| 组件 | 来源 | 用途 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| **Remotion 项目** | `npx create-video` | 基础框架,包含 `src/`、`public/`、`package.json` |
|
|||
|
|
| **video-podcast-maker** | Claude Code 技能 | 工作流编排(本技能) |
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 第一步:创建新的 Remotion 项目(基础框架)
|
|||
|
|
npx create-video@latest my-video-project
|
|||
|
|
cd my-video-project
|
|||
|
|
npm i # 安装 Remotion 依赖
|
|||
|
|
|
|||
|
|
# 第二步:验证安装
|
|||
|
|
npx remotion studio # 应在浏览器中打开预览
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果你已有 Remotion 项目:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd your-existing-project
|
|||
|
|
npm install remotion @remotion/cli @remotion/player zod
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 所需 API 密钥
|
|||
|
|
|
|||
|
|
| 服务 | 用途 | 获取密钥 |
|
|||
|
|
|------|------|----------|
|
|||
|
|
| **Azure Speech** | TTS 音频生成(高质量) | [Azure 门户](https://portal.azure.com/) → 语音服务 |
|
|||
|
|
| **火山引擎豆包语音** | TTS 音频生成(备用后端) | [火山引擎控制台](https://console.volcengine.com/speech/service/8) |
|
|||
|
|
| **阿里云 CosyVoice** | TTS 音频生成(备用后端) | [阿里云百炼](https://bailian.console.aliyun.com/) |
|
|||
|
|
| **Edge TTS** | TTS 音频生成(默认,免费,无需密钥) | `pip install edge-tts` |
|
|||
|
|
| **ElevenLabs** | TTS 音频生成(英文最高质量) | [ElevenLabs](https://elevenlabs.io/) |
|
|||
|
|
| **Google Cloud TTS** | TTS 音频生成(多语言支持广泛) | [Google Cloud 控制台](https://console.cloud.google.com/) |
|
|||
|
|
| **OpenAI** | TTS 音频生成(简单 API) | [OpenAI 平台](https://platform.openai.com/) |
|
|||
|
|
| **Google Gemini** | AI 封面生成(可选) | [AI Studio](https://aistudio.google.com/) |
|
|||
|
|
| **阿里云 Dashscope** | AI 封面 - 中文优化(可选) | [阿里云百炼](https://bailian.console.aliyun.com/) |
|
|||
|
|
|
|||
|
|
### 环境变量
|
|||
|
|
|
|||
|
|
添加至 `~/.zshrc` 或 `~/.bashrc`:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# TTS 后端:edge(默认,免费)、azure、doubao、cosyvoice、elevenlabs、google、openai
|
|||
|
|
export TTS_BACKEND="edge" # 默认(免费),或 "azure" / "doubao" / "cosyvoice" / "elevenlabs" / "google" / "openai"
|
|||
|
|
|
|||
|
|
# Azure TTS(高质量)
|
|||
|
|
export AZURE_SPEECH_KEY="your-azure-speech-key"
|
|||
|
|
export AZURE_SPEECH_REGION="eastasia"
|
|||
|
|
|
|||
|
|
# 火山引擎豆包 TTS(备用后端)
|
|||
|
|
export VOLCENGINE_APPID="your-volcengine-appid"
|
|||
|
|
export VOLCENGINE_ACCESS_TOKEN="your-volcengine-access-token"
|
|||
|
|
export VOLCENGINE_CLUSTER="volcano_tts" # 默认集群,根据控制台配置调整
|
|||
|
|
export VOLCENGINE_VOICE_TYPE="BV001_streaming" # 根据控制台音色选项调整
|
|||
|
|
|
|||
|
|
# 阿里云 CosyVoice TTS(备用后端)+ AI 封面
|
|||
|
|
export DASHSCOPE_API_KEY="your-dashscope-api-key"
|
|||
|
|
|
|||
|
|
# 可选:Edge TTS 声音覆盖
|
|||
|
|
export EDGE_TTS_VOICE="zh-CN-XiaoxiaoNeural"
|
|||
|
|
|
|||
|
|
# ElevenLabs TTS
|
|||
|
|
export ELEVENLABS_API_KEY="your-elevenlabs-api-key"
|
|||
|
|
|
|||
|
|
# Google Cloud TTS
|
|||
|
|
export GOOGLE_TTS_API_KEY="your-google-tts-api-key"
|
|||
|
|
|
|||
|
|
# OpenAI TTS
|
|||
|
|
export OPENAI_API_KEY="your-openai-api-key"
|
|||
|
|
|
|||
|
|
# 可选:Google Gemini AI 封面生成
|
|||
|
|
export GEMINI_API_KEY="your-gemini-api-key"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
然后重新加载:`source ~/.zshrc`
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
### 使用方法
|
|||
|
|
|
|||
|
|
本技能设计用于 [Claude Code](https://claude.ai/claude-code) 或 [Opencode](https://github.com/opencode-ai/opencode)。只需告诉 Claude:
|
|||
|
|
|
|||
|
|
> "帮我制作一个关于[你的主题]的视频播客"
|
|||
|
|
|
|||
|
|
Claude 会自动引导你完成整个工作流程。
|
|||
|
|
|
|||
|
|
> **提示:** 首次生成的质量很大程度上取决于模型的智能程度——模型越先进,效果越好。经过测试,Codex 和 Claude Code 均能一次生成优质视频,OpenCode 搭配 GLM-5 也能产出不错的结果。如果初始输出不够理想,可以在 Remotion Studio 中预览,并要求编程智能体持续优化,直到满意为止。
|
|||
|
|
|
|||
|
|
### 使用 Remotion Studio 预览与视觉编辑
|
|||
|
|
|
|||
|
|
在渲染最终视频之前,使用 Remotion Studio 进行预览和视觉样式调整:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npx remotion studio src/remotion/index.ts
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
这将打开基于浏览器的编辑器,你可以:
|
|||
|
|
- **视觉风格编辑** - 在右侧面板调整颜色、字体和大小
|
|||
|
|
- 逐帧拖动时间轴
|
|||
|
|
- 编辑组件后实时查看更新
|
|||
|
|
- 即时调试时间与动画
|
|||
|
|
|
|||
|
|
#### 可编辑属性
|
|||
|
|
|
|||
|
|
| 类别 | 属性 |
|
|||
|
|
|------|------|
|
|||
|
|
| **颜色** | 主色、背景色、文字颜色、强调色 |
|
|||
|
|
| **排版** | 标题大小(72-120)、副标题大小、正文大小 |
|
|||
|
|
| **进度条** | 显示/隐藏、高度、字体大小、激活颜色 |
|
|||
|
|
| **音频** | BGM 音量(0-0.3) |
|
|||
|
|
| **动画** | 开启/关闭入场动画 |
|
|||
|
|
|
|||
|
|
## 配置文件
|
|||
|
|
|
|||
|
|
| 文件 | 作用范围 | 用途 |
|
|||
|
|
|------|----------|------|
|
|||
|
|
| `phonemes.json` | 全局 | 所有项目共享的中文多音字词典。可编辑以添加或修正发音(如:行 háng vs xíng)。项目级覆盖放置于 `videos/{name}/phonemes.json` |
|
|||
|
|
| `user_prefs.template.json` | 全局 | 默认偏好模板。首次运行时复制为 `user_prefs.json`,随技能学习风格后自动演进 |
|
|||
|
|
| `prefs_schema.json` | 全局 | 偏好验证的 JSON Schema,请勿手动编辑 |
|
|||
|
|
| `tsconfig.json` | 全局 | Remotion 模板的 TypeScript 配置 |
|
|||
|
|
|
|||
|
|
## 输出结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
videos/{video-name}/
|
|||
|
|
├── topic_definition.md # 主题方向
|
|||
|
|
├── topic_research.md # 调研笔记
|
|||
|
|
├── podcast.txt # 解说词脚本
|
|||
|
|
├── phonemes.json # (可选)项目级发音覆盖
|
|||
|
|
├── podcast_audio.wav # TTS 音频
|
|||
|
|
├── podcast_audio.srt # 字幕文件
|
|||
|
|
├── timing.json # 章节时间用于同步
|
|||
|
|
├── thumbnail_*.png # 视频封面
|
|||
|
|
├── publish_info.md # 标题、标签、简介
|
|||
|
|
├── part_*.wav # TTS 分段(临时文件,通过第 14 步清理)
|
|||
|
|
├── output.mp4 # 原始渲染(临时文件)
|
|||
|
|
├── video_with_bgm.mp4 # 含 BGM 版本(临时文件)
|
|||
|
|
└── final_video.mp4 # 最终输出
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 背景音乐
|
|||
|
|
|
|||
|
|
`assets/` 目录中包含以下音轨:
|
|||
|
|
- `perfect-beauty-191271.mp3` - 欢快、积极
|
|||
|
|
- `snow-stevekaldes-piano-397491.mp3` - 平静钢琴曲
|
|||
|
|
|
|||
|
|
## 路线图
|
|||
|
|
|
|||
|
|
- [x] 竖版视频支持(9:16),适配 B 站移动端优先内容
|
|||
|
|
- [x] Remotion 转场效果(@remotion/transitions),实现专业章节转场
|
|||
|
|
- [x] 组件模板库(对比卡片、时间轴、代码块、引用块、特性网格、数据条、数字统计、流程图、图标卡)
|
|||
|
|
- [x] 广播级质量升级(渐变背景、多层阴影、动态数字计数、质量检查清单)
|
|||
|
|
- [x] 多 TTS 引擎支持(7 个引擎:Edge、Azure、豆包、CosyVoice、ElevenLabs、OpenAI、Google Cloud)
|
|||
|
|
- [x] Edge TTS 免费后端(无需 API 密钥)
|
|||
|
|
- [x] 多平台支持(B 站 + YouTube),支持独立语言配置(zh-CN、en-US)
|
|||
|
|
- [x] 断点续传(`--resume` 参数)
|
|||
|
|
- [x] 试运行模式(`--dry-run` 估算时长)
|
|||
|
|
- [x] 用户偏好自进化(自动学习视觉/TTS/内容风格偏好)
|
|||
|
|
- [x] 重构至最新 Claude Code SKILL 规范(`references/` 分层文档、`${CLAUDE_SKILL_DIR}` 变量、`argument-hint`/`effort`/`allowed-tools` 前置字段)
|
|||
|
|
- [x] 设计学习系统 —— 从参考视频/图片中学习设计风格,构建设计参考库和可复用风格配置文件
|
|||
|
|
- [ ] Playwright 自动截图 —— 通过 URL 直接分析 B 站/YouTube 视频设计风格(第 4 阶段)
|
|||
|
|
- [ ] 第 9 步智能推荐 —— 创建视频时自动匹配并推荐现有风格配置文件(第 5 阶段)
|
|||
|
|
- [ ] 封面设计学习 —— 将学习到的封面风格应用于 Thumbnail.tsx 模板(第 5 阶段)
|
|||
|
|
- [ ] YouTube 自动发布 —— 通过 YouTube Data API 上传,附带元数据、章节和封面
|
|||
|
|
- [ ] Windows 兼容性(WSL 验证 + 文档)
|
|||
|
|
|
|||
|
|
## 开源协议
|
|||
|
|
|
|||
|
|
MIT
|
|||
|
|
|
|||
|
|
## 支持作者
|
|||
|
|
|
|||
|
|
如果本项目对你有帮助,欢迎支持作者:
|
|||
|
|
|
|||
|
|
<table>
|
|||
|
|
<tr>
|
|||
|
|
<td align="center">
|
|||
|
|
<img src="https://raw.githubusercontent.com/Agents365-ai/images_payment/main/qrcode/wechat-pay.png" width="180" alt="微信支付">
|
|||
|
|
<br>
|
|||
|
|
<b>微信支付</b>
|
|||
|
|
</td>
|
|||
|
|
<td align="center">
|
|||
|
|
<img src="https://raw.githubusercontent.com/Agents365-ai/images_payment/main/qrcode/alipay.png" width="180" alt="支付宝">
|
|||
|
|
<br>
|
|||
|
|
<b>支付宝</b>
|
|||
|
|
</td>
|
|||
|
|
<td align="center">
|
|||
|
|
<img src="https://raw.githubusercontent.com/Agents365-ai/images_payment/main/qrcode/buymeacoffee.png" width="180" alt="请我喝咖啡">
|
|||
|
|
<br>
|
|||
|
|
<b>请我喝咖啡</b>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
|
|||
|
|
## 作者
|
|||
|
|
|
|||
|
|
**Agents365-ai**
|
|||
|
|
|
|||
|
|
- 哔哩哔哩:https://space.bilibili.com/441831884
|
|||
|
|
- GitHub:https://github.com/Agents365-ai
|