pengchujin/jzsub
GitHub: pengchujin/jzsub
JZSub 通过一条视频链接自动完成下载、GPT 双语字幕翻译和字幕烧录,端到端交付带双语字幕的高画质 MP4。
Stars: 248 | Forks: 24
给 JZSub 一个视频链接,拿回最高画质视频、封面、双语字幕和烧录完成的 MP4。
## 支持的平台
 YouTube |
 Bilibili |
 Vimeo |
 Twitch |
 Dailymotion |
 TikTok |
以及 yt-dlp 支持的其他站点。实际可用格式、字幕和登录要求由平台决定。
## 主要功能
- **最高画质**:下载最佳视频与音频,尽可能无损封装 MP4
- **按需交付**:`--deliver` 可选完整烧录、仅视频(含原始字幕文件)、仅原始字幕、或双语字幕文件
- **双语字幕**:紧凑分批翻译、批间上下文衔接,再按句子边界重新切分;原文保持不变。默认译成中文,`--target-lang` 可指定日语、法语等任意目标语言
- **自动烧录**:MiSans 字幕、底部双语堆叠、自适应竖屏、精确背景、libass 渲染
- **低耗运行**:只读取紧凑字幕文档,不读取完整清单;烧录每 5% 显示一次进度
- **封面直取**:自动下载并转换为 `封面.jpg`
- **静默登录**:需要时直接读取 Chrome 登录态,不导出 Cookie
- **无字幕也能用**:平台没有字幕时直接交付视频、MP4 和封面
```
烧录 [██████████░░░░░░░░░░] 50% 01:11 / 02:23 0.68x
```
## 视频前后对比
左:下载后的原片 · 右:JZSub 生成并烧录的原文+中文双语字幕
## 竖屏视频支持
左:无字幕原片 · 右:JZSub 竖屏双语字幕成片。自动使用更紧凑的字号与更大的底部安全区。截图来自 Parking Sensor (DIY)。
## 封面自动获取
 |
与视频一起交付
封面.jpg
自动选择平台封面并转换为通用 JPEG,无需另存网页图片。
|
## 在 Codex 中使用
### npx 一键安装(推荐)
```
npx skills add pengchujin/jzsub --skill jzsub -g -a codex -y
```
需要 Node.js 18+。命令会从 GitHub 获取最新版,并把 JZSub 全局安装到 Codex。
### 手动安装
```
git clone https://github.com/pengchujin/jzsub.git
mkdir -p ~/.codex/skills
cp -R jzsub/skills/jzsub ~/.codex/skills/
```
在 Codex 新任务中发送:
```
$jzsub https://www.youtube.com/watch?v=VIDEO_ID
```
JZSub 会持续执行下载、模型翻译、字幕渲染、烧录与交付检查。翻译通过紧凑队列逐批进行,不读取完整字幕清单,也不会停在仅下载完成的中间状态。
默认中文交付会生成 `封面.jpg` 和 `双语字幕版「视频名」.mp4`;文件名由下载清单统一声明,续传与交付验证使用同一名称。
## 按需交付
告诉 agent 你只要什么,它会选择对应的 `--deliver` 目标;也可以直接运行脚本:
| 目标 | 说明 | 产物 |
|---|---|---|
| `full`(默认) | 完整流水线 | 视频、封面、字幕、双语烧录 MP4 |
| `video` | 只要视频,不翻译不烧录 | 视频、封面,平台有字幕时同样保存原始字幕文件 |
| `subs` | 只要字幕,不下载视频流 | 原始字幕 + 衍生 SRT |
| `bilingual-subs` | 只要双语字幕文件 | 原始字幕 + 翻译渲染的双语 SRT/ASS,不下载视频 |
```
python3 skills/jzsub/scripts/fetch_video.py "
" \
--output-dir job --deliver video --browser-cookies auto
```
`video` 与 `subs` 下载完成即结束;`full` 与 `bilingual-subs` 会继续翻译流程,交付检查按声明的目标判定完成。`subs` 类目标在平台没有合适字幕时会明确报错。
## 依赖
Python 3.10+、yt-dlp、Deno 2.3+、带 libass 的 FFmpeg/ffprobe,以及 MiSans Bold。macOS 可运行:
```
brew install yt-dlp ffmpeg-full deno
```
MiSans 请从[小米 HyperOS 官方页面](https://hyperos.mi.com/font/zh/download/)获取;字体文件不包含在本仓库中。
开发者验证
```
python3 skills/jzsub/scripts/fetch_video.py --self-test
python3 -m unittest discover -s skills/jzsub/tests -v
```
## 许可证
[MIT](LICENSE) · 平台 Logo 与商标归各自权利人所有。标签:GPT翻译, MITM代理, yt-dlp, 双语字幕, 视频下载, 视频处理, 逆向工具