Skip to content

Repository files navigation

SubtitleFinder / 字幕检索台

面向 Windows 和 Android 的本地字幕检索与管理工具。可按片名、季集号或本地视频文件查找字幕,预览后保存到自己选择的位置。

当前版本:1.1.6。本项目采用 PolyForm Noncommercial License 1.0.0 授权,源码公开可获取,仅限非商业使用。

下载

只从 GitHub Releases 获取正式发布包。

  • Windows 安装包:SubtitleFinder.Setup.1.1.6.exe,适合长期使用。
  • Windows 便携包:SubtitleFinder.1.1.6.exe,放到可写目录后直接运行。
  • Android 安装包:SubtitleFinder.Android.1.1.6.apk,适用于 Android 5.1 及以上的常见 ARM 手机。

Windows 程序暂未使用代码签名证书,首次运行可能显示未知发布者。请确认下载来源是本仓库 Releases 页面。

Windows 桌面版会把日志、窗口状态和缓存放在程序目录旁的 SubtitleFinderData。安装目录不可写时才回退系统应用数据目录;想避免写入 C 盘,建议安装或解压到 E 盘等可写目录。

主要功能

搜索与预览

  • 按中文名、英文名、原名、季集号或本地视频文件名搜索电影和剧集字幕。
  • 搜索“全部”时会启动原有公开来源、ASSRT 和 SubHD;本地视频还会追加射手网、迅雷指纹检索。
  • 自动识别常见发布参数、年份、季集号和影视别名;专项编号会同时搜索横线、空格和连写形式。
  • 支持中文、繁体中文、英文和日文筛选。结果按片名、季集、语言、版本和来源整理,同系列结果尽量归在一起。
  • 点选结果即可预览字幕内容,并显示来源状态、结果数、耗时、无结果、超时或失败原因。

下载与字幕处理

  • Windows 和 Android 都可先选择保存目录,再下载单个或多个字幕。
  • 支持 SRT、ASS、SSA、VTT 和 MicroDVD SUB;预览、下载和批量匹配都会排除网页、空文件和无时间轴内容。
  • ZIP、RAR、7z 下载会自动从压缩包中挑选更符合季集、语言和版本的字幕文件。
  • 兼容 UTF-8、GBK/GB18030、Big5、UTF-16、日文编码和常见双重乱码;保存时统一输出 UTF-8。
  • 中文字幕可转换成简体或繁体副本,不覆盖原文件;支持自定义词库。

视频文件与批量匹配

  • 可选择单个视频;Windows 还支持把视频拖入窗口。程序会提取文件名、季集、年份和可用的视频指纹。
  • 可扫描视频文件夹,识别电影、剧集、已有字幕和内封字幕,只显示缺字幕的视频,也可重新搜索已有字幕的视频。
  • 支持 movie.nfotvshow.nfo 和单集 NFO,使用其中的中英文标题、年份和集号补全搜索词。
  • 批量匹配可暂停、继续、重试,并在重启后恢复为可继续状态。可选通用、Emby、Jellyfin、Plex 或视频同名的保存格式。
  • 扫描排除规则只影响文件夹扫描,不会影响手动选择或拖入的单个视频。

平台能力

  • Windows:文件和文件夹选择、拖入视频、资源管理器右键“查找字幕”、视频内封字幕检测、批量下载和自动校时。
  • Windows 自动校时会把当前字幕与本地视频对齐,另存 .synced.srt;支持进度、取消、低质量拒绝和同名避让,不需要另装 Python 或 FFmpeg。
  • Android:系统文件选择、保存目录授权、单视频搜索、文件夹扫描、批量下载、内封字幕检测、扫描排除规则和自定义词库。
  • Android 不提供自动校时,避免旧设备处理完整视频音轨时占用过高内存和 CPU。

搜索建议

建议尽量精准搜索:

  • 搜电影时,优先输入英文片名或中文片名。
  • 搜剧集时,建议带上季集号,例如 S01E011x01
  • 搜视频文件时,可以直接使用文件名,程序会清理常见分辨率、编码和发布组参数,并保留年份、季号和集号。
  • 如果结果太多,可以切换语言,或改用更完整的片名和季集号。

字幕源规则

手动搜索选择“全部”时,程序固定启动原有 9 个来源、ASSRT 和 SubHD:

迅雷字幕ASSRTSubHDSubtitleCatYIFY SubtitlesSubf2mMovieSubtitlesTVSubtitlesAddic7edAVSubtitles爱译网

新增来源只会追加,不会替换原有来源:

  • 从本地视频发起搜索时,程序计算视频指纹,并在原有 9 个来源之外追加“射手网指纹”和“迅雷指纹”。视频文件本身不会上传。

  • ASSRT 不填 Token 也能搜索。程序使用公开网页;填写 Token 后优先使用官方 API,API 失败或无结果时自动切回公开网页。

  • ASSRT Token 只保存在当前运行内存中,不写入配置或浏览器存储。

  • SubHD 使用程序内置站点地址,用户不需要单独配置。

  • 缺少本地视频时,射手网指纹和迅雷指纹显示“未启用”,不算搜索失败。

  • 程序始终先搜索用户输入的原词,再扩展影视别名;别名、季集号和文件名清理不会覆盖原词。

  • 识别到字母加数字的编号时,程序会同时尝试横线、空格和连写形式。常规影视源和专项编号源都会参与检索。

  • 不同来源支持的语言、题材和命名方式不同,部分来源可能很快返回 0 条。

  • 某些来源站点较慢、限流或暂时不可访问时,会显示超时或失败,但不会中断其他来源。

  • 程序会按语言、双语标记、季集号、发布版本、格式、来源、下载量和异常文件名整理结果,再合并同系列结果。

  • 相同搜索条件会复用本地缓存。完整结果保存 30 分钟;部分来源失败或没有结果时保存 5 分钟。缓存最多保留 100 组。

  • 搜索词、来源、语言、数量、视频指纹、文件名和 NFO 别名都会参与缓存匹配。条件变化后会重新搜索。

  • 带 ASSRT Token 的 API 结果只缓存到当前运行内存,关闭程序后失效,不写入磁盘。

界面里的“来源状态”会显示每个来源的完成、无结果、超时、失败或未启用状态。

视频文件夹匹配

  • 选择视频文件夹后,程序会递归扫描最多 500 个常见视频文件。
  • 设置中的扫描排除规则支持 **/Extras/***.sample.* 一类路径模式。规则只作用于文件夹扫描,手动选择或拖入单个视频不会被排除。
  • 支持从文件名识别电影年份、S01E021x02 和中文季集号。文件名只有集号时,也会尝试从 Season 1 一类父目录补全作品名和季号。
  • 扫描时会读取不超过 1 MiB 的视频同名 .nfomovie.nfotvshow.nfo。优先级是视频同名 NFO、当前目录 movie.nfo、可继承到季目录的 tvshow.nfo
  • NFO 支持电影、剧集和单集节点,可提取标题、原名、年份、季集号、IMDb 和 TMDB 编号。中英文标题会追加为搜索词,但不会覆盖用户手动输入或原有固定别名。
  • 程序会检查视频同目录下的 .srt.ass.ssa.vtt.sub 文件。同名电影或同一季同一集才会标记为“已有”。
  • Windows 使用 MediaInfo 检测内封字幕;Android 使用系统 MediaExtractor。只有匹配当前目标语言的内封字幕才会跳过。
  • 默认只显示缺字幕的视频。关闭“仅缺字幕”后,已有字幕的视频也能重新搜索和更新。
  • 批量匹配支持 1 至 3 个并发任务,可以暂停、继续,并重试“失败”和“无结果”任务。
  • 扫描列表、任务状态、失败原因、重试次数、命名方式、并发数和语言会保存在本机。程序意外退出后,运行中的批次会恢复为暂停,正在搜索的项目会回到待处理,不会自动继续联网或下载。
  • Windows 批量字幕保存到视频所在目录;Android 保存到扫描时授权的视频目录。
  • 命名可以选通用、Emby、Jellyfin、Plex 或视频同名。通用模式按 视频主文件名.语言.扩展名 保存,例如 Show.S01E02.zh.srt
  • Windows 版可在“设置”中打开右键菜单。右键视频会载入该视频并填入搜索词;右键文件夹会进入现有文件夹扫描和批量匹配流程。该设置只写入当前 Windows 用户,不需要管理员权限,也不要求必须使用 Setup 安装包。
  • ���携 EXE 启用右键菜单后必须保存在固定位置。移动、改名或删除 EXE 后,先从新位置打开程序,让新版自动更新右键命令。

平台功能

  • Windows 支持系统选择和拖入单个视频、文件夹扫描、扫描排除规则、自定义简繁词库、资源管理器右键入口和自动校时。
  • Android 支持系统选择单个视频、文件夹扫描、扫描排除规则和自定义简繁词库。
  • Android 暂不提供自动校时。旧设备在本机处理完整视频音轨时容易出现较高内存和 CPU 占用,因此该功能只放在 Windows。
  • 扫描排除规则和自定义词库只保存在本机,不会发送给字幕站。自定义词库每行使用 简体=繁体,转换时双向应用。

结果与下载

  • 点击结果可以预览字幕内容。
  • Windows 版先选择保存目录,再点击下载,文件会直接保存到该目录。
  • Android 版先在系统弹窗里选择保存文件夹,再点击下载,文件会直接保存到该文件夹。
  • Android 版扫描视频文件时,也需要先在系统弹窗里选择视频文件夹。
  • Android 版只能访问你主动选择的保存目录或视频目录。
  • 勾选多个结果后,可以批量下载。
  • 下载结果如果是 ZIP、RAR 或 7z,程序会按语言、季集号和发布版本选择包内最高分字幕。最多读取 1000 个条目,单个字幕限制为 20 MB。
  • 预览、下载和视频批量匹配都会校验实际字幕。支持 SRT、ASS、SSA、VTT 和 MicroDVD SUB;网页、空文件、二进制内容和无有效时间轴会被拒绝。语言不符会在手动预览和下载时提示,由用户决定是否保留;批量匹配仍会跳过明显错语言候选。
  • 解码会识别 UTF-8、GBK/GB18030、Big5、UTF-16、日文编码和常见双重乱码。下载保存时统一输出 UTF-8,兼容手机播放器。
  • 视频批量匹配会按匹配度依次校验最多 8 个候选。第一条无效时会自动尝试下一条。
  • 中文搜索可在预览区选择“原文”“简体”或“繁体”。转换使用 OpenCC,下载时生成 .chs.cht 副本,不改原字幕;英文和日文搜索会禁用转换。
  • 搜索结果会按相关性、剧集信息和来源进行整理,但公开字幕站点返回的数据质量不一致,仍可能出现同一系列分散或命名不统一的情况。

Windows 自动校时

  • 自动校时使用当前预览字幕、当前选中的本地视频和预先选择的保存目录。
  • 校时结果另存为 .synced.srt,不会覆盖原字幕。同名文件已存在时会自动追加序号。
  • 程序同时检查退出码、输出字幕结构和低质量日志。匹配质量不足时即使底层工具返回成功,也不会保存结果。
  • 校时过程可以取消。取消会终止 ffsubsync 和它启动的 FFmpeg 子进程,并删除临时文件。
  • Windows 安装包和便携包内置固定版本的 ffsubsync 与 LGPL shared FFmpeg。普通用户不需要再安装 Python 或 FFmpeg,也不会在首次点击时联网下载组件。
  • 内置校时组件会增加 Windows 下载包体积。Android 构建不包含这些组件。

隐私说明

  • 搜索字段会发送给本次启用的字幕来源,用于取得搜索结果。
  • 选择本地视频后,程序只读取文件名、同目录字幕名、媒体轨信息和计算指纹所需的少量文件片段。视频内容不会上传。
  • Windows 自动校时会在本机读取所选视频音轨或内封字幕轨。临时字幕放在用户选择的保存磁盘,任务结束、失败或取消后删除;视频和字幕内容不会发送到校时服务。
  • 视频指纹会发送给射手网和迅雷指纹接口;ASSRT Token 只发送给 ASSRT 官方 API,不会发送给公开网页。
  • Android 代理网络若把 ASSRT 文件域名解析成 Fake-IP,程序会向阿里公共 DNS 或 Cloudflare DNS 查询该文件域名的真实地址。不会发送搜索词、Token、视频信息或字幕内容。
  • 最近搜索、界面设置、日志、搜索缓存和批量任务状态保存在本机。任务状态会包含你选择的视频路径和 NFO 摘要。Android 只访问你通过系统选择器授权的目录。
  • 项目不包含统计、广告或账号登录功能。

常见情况

Windows 双击没反应

常见原因是系统安全策略、杀毒软件拦截、运行目录无写入权限,或内置服务启动失败。桌面版会在程序目录旁边生成 SubtitleFinderData/logs/app.log。如果没有弹出窗口,先看这个日志文件。

如果使用安装包,建议安装到普通可写目录,例如 E:\SubtitleFinder。如果下载的是便携包,请先放到可写目录再运行。

Android 安装后打不开

Android 版内置本机字幕服务,启动时需要几秒。首次安装如果系统拦截未知来源安装,需要在系统设置里允许本次安装。

某个来源一直搜索中

通常是该网站响应慢、临时不可访问、限制访问,或网络连接不稳定。程序会给���个来源设置超时,其他来源不会因此中断。

如果是 Addic7ed 这类海外站点,在部分网络环境下可能会直接连接超时。这种情况属于站点连通问题,不是本地界面卡死。

有些结果乱码

字幕文件常见编码并不统一。程序会尝试自动识别编码,但少数字幕仍可能因为原文件编码混乱而显示异常。

为什么搜索结果不全

字幕来源本身并不是完整数据库,不同网站收录范围、命名方式、语言分类都不同。建议同时尝试英文名、中文名、原始视频文件名和带季集号的关键词。

授权限制

本项目采用 PolyForm Noncommercial License 1.0.0,详见 LICENSE

  • 允许使用、复制、修��和分发。
  • 仅限非商业用途。
  • 必须保留版权声明和许可证声明。

第三方组件保留各自许可证,清单见 vendor/THIRD_PARTY_LICENSES.md。发布包内也包含完整许可正文。

Windows 自动校时使用独立分发的 ffsubsync.exe 和 LGPL shared FFmpeg。它们不改变 SubtitleFinder 的非商业授权:

  • ffsubsync 0.5.1 保留 MIT License。
  • FFmpeg 可执行文件和共享 DLL 保留 GNU LGPL v3 或更高版本。源码提交、构建标签、许可证和替换说明均列在第三方清单中。
  • 用户可以替换 sync-tools/ffmpeg-bin 下接口兼容的 LGPL 构建。SubtitleFinder 的许可不限制对这些 LGPL 组件的修改或调试。

代码签名

当前发布的 Windows 程序没有代码签名证书,因此系统可能显示未知发布者或安全提示。这不代表程序一定有风险,但用户应确认下载来源是本仓库的 Releases 页面。

Android 正式包使用本地发布签名。调试包不建议给普通用户安装。

免责声明

本工具只聚合公开可访问的字幕检索结果。字幕文件版权归原作者或相关权利方所有,请在法律允许的范围内使用。

About

Local-first subtitle finder for Windows and Android. Search, preview, download and batch-match subtitles. Non-commercial use only.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages