SubRenamer
🎞 字幕文件一键批量重命名工具
A Subtitle File Batch Renaming Tool with One-Click Automation and Intelligence.
原因? 如果视频和字幕文件名一致,任何视频播放器都可以自动载入字幕。
目的? 重命名外挂字幕文件名,使之与视频文件名对应。
对比普通批量改名软件,有什么区别?
SubRenamer 专注于字幕文件改名,简单易用。
对于大多数视频与字幕文件,您仅需将其拖入程序,即可被自动精准地识别,一键改名,省去了普通改名软件较为繁杂的设置操作。
如何拥有 SubRenamer?
点击以下链接下载最新版本:
可在 Release 页面找到历史版本和更新日志。
如果下载速度慢,可以尝试网盘下载:蓝奏云 (密码: 233)
使用教程
【B站】「追番神器」真 · 番剧字幕一键重命名 自动化字幕文件批量改名工具程序
【小众软件】SubRenamer – 字幕批量重命名,自动匹配视频文件与字幕文件[Windows]
特性
- 自动匹配:自动识别算法,一键匹配
- 拖拽导入:拖拽快速导入文件及文件夹
- 多语言筛选:自动检测并筛选指定语言的字幕
- 多种匹配规则:对于复杂的文件名格式,支持手动匹配
- 手动匹配编辑器:自定义规则,支持简单通配符
- 正则表达式编辑器:包含正则表达式匹配测试工具
- 匹配微调:支持对匹配结果进行微调
- 改名命令:右键快速复制 Linux 改名命令到剪贴板
- 字幕备份:改名前自动备份字幕文件
- 后缀名:通过后缀名自动区分视频和字幕,支持自定义
- 快捷键:支持快捷键操作,提高效率
- 夜间模式:支持夜间模式,跟随系统切换
- 跨平台:支持 Windows、macOS、Linux
- 体积小:仅 15MB 左右
[!IMPORTANT]
重制说明:SubRenamer 第一版于 2019 年发布,当时使用 WinForm 进行开发,仅支持 Windows 平台。2024 年 SubRenamer 完成重制发布 v2.0 版本,采用全新技术栈 AvaloniaUI + .NET 8 开发,支持跨平台,能够在 Windows、macOS、Linux 上原生运行(不是 Electron.js)。
匹配编辑 | 匹配规则自定义 |
---|---|
手动匹配规则编辑器 | 正则表达式规则编辑器 |
---|---|
夜间模式 | 字幕语言筛选 |
---|---|
右键菜单 | 快捷键支持 | 字幕备份 |
---|---|---|
拖拽导入文件
算法原理
自动匹配模式
自动匹配模式通过比对文件名之间的差异部分 (diff) 来确定集数 (extract),并根据集数自动关联视频文件和字幕文件 (mapping),以实现自动匹配。
为实施自动匹配,需导入至少两个文件名格式一致的视频文件和两个字幕文件。
相关代码可见:SubRenamer/Matcher
手动匹配模式
自动匹配模式可能在复杂的文件名格式下失效,此时可切换至手动匹配模式,手动模式允许你自定义规则(支持简单通配符和正则表达式)。程序提供一个简单的编辑器,以便你可以快速地编写匹配规则。
用户故事
请听 ABCDE 的故事:
(缩减版) 小A下载了一部新更的生肉番,又从字幕网站下载到了一套字幕文件,生肉番的 视频文件名 常常和 字幕文件名 不一致,看番时需要手动选定字幕,下次打开又得重新选定。小A拥有了 SubRenamer,从此改名交给他来做,终于可以安安心心看番啦。
(探究版) 小B今天下载了一部番剧,小B因不会他国语言从而需要找寻一套字幕。小B下载到了字幕,但因 字幕文件名 与 视频文件名 不相对应,播放器无法自动载入字幕文件,小B因每次都要手动选择字幕文件而烦恼万分。最终,小B实在受不鸟了,毅然决然决定修改文件名...... 所以问题来了,小B如何才能快速地修改字幕文件名,而不是一个一个慢慢地手动修改呢???
(激情版) 小C热爱学习,小C下载了一套100000000集的学习视频,提升自我人生价值的大好机会到了,准备今天晚上就开淦(darkbubi),可到了晚上,小C打开下载好的视频时却突然想起,自己什么也(bing)听(bu)不(xiang)懂(xue)(此刻的小C对于学习的热情瞬间熄灭)。可是突然!小C发现了 SubRenamer,下载一套字幕后,修改按钮一敲,100000000集的学习视频字幕文件顺利加载,小C对于学习的热情死(bu)灰(ke)复(neng)燃(di)
(慵懒版) 小D拥有了 SubRenamer 后,字幕文件改名的操作全交给 SubRenamer,省去了大量时间可以留给睡觉。
(蜜汁版) 小E . .o. 0。.O . 。o.
(稽智版) 小F选择重新下载内挂字幕的番剧 lol
FAQ
macOS 无法打开,提示已损坏
网上可以找到很多解决的方法,这里提供一个方法,在终端中输入以下命令:
sudo xattr -d com.apple.quarantine /Applications/SubRenamer.app
原因是没有经过苹果开发者签名,macOS 会提示已损坏,而注册开发者账号需要 99 美元/年。
在 Linux Wayland 桌面环境没有缩放?
这是一个上游问题,AvaloniaUI 在 Wayland 桌面环境下缩放比例可能不准确,导致文字很小,可以在启动时设置环境变量手动设置缩放比例。
AVALONIA_SCREEN_SCALE_FACTORS="eDP-1=2;" ./SubRenamer
- https://github.com/AvaloniaUI/Avalonia/issues/9390
- https://github.com/AvaloniaUI/Avalonia/wiki/Configuring-X11-per-monitor-DPI
有 BUG?
可在 issues 页 反馈。
Stargazers over time
编译说明
建议使用 Rider 或 Visual Studio 2022 打开项目。
Prerequisites
Windows
Visual Studio 2022, including .NET 8 & Desktop development with C++ workload.
Ubuntu (20.04+)
sudo apt-get install dotnet-sdk-8.0 libicu-dev cmake zlib1g-dev -y
Publish with NativeAOT
dotnet publish -r <RID> -c Release
# Build for Windows example
dotnet publish -r win-x64 -c Release
Builder the installer with NSIS
NSIS installer ~13MB size
pwsh ./publish.ps1
if you builder the installer with nsis, you can ignore upx compression, so you can get better startup performance.
技术实现
- AOT 编译,单文件发布
- 多平台打包及分发
- 跨平台适配处理
- IoC 容器,依赖注入,MVVM,LINQ
- JSON 源生成器
- 多线程,纤程
- 全局异常捕获
- 错误日志反馈
- JSON 配置管理
- 版本管理,升级检查
- 用量统计
- GitHub API
- GitHub Actions CI/CD
- 单元测试
- 多语言,国际化
- HiDPI 支持
开源协议
本项目采用 GPL-2.0 协议开源,详见 LICENSE