SubRenamer: 一键批量重命名字幕文件的智能工具
SubRenamer是一款专注于字幕文件重命名的智能工具,旨在解决视频与外挂字幕文件名不一致导致的播放器无法自动加载字幕的问题。它能够自动匹配视频文件与字幕文件,并一键批量重命名,大大简化了字幕文件管理的流程。
主要特性
SubRenamer具有以下突出特点:
- 自动匹配: 采用智能算法,能自动识别并匹配视频与字幕文件。
- 拖拽导入: 支持拖拽方式快速导入文件和文件夹,操作便捷。
- 多语言筛选: 自动检测并筛选指定语言的字幕,方便管理多语言字幕。
- 多种匹配规则: 除自动匹配外,还支持手动匹配模式,可应对复杂的文件命名格式。
- 匹配规则编辑器: 提供简单的规则编辑器,支持简单通配符和正则表达式。
- 匹配结果微调: 允许用户对自动匹配的结果进行微调。
- 快速改名命令: 右键菜单可快速复制Linux改名命令到剪贴板。
- 字幕文件备份: 在重命名操作前自动备份字幕文件,确保数据安全。
- 灵活的后缀名设置: 通过后缀名自动区分视频和字幕,支持自定义。
- 快捷键支持: 支持快捷键操作,提高使用效率。
- 夜间模式: 支持夜间模式,可跟随系统自动切换。
- 跨平台兼容: 支持Windows、macOS和Linux等多个主流操作系统。
- 轻量级设计: 程序体积仅约15MB,占用系统资源少。
使用方法
SubRenamer的使用非常简单直观:
- 下载并安装SubRenamer。
- 启动程序后,将需要重命名的视频文件和字幕文件拖拽到程序界面中。
- 程序会自动尝试匹配视频和字幕文件。
- 如果自动匹配结果满意,直接点击"重命名"按钮即可完成批量重命名。
- 如果需要调整,可以使用手动匹配模式或编辑匹配规则。
- 完成设置后,再次点击"重命名"按钮执行重命名操作。
技术实现
SubRenamer采用了多项现代化的技术:
- 使用AvaloniaUI + .NET 8开发,实现跨平台原生运行。
- 采用AOT编译,发布单文件可执行程序。
- 使用IoC容器、依赖注入、MVVM架构等先进开发模式。
- 应用JSON源生成器提升性能。
- 利用多线程和纤程技术优化处理效率。
- 实现全局异常捕获和错误日志反馈机制。
- 采用JSON进行配置管理。
- 集成版本管理和自动升级检查功能。
- 通过GitHub API实现在线功能。
- 使用GitHub Actions进行CI/CD。
- 包含单元测试确保代码质量。
- 支持多语言和国际化。
- 对HiDPI显示提供良好支持。
算法原理
SubRenamer的核心是其智能匹配算法:
-
自动匹配模式:
- 通过比对不同文件名之间的差异部分来确定集数信息。
- 根据提取的集数信息自动关联视频文件和字幕文件。
- 需要至少两个格式一致的视频文件和两个字幕文件才能实现自动匹配。
-
手动匹配模式:
- 用于处理复杂文件名格式导致自动匹配失效的情况。
- 允许用户自定义匹配规则,支持简单通配符和正则表达式。
- 提供简单的规则编辑器,方便用户快速编写和测试匹配规则。
常见问题解答
-
macOS提示应用已损坏怎么办? 这是因为应用没有苹果开发者签名导致的。可以在终端中输入以下命令解决:
sudo xattr -d com.apple.quarantine /Applications/SubRenamer.app
-
Linux Wayland环境下显示缩放异常? 这是AvaloniaUI在Wayland环境下的已知问题。可以通过设置环境变量手动调整缩放比例:
AVALONIA_SCREEN_SCALE_FACTORS="eDP-1=2;" ./SubRenamer
开源协议
SubRenamer采用GPL-2.0协议开源,详细信息可查看项目的LICENSE文件。
结语
SubRenamer为字幕爱好者和视频发烧友提供了一个强大而易用的工具,极大地简化了字幕文件的管理工作。无论是观看外语影视作品,还是整理大量视频资料,SubRenamer都能成为得力的助手。它的开源性质也为社区贡献和持续改进提供了可能。如果您在使用过程中遇到任何问题或有改进建议,欢迎在项目的GitHub页面提出issue或贡献代码。让我们一起努力,使SubRenamer变得更加完善,为更多用户带来便利!
SubRenamer不仅仅是一个简单的重命名工具,它代表了对效率和用户体验的不懈追求。通过持续的优化和社区的支持,相信SubRenamer会在未来为更多用户带来便利,成为字幕管理领域不可或缺的得力助手。让我们一起期待SubRenamer的更多惊喜吧! 🚀✨