给 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)。
|
自动选择平台封面并转换为通用 JPEG,无需另存网页图片。 |
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 "<url>" \
--output-dir job --deliver video --browser-cookies autovideo 与 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 denoMiSans 请从小米 HyperOS 官方页面获取;字体文件不包含在本仓库中。
仅下载你有权访问和保存的内容。JZSub 不绕过 DRM、付费墙、验证码或平台安全限制。
开发者验证
python3 skills/jzsub/scripts/fetch_video.py --self-test
python3 -m unittest discover -s skills/jzsub/tests -vMIT · 平台 Logo 与商标归各自权利人所有。