youdub-dub
视频配音编排器。将YouTube视频自动翻译成中文配音版本:下载→人声分离→语音识别→翻译→TTS→混音→压制字幕。依赖 youtube-downloader 子skill处理下载,依赖 youdub-pipeline 项目执行管线。
来源信息
- 仓库
- yang0/youdub-dub
- 最近来源活动
- 2026年5月19日 15:02
- 检测到的 SKILL.md 语言
- 中文
- 星标
- 0
- 分支
- 0
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- youdub-dub
- description
- 视频配音编排器。将YouTube视频自动翻译成中文配音版本:下载→人声分离→语音识别→翻译→TTS→混音→压制字幕。依赖 youtube-downloader 子skill处理下载,依赖 youdub-pipeline 项目执行管线。
- tier
- router
# /youdub-dub — 视频配音编排器
接收一个YouTube URL,自动完成:下载视频 → 分离人声 → 语音识别 → 翻译 → 生成配音 → 混音 → 压制字幕 → 输出最终MP4。
## 依赖项目
| 项目 | 路径 | 用途 |
|------|------|------|
| **youtube-downloader** (skill) | `E:\projectHome\youtube-downloader\` | YouTube下载(CDP auth + bgutil) |
| **youdub-pipeline** | `E:\projectHome\youdub-pipeline\` | 管线执行脚本 + 虚拟环境 |
## 前置条件(首次使用检查)
```powershell
# 1. bgutil PoToken 服务(YouTube下载必需)
curl.exe -s --max-time 2 http://127.0.0.1:4416/ping
# 如果失败 → 启动: Start-Process node "build/main.js" -WorkingDir "E:\projectHome\bgutil-ytdlp-pot-provider\server" -WindowStyle Hidden
# 2. YouTube Cookie(24h内有效)
Test-Path E:\projectHome\YouDub-webui\data\cookies\youtube.txt
# 如果过期 → 执行 youtube-downloader 的 Quick Auth Recovery
# 3. 配置
Copy-Item E:\projectHome\youdub-pipeline\pipeline.env.example E:\projectHome\youdub-pipeline\pipeline.env
# 编辑 pipeline.env:设置 OPENAI_API_KEY、YT_PROXY_PORT 等
```
## 执行流程
### 第1步:下载视频
委托给 `youtube-downloader` skill 下载视频。
**输出**: `{workdir}/{video_id}/media/video_source.mp4`
如果已有cookie文件且bgutil运行中,可直接用:
```
python -m yt_dlp "URL" --no-playlist -f "bestvideo[height<=1080]+bestaudio/best" --merge-output-format mp4 -o "{workdir}/{video_id}/media/video_source.mp4"
```
### 第2步:运行配音管线
```powershell
cd E:\projectHome\youdub-pipeline
.venv\Scripts\python scripts\youdub_pipeline.py run "URL" --session-dir "E:\path\to\workdir\{video_id}"
```
### 第3步:查看结果
最终视频在 `{session_dir}/media/video_final.mp4`
## 单阶段执行(调试用)
```powershell
# 只跑 Demucs + ASR + 翻译
cd E:\projectHome\youdub-pipeline
.venv\Scripts\python scripts\youdub_pipeline.py run "URL" --stages separate,asr,asr_fix,translate
```
## 配置参考
编辑 `E:\projectHome\youdub-pipeline\pipeline.env`:
| 变量 | 说明 | 必填 |
|------|------|------|
| `OPENAI_API_KEY` | DeepSeek/OpenAI API密钥 | 是 |
| `OPENAI_BASE_URL` | API地址(DeepSeek: `https://api.deepseek.com/v1`) | 是 |
| `OPENAI_MODEL` | 模型名(如 `deepseek-chat`, `deepseek-v4-flash`) | 是 |
| `YT_PROXY_PORT` | 代理端口(如 `7890`) | 如果在中国 |
| `YT_COOKIE_FILE` | Cookie文件路径 | 推荐 |
| `PIPELINE_DEVICE` | `cuda` 或 `cpu` | 是 |
## 工作目录结构
```
workdir/{video_id}/
├── media/
│ ├── video_source.mp4 # 原始视频
│ ├── audio_vocals.wav # 分离人声
│ ├── audio_bgm.wav # 背景音乐
│ └── video_final.mp4 # 最终输出
├── metadata/ # 中间数据
├── segments/ # 音频片段
├── pipeline.log # 运行日志
└── .stage_status.json # 断点状态
```
在 GitHub 查看