帮助Plex匹配动画元数据而进行批量重命名

帮助Plex匹配动画元数据而进行批量重命名

之前购入了NAS,想起了以前想做的全自动追番,但现在已经有了类似的项目,AutoBangumi。它用来追番确实还行,但对于隔了时间比较久的番剧就不好用了,需要自己去找资源下载,但一般字幕组的命名很难被Plex等影音管理软件匹配到元数据,需要手动给它命名一波。

基于我的需求,我也想过去Github上看看有没有符合的项目。

但是检索到的,都是我觉得“不易维护”的项目。

所以我就自己操刀,重新写了一个,代码量也就一百多行。

使用演示

首先下载动画时先设定下载目录对应是哪个动画,然后大致的结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
E:\TEMP\伪恋
├─[VCB-Studio] NISEKOI S2 [Ma10p_1080p]
│ [VCB-Studio] NISEKOI S2 [01][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI S2 [02][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI S2 [03][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI S2 [04][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI S2 [05][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI S2 [06][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI S2 [07][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI S2 [08][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI S2 [09][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI S2 [10][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI S2 [11][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI S2 [12][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI S2 [OAD][Ma10p_1080p][x265_flac].mkv

└─[VCB-Studio] NISEKOI [Ma10p_1080p]
[VCB-Studio] NISEKOI [01][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [02][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [03][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [04][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [05][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [06][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [07][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [08][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [09][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [10][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [11][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [12][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [13][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [14][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [15][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [16][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [17][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [18][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [19][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [20][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI [OAD01][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [OAD02][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI [OAD03][Ma10p_1080p][x265_flac].mkv

我们先要确定动画是有几季的,去TMDB查找,如下图。

image-20240813214837054

第一季对应的英文是season1,第二季对应的是season2,以此类推,特别篇则是season0,特别篇一般指的是OVA。

然后按照对应的季度去更改文件夹的名称,可以使用简写代替,例如S0、S1等。这部分需要手动标识,不然程序都会默认是S0。

更改后的文件夹结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
E:\TEMP\伪恋
├─S0
│ [VCB-Studio] NISEKOI [OAD01][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [OAD02][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [OAD03][Ma10p_1080p][x265_flac].mkv

├─S1
│ [VCB-Studio] NISEKOI [01][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI [02][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI [03][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI [04][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [05][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [06][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI [07][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [08][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [09][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI [10][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [11][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [12][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [13][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [14][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI [15][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [16][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [17][Ma10p_1080p][x265_flac_aac].mkv
│ [VCB-Studio] NISEKOI [18][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [19][Ma10p_1080p][x265_flac].mkv
│ [VCB-Studio] NISEKOI [20][Ma10p_1080p][x265_flac_aac].mkv

└─S2
[VCB-Studio] NISEKOI S2 [01][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI S2 [02][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI S2 [03][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI S2 [04][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI S2 [05][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI S2 [06][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI S2 [07][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI S2 [08][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI S2 [09][Ma10p_1080p][x265_flac].mkv
[VCB-Studio] NISEKOI S2 [10][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI S2 [11][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI S2 [12][Ma10p_1080p][x265_flac_aac].mkv
[VCB-Studio] NISEKOI S2 [OAD][Ma10p_1080p][x265_flac].mkv

然后再去对应的文件夹下运行命令gugu_rename ./(为什么我没有实现递归处理子文件夹下的文件呢?忘记了>_<)

1
2
3
4
5
6
7
8
9
10
PS E:\Temp> cd .\伪恋\
PS E:\Temp\伪恋> cd S0
PS E:\Temp\伪恋\S0> gugu_rename ./
PS E:\Temp\伪恋\S0> tree /F ./
Data 的文件夹 PATH 列表
卷序列号为 xxxx-xxxx
E:\TEMP\伪恋\S0
S00E01.mkv
S00E02.mkv
S00E03.mkv

依次使用命令更改后的文件结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
PS E:\Temp> tree /F .\伪恋\
Data 的文件夹 PATH 列表
卷序列号为 xxxx-xxxx
E:\TEMP\伪恋
├─S0
│ S00E01.mkv
│ S00E02.mkv
│ S00E03.mkv

├─S1
│ S01E01.mkv
│ S01E02.mkv
│ S01E03.mkv
│ S01E04.mkv
│ S01E05.mkv
│ S01E06.mkv
│ S01E07.mkv
│ S01E08.mkv
│ S01E09.mkv
│ S01E10.mkv
│ S01E11.mkv
│ S01E12.mkv
│ S01E13.mkv
│ S01E14.mkv
│ S01E15.mkv
│ S01E16.mkv
│ S01E17.mkv
│ S01E18.mkv
│ S01E19.mkv
│ S01E20.mkv

└─S2
S02E01.mkv
S02E02.mkv
S02E03.mkv
S02E04.mkv
S02E05.mkv
S02E06.mkv
S02E07.mkv
S02E08.mkv
S02E09.mkv
S02E10.mkv
S02E11.mkv
S02E12.mkv
S02E13.mkv

再来看看Plex扫描的效果:

image-20240813221636964

更多使用参数可以输入gugu_rename -h获取:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
PS E:\Temp\伪恋\S0> gugu_rename -h
usage: gugu_rename.exe [-h] [-o OFFSET] [-p PATTERN] [-e EXCLUDE] [-f FORMAT] [-s SUFFIX] [-d DIRECTORY] [-r REVERSED]
[-l LAST_SUFFIX]
path

GuGu_Rename

positional arguments:
path 要处理的文件夹目录

options:
-h, --help show this help message and exit
-o OFFSET, --offset OFFSET
偏移量 默认0
-p PATTERN, --pattern PATTERN
使用正则表达式来捕获要处理的文件 默认".*"
-e EXCLUDE, --exclude EXCLUDE
使用正则表达式来排除已捕获的处理文件 默认None
-f FORMAT, --format FORMAT
设置重命名的格式 默认为S{d_s_num}E{item_num} 不支持运算
-s SUFFIX, --suffix SUFFIX
指示要处理文件后缀 默认False
-d DIRECTORY, --directory DIRECTORY
指示要处理文件夹 默认False
-r REVERSED, --reversed REVERSED
指示处理队列倒叙 默认False
-l LAST_SUFFIX, --last_suffix LAST_SUFFIX
指示要处理到最后一个后缀为止 默认False

{d_name}:当前文件夹名称 {d_s_num}:从当前文件夹名称中获取数字并以两位显示 {d_p_name}:当前文件夹的父文件夹名称 {item_num}:当前文件在处理队列中的顺序(两位显示)

项目地址

GuGu_Rename,是用python编写,支持同时重命名字幕文件,也可以根据正则表达式规则来捕获要更改的文件。

下载Release的windows可执行文件,修改文件名放在shell可读取的路径下,即可在命令行随处使用。


帮助Plex匹配动画元数据而进行批量重命名
https://blog.gugu.dev/2024-08-13/帮助Plex匹配元数据而进行批量重命名/
作者
MinMin
发布于
2024年8月13日
许可协议