devome / dockerfiles

一些Dockerfile
https://evine.win
GNU General Public License v3.0
200 stars 22 forks source link

关于改名做种的脚本建议 #135

Open chiang1999 opened 2 months ago

chiang1999 commented 2 months ago

现在QB4.6.3版已经可以在任务里面重命名(源文件夹和文件也可以同步重命名)并正常做种,下载并刮削完毕后,能否通过qb根据文件夹的nfo文件将任务和源文件重命名?这样的话qb、emby、文件夹都是同样的中文命名格式。非常整洁

devome commented 2 months ago

改变文件名这件事牵涉比较大,万一脚本有一丁点小bug将导致用户的种子大面积出错。

所以最好的做法仍然是硬连接到其他地方,硬链接后的文件随便你怎么改名。

188334911 commented 2 months ago

改变文件名这件事牵涉比较大,万一脚本有一丁点小bug将导致用户的种子大面积出错。

所以最好的做法仍然是硬连接到其他地方,硬链接后的文件随便你怎么改名。

感谢大佬回复,如果可以的话 我可以做这个试验品,我目前的情况是qb2300+种子,大佬如果有空的话可以写给我先试验下,我顺便说下为什么没有用nastool或者mp这两款硬链接很成熟的产品,1是删除视频比较麻烦,涉及到刮削历史记录,要删除两次 2是有些文件其实不用硬链接,就只需要直接入库即可,但是硬链接起来就很麻烦 3 是刮削错误的情况下,硬链接需要进入软件重新整理,如果采取直接该名的方式就可以直接在emby里面操作了

chiang1999 commented 1 month ago

补充一个类似的脚本,不过他是根据nfo文件改文件夹名字 ,不是通过qb来改的,改了之后就不能做种了

https://github.com/qcgzxw/embyRenamer

devome commented 1 month ago

对pt来说,媒体文件夹下的同名nfo文件一般都是pt种子中有的,你如果用jellyfin/emby重新覆盖掉这个nfo,那么就没法做种了。

即使对那些种子中不带有同名nfo的情况来说,那么jellyfin/emby生成了nfo以后,qb按照nfo中的影片名改掉mkv/mp4等等的文件名,那又会导致jellyfin/emby需要再重新扫描一次(并且还会再次生成nfo,那么多个nfo应该以谁为准呢?)。

还有一点,有的时候同样的影片名(即使年份也考虑在内),仍然会出现出来重命名后的文件夹名称是一样的情况(有的甚至就是同一电影的不同版本),这个时候又怎么处理呢?这也是要考虑的。甚至有些pt站会将同一影片的多个版本放在同一个文件夹下面,这对重命名媒体文件也有影响。

并且,对于多站做种的种子,在重命名第二个(以及更往后)做种的种子,会因为找不媒体文件而报错,因为媒体文件在第一个种子就被重命名掉了。

最后一点,jellyfin/emby生成的nfo一般是xml的,那么为了读取这个文件,势必会增加其他软件包在镜像中才能完成读取动作,这样又会再增加docker镜像的大小。

基于以上这些情况,肯定会导致设置选项的控制变量增多。比如你提到 https://github.com/qcgzxw/embyRenamer ,你可以看看它的config.json有多少个控制选项。对于镜像来说,这些都要转化为环境变量(甚至还要更多一点),对于用户来说,对任何一个变量的错误理解都会导致非预期的结果,所以对我来说,这个功能影响太大,建议还是考虑硬连接。对于硬连接的文件,删除一个后想要删除另外一个,只需要查找那些“硬连接数“为1的媒体文件然后删除它即可:

find "<目标文件夹>" -type f \( -iname "*.mkv" -o -iname "*.mp4" -o -iname "*.iso" -o -iname "*.ts" -o -iname "*.m2ts" -o -iname "*.mpg" \) | while read file; do if [[ $(stat -c %h "$file") -eq 1 ]]; then rm -v "$file"; fi; done
chiang1999 commented 1 month ago

大佬你说得对,感谢你的解答

devome @.***> 于2024年10月6日周日 20:55写道:

对pt来说,媒体文件夹下的同名nfo文件一般都是pt种子中有的,你如果用jellyfin/emby重新覆盖掉这个nfo,那么就没法做种了。

即使对那些种子中不带有同名nfo的情况来说,那么jellyfin/emby生成了nfo以后,qb按照nfo中的影片名改掉mkv/mp4等等的文件名,那又会导致jellyfin/emby需要再重新扫描一次(并且还会再次生成nfo,那么多个nfo应该以谁为准呢?)。

并且,对于多站做种的种子,在重命名第二个(以及更往后)做种的种子,会因为找不媒体文件而报错,因为媒体文件在第一个种子就被重命名掉了。

— Reply to this email directly, view it on GitHub https://github.com/devome/dockerfiles/issues/135#issuecomment-2395430506, or unsubscribe https://github.com/notifications/unsubscribe-auth/BIN4IIRNU4SGNOTO5DZ65WTZ2EXNRAVCNFSM6AAAAABOUEVLS2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJVGQZTANJQGY . You are receiving this because you authored the thread.Message ID: @.***>