youdub-dub
视频配音编排器。将YouTube视频自动翻译成中文配音版本:下载→人声分离→语音识别→翻译→TTS→混音→压制字幕。依赖 youtube-downloader 子skill处理下载,依赖 youdub-pipeline 项目执行管线。
معلومات المصدر
- المستودع
- yang0/youdub-dub
- آخر نشاط في المصدر
- ١٩ مايو ٢٠٢٦ في ١٥:٠٢
- لغة SKILL.md المكتشفة
- الصينية
- النجوم
- ٠
- التفرعات
- ٠
خيارات التثبيت
يُحدَّد 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