Skip to content

✨自动重命名工具,将动漫剧集、电影、动漫电影、真人剧集各种混乱的文件结构/格式转为适合Emby自动刮削的格式,支持批量处理或qbittorrent下载完成之后自动硬链接!

License

Notifications You must be signed in to change notification settings

ride-donkey/Bangumi_Auto_Rename

 
 

Repository files navigation

更新内容

增加 Jellyfin 适配

可在配置页面选择服务端类型。

因为 Jellyfin 可以识别季度内 extras 文件夹,故将 extras 文件夹按季度分类。尝试增加 Jellyfin 支持的 extras 分类识别,虽然整体应该没什么效果。 此外,特别将 CD 相关文件夹链接到季度下的 others 文件夹,方便后期手动选择 theme-music 等操作。

优化识别能力

针对一些边界情况进行特判,且补充了一些其他情况。

默认开启 "all in one" 模式

传入目录时,会扫描当前目录下是否有视频文件:若无,则认为作品季度文件夹在子目录,进行递归;若有,则认为当前目录为单季度作品文件夹,正片存在于该目录下,extras 等内容存放于子文件夹。

可能增加的改动:将路径中出现的每一段名称都尝试搜索对应作品名辅助子文件夹判断(应用于系列作品)

==注意:该改动彻底移除对单文件支持能力,且目录下不能有零碎的视频文件,不然会影响目录类型判断,并极有可能产生毁灭性的输出==

不知是否有保留一定处理单文件的功能的需求,如传入的待处理目录下有一些单独的电影文件。(一部分原因也可能是是刚开始没太弄明白单文件处理逻辑然后后面也不想动了)

简介

  • 😣受不了动漫剧集的命名与Emby自动刮削格式不兼容?

  • 🥰本项目可以将大部分下载的剧集(包括动漫、电影、番剧等)转为Emby所需要的文件结构

  • 🚀支持剪切、复制、硬链接(默认)三种移动/重命名方式!

  • ✨并且你可以通过简单的配置,让qBittorrent每次下载结束之后自动执行转换!

  • 🥳支持复杂的目录结构!以VCB-Studio的Re:从零开始的异世界生活剧集合集为例:

├─[VCB-Studio] Re Zero kara Hajimeru Isekai Seikatsu
│  ├─[VCB-Studio] Re Zero kara Hajimeru Isekai Seikatsu 2nd Season [Ma10p_1080p]
│  ├─[VCB-Studio] Re Zero kara Hajimeru Isekai Seikatsu Hyouketsu no Kizuna [Ma10p_1080p]
│  ├─[VCB-Studio] Re Zero kara Hajimeru Isekai Seikatsu Memory Snow [Ma10p_1080p]
│  ├─[VCB-Studio] Re Zero kara Hajimeru Isekai Seikatsu [Ma10p_1080p]

可以看到大的集合里面同时包括以下子文件夹内容:第一季、第二季、电影冰结之绊、电影雪之回忆,而你只需要运行该程序,即可自动分门别类,电影/番剧会被格式化后分别的、正确的复制/硬链接你指定的文件夹

使用效果

1.png

2.png

使用方法

零、申请你的TMDB_API_KEY

  • 进入官网申请
  • 复制你的API 密钥,后续会用到

一、安装 (WEB版本)

Important

WEB版本提高了易用性、和识别准确率, 但要求必须本机内存在git和python环境!

  • 确保存在Python环境(版本需要>=3.9), Git环境。

  • 命令行执行

    • git clone https://github.com/KimigaiiWuyi/Bangumi_Auto_Rename.git -b web
    • cd Bangumi_Auto_Rename
    • pip install -r requirements.txt
  • 启动

    • python -m src.start

.jpg

二、使用

  • 打开网页之后(默认端口5999,即地址为http://127.0.0.1:5999
  • 先点击右上角配置按钮,将刚刚的TMDB_API填入,并且配置好各个整理路径
  • 点击添加任务即可使用

三、在qBittorrent下载完成后自动调用该程序

⚠注意:箭头处的命令需要根据上面命令行自己写一下,照抄无效!(下面有提供示例)

  • 打开软件,工具 -> 设置 -> 弹出窗口中找到下载 -> 往下滚动 -> Torrent完成时运行

  • 根据自己的配置,写入命令,应用保存即可

程序接受的参数格式:

  • 一组参数包含 key 和 value, 用 = 连接
  • 多组参数用 & 分隔
  • value 包含多个值时,用 , 分割

参数列表:

key value
path 任意字符串: 要处理的文件(夹)路径
tag anime: 表示要处理的内容为动漫
non-anime: 表示要处理的内容为非动漫
movie: 表示要处理的内容为电影
tvshow: 表示要处理的内容为剧集
no_process: 忽略输入的内容

image.png

  • 这里的命令相比于上面的命令行,需要做一些小的调整,首先一点是path=的输入,一定要用"%F"替换(上图可能是%D,那是错误的,不要关心图上的命令),这样就是每次种子实际下载的路径了
  • 一个是tag=的输入,可以"$G"替换,代表着创建种子时候的标签,这里如果下载的是动漫剧集,需要带上anime的标签,如果是电影,带上movie的标签,方便自动整理到对应路径。
  • 如果无任何标签,是否是电影会自动判断,是否是动漫则默认为否,如果不需要处理,可以传入no_process的标签
  • 填入示例如下
curl -d "path="%F"&tag="%G"" http://127.0.0.1:5999/sendTask -f

四、更新

  • 进入文件夹内,cd Bangumi_Auto_Rename
  • 执行git pull

文件结构

普通模式(默认)

我们假定在 WebUI 中选择的文件夹名称为 anime1

输入文件结构

anime1
├───CDs
│   └somethings
├───Scans
│   └somethings
├───SPs
│   ├───xxx[IV01].mkv
│   ├───xxx[IV02].mkv
│   ├───xxx[PV01].mkv
│   ├───xxx[PV02].mkv
│   ├───xxx[OVA01].mkv
│   └───xxx[OVA02].mkv
├───xxx[01].mkv
└───xxx[02].mkv

或 单视频文件。

输出文件结构

Jellyfin 模式:

动画1 (20xx)
├───Season 00
│   ├───S00E01 - xxx[OVA01].mkv
│   └───S00E02 - xxx[OVA02].mkv
└───Season 01
    ├───extras
    │   ├───CDs
    │   ├───xxx[PV01].mkv
    │   └───xxx[PV02].mkv
    ├───interviews
    │   ├───xxx[IV01].mkv
    │   └───xxx[IV02].mkv
    ├───S01E01 - xxx[01].mkv
    └───S01E02 - xxx[02].mkv

Emby 模式:

动画1 (20xx)
├───extra
│   ├───xxx[IV01].mkv
│   ├───xxx[IV02].mkv
│   ├───xxx[PV01].mkv
│   └───xxx[PV02].mkv
├───Season 00
│   ├───S00E01 - xxx[OVA01].mkv
│   └───S00E02 - xxx[OVA02].mkv
└───Season 01
    ├───S01E01 - xxx[01].mkv
    └───S01E02 - xxx[02].mkv

All in One 模式

我们假定在 WebUI 中选择的文件夹名称为 folder

输入文件结构

folder
├───anime1
│   ├───CDs
│   ├───Scans
│   ├───SPs
│   ├───xxx[01].mkv
│   └───xxx[02].mkv
└───series1
    └───anime2
        ├───CDs
        ├───Scans
        ├───SPs
        ├───yyy[01].mkv
        └───yyy[02].mkv

或 单文件。

输出文件结构

动画1 (20xx)
├───Season 00
└───Season 01
    ├───extras
    │   └───CDs
    ├───S01E01 - xxx[01].mkv
    └───S01E02 - xxx[02].mkv
动画2 (20xx)
├───Season 00
└───Season 01
    ├───extras
    │   └───CDs
    ├───S01E01 - yyy[01].mkv
    └───S01E02 - yyy[02].mkv

其中对子项的处理 参见普通模式。 整体而言,All in One 模式增加了对动画文件夹的递归查找。

需要注意的

  • 该程序依靠TMDB API(因为Emby也是一样的,可以保证精准度),因此对网络环境有一定要求!

  • 该程序更加适用于动画剧集的重命名,对于电影、剧集,本身Emby的刮削足够精准了。

  • 识别率并不是100%,如果有识别错误的,带上截图,提Issues!

  • 该程序使用情况覆盖了很多,但是像是非常复杂的情况,例如物语系列这种重量级剧集(加上TMDB对于物语系列的剧集分类,非常的复杂),请不要使用本程序

  • 如果已经使用了本程序刮削错误的情况,因为默认是硬链接模式,所以直接删除目标文件夹的对应文件即可,不会影响到源文件!

  • 有任何使用上的问题或者建议都可以提Issues,尽力解答!

  • 如果本插件对你有帮助,不要忘了点个Star~

  • 本项目仅供学习使用,请勿用于商业用途

  • 爱发电

  • GPL-3.0 License ©@KimigaiiWuyi

About

✨自动重命名工具,将动漫剧集、电影、动漫电影、真人剧集各种混乱的文件结构/格式转为适合Emby自动刮削的格式,支持批量处理或qbittorrent下载完成之后自动硬链接!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.1%
  • Dockerfile 0.9%