ausaki / subfinder

字幕查找器
MIT License
829 stars 96 forks source link
finder shooter subfinder subtitle subtitle-finder subtitles

subfinder 字幕查找器

subfinder 是一个通用字幕查找器,可以查找字幕并下载。


PyPi PyPi - Python Version PyPI - License GitHub last commit


Table of Contents


特性

安装

如果你是 Linux 和 macOS 用户,由于系统自带 Python,推荐使用下面的方法安装 subfinder:

pip install subfinder

安装完成之后,会在 Python 的 scripts 目录下添加一个叫做 subfinder 的可执行文件。

在 unix-like 系统中,scripts 目录一般是 /usr/local/bin,在 Windows 系统中,scripts 目录一般是 C:\python\scripts\。在 Windows 系统中需要将 C:\python\scripts\ 加入到 PATH 中(一般安装 Python 时已经添加了)。

接下来你就可以在命令行中使用 subfinder 命令了。

为了方便没有安装 Python 的用户,这里也有已经打包好的可执行文件。戳这里下载

更新

如果 subfinder 是使用 pip 安装的,那么使用 pip 更新,

pip install subfinder --upgrade

如果 subfinder 是下载的打包好的可执行文件,那么请重新下载最新的可执行文件并覆盖旧的文件。

使用方法

命令行

常用参数说明(详细的参数信息请查看 subfinder -h):

参数 含义 必需
-l, --languages 指定字幕语言,可同时指定多个。每个字幕查找器支持的语言不相同。具体支持的语言请看下文。 否,subfinder 默认会下载字幕查找器找到的所有字幕。
-e, --exts 指定字幕文件格式,可同时指定多个。每个字幕查找器支持的文件格式不相同。具体支持的文件格式请看下文。 否,subfinder 默认会下载字幕查找器找到的所有字幕。
-m,--method 指定字幕查找器,可同时指定多个。 否,subfinder 默认使用 shooter 查找字幕。
-k, --keyword 手动搜索关键字. 当 SubFinder 使用本身的关键字无法搜索到字幕时, 可以通过这个参数手动指定关键字.
--video_exts 视频文件的后缀名(包括.,例如. mp4)
--ignore 忽略本地已有的字幕强行查找字幕. 注意: 这可能会覆盖本地已有的字幕. 默认 False。
--exclude 排除文件或目录,支持类似于 shell 的文件匹配模式。详情见下文
--api_urls 指定字幕搜索器的 API URL。详情见下文
--no-order-marker SubFinder 默认会向字幕文件名中添加数字编号, 方便对字幕进行排序. 如果指定该选项, 则 SubFinder 不添加数字编号
-c, --conf 配置文件 否,SubFinder 默认从~/.subfinder.json 读取。
-s,--silence 静默运行,不输出日志
--debug 调试模式,输出调试日志
-h,--help 显示帮助信息

支持的语言和文件格式:

字幕查找器 语言 文件格式
shooter ['zh', 'en'] ['ass', 'srt']
zimuku ['zh_chs', 'zh_cht', 'en', 'zh_en'] ['ass', 'srt']
subhd ['zh_chs', 'zh_cht', 'en', 'zh_en'] ['ass', 'srt']

语言代码:

代码 含义
zh 中文,简体或者繁体
en 英文
zh_chs 简体中文
zh_cht 繁体中文
zh_en 双语

字幕文件的数字编号

默认的排序规则是:

LANGUAGE_PRIORITY = {"zh_en": 1, "zh_chs": 2, "zh": 3, "zh_cht": 4, "en": 5}
EXT_PRIORITY = {"ass": 1, "ssa": 2, "srt": 3}

如果字幕是中英双语, 那么优先级等于 1, 如果是中文简体, 那么优先级等于 2, 依次类推.

如果字幕是 ass 格式, 那么优先级是 1, 依次类推.

最终优先级等于 语言优先级 * 10 + 格式优先级.

字幕文件名中的数字编号就等于最终优先级, 因此, 优先级越低对应的数字编号越小, 播放器在排序时其顺序越靠前.

注意: 可以使用 -l-e 选项自定义优先级, 第一个参数值优先级等于 1, 第二个参数值优先级等于 2, 以此类推.

配置文件

配置文件是 JSON 格式的,支持命令行中的所有选项。命令行中指定的选项优先级高于配置文件的。

配置文件中的 key 一一对应于命令行选项,例如 -m,--method 对应的 key 为 method

示例:

{
  "languages": ["zh", "en", "zh_chs"],
  "exts": ["ass", "srt"],
  "method": ["shooter", "zimuku"],
  "video_exts": [".mp4", ".mkv", ".iso"],
  "exclude": ["excluded_path/", "*abc.mp4"],
  "api_urls": {
    // 设置字幕库的搜索 API
    "zimuku": "http://www.zimuku.la/search",
    // 设置 SubHD 的搜索 API
    "subhd": "https://subhd.tv/search",
    // 设置 SubHD 获取字幕下载链接的 API, 注意不包含域名
    "subhd_api_subtitle_download": "/ajax/down_ajax",
    // 设置 SubHD 获取字幕预览的 API, 注意不包含域名
    "subhd_api_subtitle_preview": "/ajax/file_ajax"
  }
}

Windows 右键菜单

使用命令行下载字幕还是有一点不方便,特别是需要输入路径。

在 Windows 中,可以通过注册表将 subfinder 添加到右键菜单,使用时右键选中视频文件或者文件夹,然后点击右键菜单中的 “查找字幕”。

win_menu

如何添加注册表:

macOS 右键菜单

在 macOS 中,通过 Automator 的 Service 实现类似于 Windows 中的右键菜单功能。

subfinder_workflow_service.macos

使用方法:

注意:在 workflow 中,subfinder 的路径是 /usr/local/bin/subfinder

如果想要了解如何配置 workerflow,可以参考:

图形界面

打包好的可执行文件其实是一个 GUI app,不带任何参数运行的话,会打开一个图形界面。

subfinder_gui.win

注意

下载页面

注意事项

shooter 字幕搜索器

zimuku 字幕搜索器

贡献

在使用过程中遇到任何问题,请提交 issue。

如果你希望分享你自己的字幕搜索器,欢迎提交 PR。

参考

License

MIT License

更新历史

v2.2.1

v2.2.0

v2.1.0

v2.0.2

v2.0.0

v1.1.4

v1.1.3

v1.1.2

v1.1.1

v1.1.0

v1.0.9

issue 27

v1.0.8

v1.0.7

v1.0.6

v1.0.5

v1.0.4

v1.0.3

v1.0.2

v1.0.1