Skip to content

MontageSubs/ass-subset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

175 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASS 在线子集化工具

ASS Online Subsetter · MontageSubs


在浏览器中完成 ASS/SSA 字幕的绘图指令子集化与字体嵌入,所有处理均在本地进行。

字幕绘图指令子集化 · 字幕字体子集嵌入

中文 | English



简介

ASS 在线子集化工具是由蒙太奇字幕组 (MontageSubs) 开发的开源浏览器端工具,用于优化 Advanced SubStation Alpha (.ass) 与 SubStation Alpha (.ssa) 字幕文件。

ASS/SSA 字幕格式支持将字体文件直接嵌入字幕,无需用户单独安装字体即可正常渲染特效。然而,完整字体动辄数 MB,编码后会使字幕体积大幅膨胀。本工具通过子集化技术,仅保留字幕中实际使用的字形,将嵌入字体压缩至最小体积,同时完整保留所有字体名称引用,确保播放器正确识别。

所有处理均在本地浏览器中完成,文件不离开用户设备。

功能

绘图指令子集化

将字幕中的 \p1\p0 矢量绘图数据提取为独立的内嵌 TTF 字体。相同的绘图形状只存储一次,替换全部重复引用,显著减小文件体积,并提升低性能设备(如 Android TV 机顶盒)的渲染兼容性。

字体子集嵌入

扫描字幕文件中引用的非系统字体,将上传的字体文件子集化后以 UUEncoding 标准嵌入字幕。仅保留字幕中实际出现的字符,并完整保留字体名称表,确保各播放器正常识别。支持 TTF、OTF、TTC 格式。

使用方法

本工具完全基于浏览器运行,无需安装:

  1. 打开 https://subs.js.org/ass-subset/
  2. 上传 .ass.ssa 字幕文件,支持批量处理和 ZIP 格式
  3. 查看分析结果,确认检测到的绘图指令与外部字体
  4. 如需嵌入字体,上传对应的字体文件(TTF / OTF / TTC)
  5. 点击"开始转换",下载优化后的字幕文件

转换后的文件名格式为 原文件名_optimized.ass

注意: 绘图指令转换后,特效的大小或位置可能发生轻微偏移,建议手动检查最终效果。

技术依赖

依赖 版本 许可证 用途
opentype.js 1.3.4 MIT 字体解析与构建
JSZip 3.10.1 MIT / 双许可证 批处理输出打包

上述依赖作为本地副本存放在本仓库 vendor/ 目录中,均采用 MIT 许可。

opentype.js 用于字体文件的解析与二进制构建;JSZip 用于在批处理上传或多个字幕文件队列子集化完成后,将处理结果打包生成 .zip 文件供用户下载。

仓库结构

ass-subset/
├── app/                           # 工具主体
│   ├── index.html                 # 工具主文件
│   ├── worker.js                  # Web Worker(主要处理逻辑)
│   ├── sw.js                      # Service Worker(缓存策略)
│   ├── manifests/                 # PWA 配置(10 种语言)
│   ├── sitemap.xml                # 搜索引擎站点地图
│   ├── vendor/                    # 第三方依赖
│   │   ├── opentype.min.js        # opentype.js 本地副本
│   │   └── jszip.min.js           # JSZip 本地副本
│   └── icons/                     # 应用图标
├── LICENSE
├── README.md                      # 中文说明(本文件)
└── README.en.md                   # 英文说明

本地化

本工具目前提供中文和英文完整支持,部分支持日语、韩语和西班牙语。如果需要其他语言版本或想参与本地化,欢迎在 IssuesDiscussions 中告诉我们。我们正积极规划添加更多语言,欢迎社区参与!

参与贡献

欢迎任何形式的贡献,包括但不限于:

  • Issues 中提交 Bug 报告或功能请求
  • Discussions 中分享使用经验或技术讨论
  • 提交 Pull Request 改进代码或文档

许可证

本项目源代码遵循 MIT License 授权。


蒙太奇字幕组 (MontageSubs)
"用爱发电 ❤️ Powered by Love"