JZSub 是基于 yt-dlp + GPT 的开源视频双语字幕工具,一条链接自动下载最高画质视频与封面、GPT 双语字幕并烧录 MP4。支持 YouTube/B站/Vimeo/Twitch/TikTok 等多平台,可作为 Codex skill 调用,灵活按需交付,完整自动流水线。

🎤 引言

把 YouTube / B站 视频"装进口袋"带去地铁、飞机、没网的地方看——这种需求太常见了。问题在于:手动操作流程长——下视频、抽字幕、调样式、烧录、做封面……少则半小时,多则折腾一下午。

JZSub 直接把这个流程做成了一条命令:"给个链接,拿回最高画质视频 + 封面 + GPT 双语字幕 + 烧录完成的 MP4"。234 Stars、24 Forks、Python 写、MIT 协议3 天前刚创建(2026-07-10)——虽然项目非常新,但 README 已经写得相当完整,连 Codex skill 集成方式都给好了。

底层用 yt-dlp 拉视频流,GPT 做紧凑分批双语翻译,FFmpeg + libass 烧录字幕(MiSans 字体底部双语堆叠)。支持 YouTube、Bilibili、Vimeo、Twitch、Dailymotion、TikTok 六大主流平台,外加 yt-dlp 兼容的所有其他站点


⭐ 核心功能

JZSub 的功能集围绕"一条链接全包"展开。

1. 最高画质视频下载

底层用 yt-dlp,直接取最佳视频流 + 最佳音频流,封装为 MP4。下载完音视频同步不丢帧、码率最高。

2. GPT 双语字幕翻译(核心差异化)

  • 紧凑分批翻译:字幕按"紧凑文档"分批送 GPT,不读完整清单,大幅降低 token 消耗。
  • 批间上下文衔接:批次之间有上下文逻辑(如人物关系、术语统一),不会上句下句人名对不上。
  • 句子边界重新切分:翻译后按目标语言自然句法重新切分时间轴,避免"半句话跨两屏"。
  • 原文保持不变:双语字幕中原文永远在,不做"翻译后只留译文"这种操作。
  • 多语言支持:默认译成中文,--target-lang 可指定任何语言(日语、法语、阿拉伯语…)。

3. 自动字幕烧录(libass + MiSans)

  • MiSans 字体(小米 HyperOS 官方字体):烧录用的是官方 MiSans Bold,字形清爽。
  • 底部双语堆叠:原文 + 译文上下排列,适合学习场景。
  • 自适应竖屏:横屏竖屏自动适配(手机上看起来不会"字幕把画面挡一半")。
  • 精确背景:字幕块带半透明背景,复杂画面下也能看清字。
  • libass 渲染:ASS 格式字幕渲染,专业级精度。

4. 封面直取

  • 自动从平台抓取视频封面。
  • 转换为通用 JPEG(无需手动存网页图片)。
  • 与视频一起交付为 cover.jpg

5. 静默登录(黑科技)

  • 需要登录态时直接读取 Chrome 浏览器现有的 Cookie——你已经在 Chrome 登录了 YT 会员就直接能用。
  • 不导出 Cookie——隐私友好。
  • 不用手动复制粘贴 netscape cookie 文件。

6. 按需交付(--deliver

四种交付目标,按需选择:

目标说明产物
full(默认)完整流水线视频 + 封面 + 字幕 + 双语烧录 MP4
video只要视频,不翻译不烧录视频 + 封面(平台有字幕时附原始字幕)
subs只要字幕,不下载视频流原始字幕 + 衍生 SRT
bilingual-subs只要双语字幕文件原始字幕 + 双语 SRT/ASS(不下视频)

——想要纯翻译不下载视频?bilingual-subs 一键交付。

7. 低耗运行 + 进度条

  • 只读紧凑字幕文档,不读完整清单。
  • 烧录每 5% 显示一次进度条:
烧录 [██████████░░░░░░░░░░]  50%  01:11 / 02:23  0.68x

8. 无字幕也能用

平台没有字幕时(比如 vlog 短视频、TikTok 视频),JZSub 不会报错,直接交付视频、MP4、封面。需要字幕再走"音频转写"工具(比如 Whisper)补。

9. Codex Skill 集成(杀手锏)

  • 可作为 Codex skill 安装到 ~/.codex/skills/
  • 在 Codex 中直接用 $jzsub <url> 命令。
  • JZSub 持续执行下载、翻译、字幕渲染、烧录与交付检查——不会停在"仅下载完成"的中间状态。
  • Codex agent 会判断你的需求选择正确的 --deliver 目标。

📥 安装与使用

1. 安装依赖

Python 3.10+ / yt-dlp / Deno 2.3+ / FFmpeg(带 libass)/ MiSans Bold 字体

macOS 一键安装:

brew install yt-dlp ffmpeg-full deno

Linux(Debian/Ubuntu):

sudo apt update
sudo apt install python3 python3-pip ffmpeg
# yt-dlp(推荐 pip 装最新版)
pip install -U yt-dlp
# Deno
curl -fsSL https://deno.land/install.sh | sh

MiSans 字体:从 小米 HyperOS 官方页面 下载,仓库不含字体(合规考虑)。

2. 命令行直接使用

git clone https://github.com/pengchujin/jzsub.git
cd jzsub
# 安装 Python 依赖
pip install -r requirements.txt

# 完整流水线(默认 full)
python3 skills/jzsub/scripts/fetch_video.py "https://www.youtube.com/watch?v=VIDEO_ID"

# 只要视频,不翻译不烧录
python3 skills/jzsub/scripts/fetch_video.py "<url>" \
  --output-dir job --deliver video --browser-cookies auto

# 只要双语字幕文件
python3 skills/jzsub/scripts/fetch_video.py "<url>" \
  --output-dir job --deliver bilingual-subs --target-lang zh

# 自检
python3 skills/jzsub/scripts/fetch_video.py --self-test

3. 安装为 Codex skill

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

Codex 会自动调度下载、模型翻译、字幕渲染、烧录、交付检查——一条龙。

4. 验证脚本

python3 -m unittest discover -s skills/jzsub/tests -v

🎯 适用场景

  • 学习外语:下载 YouTube/B站视频 + 自动双语字幕(原文 + 中文/任意目标语言),随时回看对照。
  • 离线看片:通勤、地铁、飞机、长途车上没网,预先下好带字幕的视频。
  • 自媒体二创:把外网视频 + 双语字幕 + 烧录好的 MP4 拿来剪辑,无需再额外调字幕样式。
  • 教学/培训:把英文技术演讲下下来 + 中文字幕烧录,做内部培训素材。
  • 内容研究:批量下载一系列相关视频 + 双语字幕,做语料库分析。
  • Codex 用户:让 AI agent 直接调用 JZSub 处理视频,不用自己写代码
  • 字幕组协作:作为初翻流水线,GPT 翻译后再人工校对,比纯人工快 5-10 倍。

🔍 对比/替代方案

工具定位JZSub vs 它
yt-dlp纯命令行视频下载yt-dlp 只下载,不做翻译、不做烧录。JZSub 把 yt-dlp 当底层,前端加 GPT + libass
VTT / SRT 字幕下载 + 手翻传统字幕组流程全手动,耗时耗力。JZSub 自动化
ChatGPT / Claude 翻译 + 手动烧录半自动方案你得自己拼接 yt-dlp 输出 + 写 ffmpeg 命令。JZSub 一条命令
视频字幕下载工具(DownSub、SaveSubs)Web 端字幕下载只下载平台原生字幕(没有就用不了),不能 GPT 翻译。JZSub 双语生成 + 烧录
Subtitle Edit (subedit)字幕编辑工具本地编辑 SRT/ASS 的工具,不下载视频、不翻译。JZSub 是"端到端流水线"
Memo / Whisper 字幕生成音频转字幕这些是没有字幕时用音频转,JZSub 优先用平台原生字幕,效率与质量更高
VideoLingo / 各种双语字幕项目AI 双语字幕JZSub 的差异化是:与 yt-dlp 一体化(不是单独翻译工具),加上 libass 专业烧录、Codex skill 集成
GTranslate + 视频编辑器通用方案通用翻译工具,不针对视频场景优化

选择标准:

  • 要"一条链接出全套" → JZSub
  • 只要下载 + 自带字幕 → yt-dlp 直接搞定
  • 没字幕要 ASR 转写 → Whisper 类工具
  • 要 GUI 编辑字幕 → Subtitle Edit / Aegisub

⚠️ 注意事项

  1. 项目非常新(2026-07-10 创建,仅 3 天):0 open issues,但实际生产环境的边缘 case 可能没被广泛测试,生产前小规模试用
  2. 免责声明:README 明确写——"仅下载你有权访问和保存的内容。JZSub 不绕过 DRM、付费墙、验证码或平台安全限制"。会员视频YouTube Premium 独占内容等需要登录态的,用 Chrome 浏览器已经登录的 Cookie可以下;但绕过付费墙本身违反 YouTube TOS,请遵守平台规则。
  3. GPT 翻译需要 API Key:默认应该用 OpenAI / 兼容 OpenAI API 的服务(Azure OpenAI / DeepSeek / 自部署 OpenAI 兼容模型),需要配置 API Key
  4. MiSans 字体不包含:从 HyperOS 官方 下载,仓库不打包字体(合规考虑)。
  5. FFmpeg 必须带 libass:默认 FFmpeg 不带 libass 字幕渲染,需要完整版(macOS brew install ffmpeg-full、Linux apt install ffmpeg 通常带)。
  6. 浏览器登录态依赖 Chrome:静默登录从 Chrome 读取 Cookie,用 Safari / Firefox 不行。需要 Chromium-based 浏览器 + 已登录目标平台。
  7. 翻译质量看 GPT 模型:GPT-4o / GPT-4.1 翻译质量高,GPT-3.5-turbo 偶有错译。专业术语建议二次校对
  8. 双语字幕对屏幕空间要求:横屏视频底部双语堆叠对 1080p+ 友好,720p / 竖屏字幕会偏小。
  9. 不绕过 DRM / 验证码:Widevine / Netflix / Disney+ 这类 DRM 保护内容无法下载
  10. 多语言术语一致性:GPT 在长视频多批次翻译中术语一致性可能波动,极专业场景建议人工 glossary

✅ 总结

JZSub 解决了一个朴素场景:想要一条命令出"最高画质视频 + 封面 + 双语字幕 + 烧录 MP4"的完整流水线。底层 yt-dlp 拉流、GPT 做紧凑分批翻译、libass + MiSans 专业烧录、Codex skill 无缝集成、4 种交付目标按需选择、0 open issues + MIT 协议。

最大的差异化是 "端到端 + AI 翻译 + Codex 集成"——同类项目要么纯下载、要么纯翻译、要么只做 GUI 编辑,JZSub 把这些缝合成了一个命令。对学习外语、离线看片、自媒体二创、Codex 用户来说是一套极其实用的工具链。

挑毛病的话:项目太新(3 天),生产稳定性待验证;GPT 翻译需要 API Key(OpenAI / DeepSeek / 自部署均可);MiSans 字体需手动下载;Chrome 浏览器登录态依赖;不绕过 DRM / 付费墙 / 验证码(合规导向,但限制了部分场景)。

整体推荐给:

  • 学习外语的用户(最匹配,自动双语字幕烧录);
  • 通勤 / 长途旅行的离线看片党;
  • 自媒体二创(外网视频 + 中文字幕);
  • Codex 用户(agent 自动调度视频处理流水线);
  • 字幕组(GPT 初翻 + 人工校对,比纯人工快 5-10 倍);
  • 想"一条命令出全套"的极客玩家。

GitHub 主页 | Releases 下载 | yt-dlp 项目 | libass 项目 | MiSans 字体下载 | Codex 介绍