本地批量烧录器 · v1.0.0

一次烧几十条,然后去睡觉

把网页「批量处理」下载的字幕,用你电脑上的原生 ffmpeg 一次烧成一条条成片。 无人值守、可断点续传、失败自动重试。

视频从头到尾都在你本地。不用注册,不用上传,除了首次取一份字幕字体,之后完全离线可用。

下载(约 35 KB)

macOS / Windows / Linux · 需要 Python 3.8+ 与 ffmpeg · 仅标准库,无需 pip 安装任何依赖

它解决的是网页版的最后一处别扭

批量链路里,识别和翻译都在服务端跑完(可以关掉页面), 唯独烧录成片是在浏览器里一条一条过的——20 条视频就是 20 次人工等待, 标签页不能关、电脑不能睡,大文件还可能中途被浏览器杀掉。

⚡️

快一个数量级

原生编解码,不再是浏览器里的 wasm 沙箱。

🌙

无人值守

指一个文件夹,全部烧完,烧完弹系统通知。

⏯

断点续传

中途关机,原样再跑一次就接着烧,已完成的自动跳过。

🎯

与网页所见一致

同一套样式引擎、同一份字幕字体,本地烧出来和网页预览一致。

三步开始

  1. 1

    装 ffmpeg(只需一次)

    # macOS brew install ffmpeg
    # Windows winget install Gyan.FFmpeg
    # Ubuntu sudo apt install ffmpeg

    装完新开一个终端再继续。

  2. 2

    解压下载的包

    得到一个 smilesub-burn-1.0.0 文件夹, 里面有 smilesub_burn.py 和 README.md。

  3. 3

    双击运行,或者用命令行

    macOS 双击 burn.command,Windows 双击 burn.bat,把两个文件夹拖进去就行。 想要完整功能就用命令行:

    # 先看清楚会怎么配对(一个字节都不烧)
    python3 smilesub_burn.py --videos ./raw --subs ./batch.zip \
      --out ./burned --dry-run
    # 确认无误后去掉 --dry-run 正式开跑
    python3 smilesub_burn.py --videos ./raw --subs ./batch.zip --out ./burned
💡 强烈建议第一次先加 --dry-run:它只打印「哪条视频配哪份字幕、 会生成什么文件名」。批量任务跑两小时才发现配错了,是很常见的坑。

它不做什么

  • · 不上传任何东西——视频从头到尾都在你本地。
  • · 不联网(第一次取字体除外)。
  • · 不做识别和翻译——那是网页版的活,这里只负责最后一米。
  • · 不是网页版的替代——样式模板、术语表、多语种翻译都在网页里选好,这里只把结果落地。

常见问题

需要装什么?

Python 3.8 或更高版本,以及 ffmpeg(含 ffprobe)。工具本身只用 Python 标准库,不需要 pip 安装任何东西。装完 ffmpeg 后记得新开一个终端再运行。

视频会上传吗?

不会。视频从头到尾都在你本地,工具也不会访问网络——唯一的例外是第一次运行时下载一份字幕字体(约 16MB),之后缓存到本机、完全离线可用。也可以用 --font-dir 自备字体目录来彻底避免联网。

跑了一半关机了,要重头再来吗?

不用。进度记在输出目录的「烧录进度.json」里,原样再跑一次同一命令即可续传,已完成的会自动跳过。判定依据是内容指纹(字幕内容 + 视频大小与修改时间 + 编码参数),所以你改了译文或换了样式,它会自动重烧。

成片出来了但字幕是空白或方框,怎么办?

这是本地烧录最常见的静默失败:ASS 字幕里写的字体在你系统上不存在,渲染库找不到时不会报错,只是不画字。本工具默认会自动取网页端用的那份字体来避免这个问题;如果你改过字体,用 --font 指定一个本机已有的中文字体(macOS 常用 "PingFang SC",Windows 常用 "Microsoft YaHei"),或用 --font-dir 提供一个字体目录。

和网页里的「批量处理」是什么关系?

分工而非替代。识别、翻译、术语表、样式模板都在网页里完成并计费;这个工具只负责最后一步——把已产出的字幕批量烧成成片。它不需要登录,也没有积分消耗。

怎么只烧某几个语种?

用 --variant 选择字幕种类(translated 译文 / bilingual 双语 / ass 带样式的 ASS / source 原文),用 --lang 过滤语种,例如 --variant bilingual --lang en。先用 --dry-run 看清单最稳妥。

还不知道去哪拿字幕?

在网页上选一批视频 → 选目标语种与样式 → 跑完下载 ZIP,然后用这个工具一次烧完。

去批量处理