一款免改名的半自动媒体刮削器
自动生成 strm 链接文件,做种刮削互不影响
注意:本软件仍然处于非常前期的测试阶段,建议先使用硬链接副本进行测试
- 没有严格的文件名/文件夹名的限制
- 允许电影和剧集混合,统一生成剧集格式的元数据(仅
nfo
模式) - 使用可自定义的正则表达式进行标题提取
- 可自定义需要忽略的路径,并生成
.ignore
文件(仅nfo
模式)
此为 nfo 模式的使用方法,建议使用 strm 模式
- 建议将媒体库按照如下格式排列(便于其他软件识别)
大体上就是套两层文件夹(剧集-季度-视频文件),以下
.nfo
和.ignore
由软件生成
媒体库
├─某个系列
│ │ tvshow.nfo
│ ├─[某个制作组] Mou Ge Fan Ju [Ma10p_1080p]
│ │ │ season.nfo
│ │ │ [某个制作组] Mou Ge Fan Ju [01][Ma10p_1080p][x265_flac_aac].mkv
│ │ │ [某个制作组] Mou Ge Fan Ju [01][Ma10p_1080p][x265_flac_aac].nfo
│ │ │ [某个制作组] Mou Ge Fan Ju [01][Ma10p_1080p][x265_flac_aac].sc.ass
│ │ │ [某个制作组] Mou Ge Fan Ju [02][Ma10p_1080p][x265_flac].mkv
│ │ │ [某个制作组] Mou Ge Fan Ju [02][Ma10p_1080p][x265_flac].nfo
│ │ │ [某个制作组] Mou Ge Fan Ju [02][Ma10p_1080p][x265_flac].sc.ass
│ │ ├─CDs
│ │ │ │ .ignore
│ │ │ └─[771332] 某个CD [24bit_48kHz] (flac)
│ │ │ 01. 某首歌.flac
│ │ └─SPs
│ │ .ignore
│ │ [某个制作组] Mou Ge Fan Ju [CM01][Ma10p_1080p][x265_flac].mkv
│ │ [某个制作组] Mou Ge Fan Ju [CM02][Ma10p_1080p][x265_flac].mkv
│ ├─[某个制作组][Mou Ge Fan Ju Movie][Ma10p_2160p][v2]
│ │ │ season.nfo
│ │ │ [某个制作组][Mou Ge Fan Ju Movie][Ma10p_1080p][x265_flac].chs.ass
│ │ │ [某个制作组][Mou Ge Fan Ju Movie][Ma10p_1080p][x265_flac].mkv
│ │ └─某个无关文件夹
│ │ .ignore
│ │ 某些无关文件.png
│ └─Mou Ge Fan Ju S2
│ season.nfo
│ Mou Ge Fan Ju S2.mkv
│ Mou Ge Fan Ju S2.nfo
│ Mou Ge Fan Ju S2.sc.ass
└─某部电影
A Movie-[1080p][BDRIP][x265.FLAC].chs_jpn.ass
A Movie-[1080p][BDRIP][x265.FLAC].mkv
A Movie-[1080p][BDRIP][x265.FLAC].nfo
season.nfo
- 打开软件目录下的
config.json
(没有的在仓库下),填好tmdb_api_key
,有需要的可以自定义其他内容 - 打开软件,把媒体文件夹拖入窗口,注意不要有重复文件夹
- 选择“下一步”,检测搜索到的文件夹是否正确。在这步可以为需要忽略的文件夹创建
.ignore
文件,全选(Ctrl + A
)列表“被忽略的路径”,选择“创建.ignore
文件” - 选择“下一步”,本窗口用于创建剧集元数据。全选,再选择“搜索所选项”。软件会按照“搜索名称”向服务器搜索,如果有错误,可以双击“搜索名称”进行更改,再选择“搜索所选项”再次搜索;也可以双击错误的条目,或者选中错误的条目,选择“手动搜索所选项”,手动指定搜索结果;除此之外,还可以手动输入 ID 和类别,再选择“更新所选项”,手动指定条目
- 全选,选择写入所选项,这一步会创建
tvshow.nfo
- 选择“下一步”,本窗口用于创建季度元数据,季度的 ID 将会从父文件夹处继承。继承的 ID 需要手动更新季度数据,即全选并选择“更新所选项”。手动为每一个剧集指定季度。如果 ID 有误,可以用和上一步一样的方法修正
- 全选,选择写入所选项,这一步会创建
season.nfo
- 选择“下一步”,本窗口用于创建单集元数据。软件会先自动获取每一季度的单集信息,尝试与本地的视频进行一一对应,如果数量一致,状态会被标记为“√”,否则就是“×”。此时需要我们手动调整,双击待处理的项目,将本地视频从列表中移除、添加或者把获取到的数据移除、添加,让两边的数量和顺序对应。本地视频数量与元数据数量不匹配的话将无法写入此季度
- 全选,选择写入所选项,这一步会创建
<文件名>.nfo
- 选择“下一步”,本窗口用于为季度文件夹中无关的子文件夹创建
.ignore
文件。全选列表,选择“创建.ignore
文件”即可完成操作 - 选择“完成”结束刮削
strm 文件是一个文本文件,里面写着媒体文件的路径 (官方文档)。媒体服务器可以通过这个文件链接到资源,而根据 strm 文件名和目录结构进行刮削,不会影响到仓库
效果:
目标文件夹
├─剧集
│ ├─86-不存在的战区- (2021) [tmdbid-100565]
│ │ └─Season 01
│ │ 86-不存在的战区- S01E01.strm
│ │ 86-不存在的战区- S01E01.chs.srt
│ │ ………
│ │ 86-不存在的战区- S01E23.strm
│ │ 86-不存在的战区- S01E23.cht.ass
│ │
│ ├─中二病也要谈恋爱! (2012) [tmdbid-45501]
│ │ ├─Season 00
│ │ │ 中二病也要谈恋爱! S00E35.strm
│ │ │ 中二病也要谈恋爱! S00E35.sup
│ │ │
│ │ ├─Season 01
│ │ │ 中二病也要谈恋爱! S01E01.strm
│ │ │ ………
│ │ │ 中二病也要谈恋爱! S01E12.strm
│ │ │
│ │ └─Season 02
│ │ 中二病也要谈恋爱! S02E01.strm
│ │ ………
│ │ 中二病也要谈恋爱! S02E12.strm
│ │
│ └─冰菓 (2012) [tmdbid-65329]
│ ├─Season 00
│ │ 冰菓 S00E01.strm
│ │ 冰菓 S00E01.chs.ass
│ │
│ └─Season 01
│ 冰菓 S01E01.strm
│ ………
│ 冰菓 S01E22.strm
│
└─电影
├─中二病也要谈恋爱!剧场版 -Take On Me- (2018) [tmdbid-460399]
│ 中二病也要谈恋爱!剧场版 -Take On Me-.strm
│
├─中二病也要谈恋爱!剧场版 小鸟游六花?改 (2013) [tmdbid-214553]
│ 中二病也要谈恋爱!剧场版 小鸟游六花・改.strm
│
└─你的名字。 (2016) [tmdbid-372058]
你的名字。.strm
请先阅读 nfo 文件模式的使用方法
具体操作方式和 nfo 文件模式区别不大。写入文件会被替换成生成文件夹或者创建 strm 文件。方便一点的是在 strm 文件模式下,不会因为上一步没有创建文件夹而无法继续进行,只要最后一步的视频文件对应上而且选择写入了,没有创建的文件夹会自动创建
strm 模式可以开启增量更新,已经有 strm 文件的媒体会被忽略
注意:如果同个视频文件存在多个版本,只会保留最早创建的 strm 文件
创建完 strm 文件之后可以用 link_files.exe
扫描媒体库,然后软件会把前缀匹配的特定拓展名(.ass
、.srt
、.sup
、.mks
和 .mka
)的文件硬链接或(若硬链接不可用)软链接创建对应的文件
link_files.exe
可用于清理源文件失效的链接文件,硬链接/符号链接字幕和音轨文件,清理空的文件夹,清理旧的字幕/音轨文件(本意是清理硬链接/符号链接,但不会检测,请注意备份)
{
// 视频后缀名列表,用于识别视频文件,区分大小写
"media_extension": [
".mkv",
".mp4",
".m2ts"
],
// 用来提取“搜索名称”的正则表达式,数字代表提取第n个子匹配(从1开始)
"title_regex_expression": [
["^([\\[\\(].*?[\\]\\)]\\[* *)*([^#\\[\\]\\.\\(\\)]*)+.*$", 2]
],
// 忽略的路径的正则表达式
"ignore_directory_expression": [
"BDMV"
],
// 忽略的文件的正则表达式
"ignore_file_expression": [
"NCOP", "NCED"
],
// tmdb api 密钥,必填,否则无法使用
// 申请链接 https://developer.themoviedb.org/docs/getting-started
"tmdb_api_key": "",
// 有需要的可以开启代理
"using_proxy": true,
"proxy_address": "http://127.0.0.1:7890",
// 有两种模式:strm 和 nfo
"save_type": "strm",
// 如果是 strm 模式需要填写目标路径
"save_path": "R:/媒体库",
// 如果是 strm 模式可以开启增量更新,已经有 strm 文件的媒体会被忽略
"incremental_update": true
}
软件将会用深度优先搜索(一个文件夹翻到底再返回)搜索媒体库,如果当前文件夹有匹配后缀名的文件,就把该文件夹记录为季度文件夹,其父文件夹记录为剧集文件夹 注意:直接裸露在媒体库文件夹下的视频文件不会被识别
选择“混合电影和电视剧”,然后把所有刮削器包括图片刮削器都关掉
导入媒体库并且扫描结束之后再选择“刷新媒体库”
刷新模式选覆盖所有元数据、替换现有图片