管理电影1: 自动定时运行tinyMediaManager来刮削和重命名中文电影

由 jinlife 发布

使用最新的tinyMediaManager的Docker

最近下载了一堆电影,各种命名都有,看起来比较杂乱,于是想找个办法重新命名一下。tinyMediaManager有刮削之后重命名的功能,比较好用。
查了下,现在最新的4.3.4免费版本没有电影数量的限制,只有刮削器选择的限制,只支持1个TMDB的刮削。也算可以用,不用破解。老版本的3.X貌似不好用了。找到官方的docker下载:

  1. https://www.tinymediamanager.org/blog/official-docker-image/
  2. https://hub.docker.com/r/tinymediamanager/tinymediamanager

tinymediamanager/tinymediamanager:latest

安装

主机用的Unraid系统,群晖应该也差不多设置。Unraid可以直接搜索到官方的tinyMediaManager下载。
原始docker中中文界面会是一堆乱码,下面的安装过程中有中文支持步骤。
后续还有自动定时运行刮削,并且重命名的设置。这样每天下载完电影,隔天一看都已经自动刮削好了,并且文件命名很整齐。比较省心。

Unraid应用市场搜索 tinyMediaManager,装中间的官方文件。
2022-10-12T12:00:54.png

安装时的选项都是i默认的,只是添加一个新的路径,指向中文字体库fonts目录。 User ID和Group ID都改成0。其他的选项可以不改。 VNC密码默认是unRAID,可以删掉,下面有折叠的选项展开后可以改。
2022-10-12T12:03:28.png

支持中文界面

下载中文字体库文件,并放入 unraid的 appdata\TinyMediaManager\fonts 目录。字体库下载下来有10MB左右。
https://github.com/micmro/Stylify-Me/blob/master/.fonts/SimSun.ttf?raw=true
如下图,注意这里的路径跟刚才建立Docker时设定的路径须一致:
2022-10-12T12:09:40.png

启动Docker,即可切换成中文,并且不是乱码。
Unraid内右键在Docker上访问WebUI,进入 ip: 4000 窗口即可打开界面。 改成中文界面:
2022-10-12T12:34:58.png
其他设置个人按需修改,重命名的文件名规则也可以改。建议默认就行了。

使用命令行刮削和改名。

上图中还有个 runTmm.sh, 是需要在Docker内运行的脚本,顺便放fonts目录,就不用另外建个路径了。
这个文件会杀掉docker中的tinyMediaManager界面进程,并且使用命令行运行电影和电视的刮削还有重命名。不杀掉进程会无法运行命令行。-u表示扫描新增的电影,-n表示刮削新增的电影数据,-r表示重命名。 详细参考: https://www.tinymediamanager.org/docs/commandline

#!/bin/sh
#
kill -9 $(pidof java);
/app/tinyMediaManager movie -u -n -r;
sleep 3
kill -9 $(pidof java);
/app/tinyMediaManager tvshow -u -n -r;

这个脚本可以手动运行,不过运行完之后,由于界面进程被杀掉了,需要重启Docker让tinyMediaManager的界面再出来,不重启也没关系,一般情况下都用不到界面。

自动定时运行脚本

Unraid定时运行需要靠 User Scripts 套件, 群晖用计划任务就行了。
2022-10-12T12:25:39.png

创建一个User Scripts脚本,如下图设置,这样每天下午3点半就会运行。这个Cron可以按需设置。
2022-10-12T13:05:39.png

#!/bin/bash
# 设定放电影的路径
dir=//mnt/user/Temp

# 运行命令行刮削的脚本
docker exec tinyMediaManager /bin/bash -c "/data/fonts/runTmm.sh"
# 重启 Docker
docker restart tinyMediaManager 

# 这里将所有的电影的权限重新设置一下,这样可以在Unraid的共享路径里面修改删除等。否则就没权限删了。
chmod a+rwx -R "$dir"
chown -R nobody:users "$dir"

# 有时tinyMediaManager没有清除临时目录 .deletedByTMM。 这里找到并删掉,保持目录清爽。
find "$dir" -name ".deletedByTMM" | xargs rm -rf

这样Unraid就会每天下午3点半运行上面的脚本,对指定目录下新增的文件刮削并重命名。
命名之后的好处是将来出问题了,重新刮削成功率会很高。
2022-10-12T12:31:51.png

遗留问题

最后还有个问题,这个Web的VNC界面访问,不能输入中文,用自带的剪切板也不支持中文,如果刮削错了,只能用英文再搜索,也无法改名为中文。
另外还要鄙视一下TMDB的中文页面的管理员,挺坑的。如果美国电影没在大陆上映,就没有中文名,竟然按这个原则支持中文,有些电影由于政治原因禁止在大陆上映的,刮削下来一直都是英文标题,虽然电影简介是中文。
例如 蜘蛛侠:英雄无归, 貌似正好是美国制裁华为的时候上映的,所以没引进。 有可能一直就不引进了,很长时间不会有中文标题。
https://www.themoviedb.org/movie/634649-spider-man-no-way-home?language=zh-CN
中文标题就是个字符串而已,可以先改了,后面有问题再更新。结果那管理员固执得很,就是不改,也不放开权限让别人改,连繁体中文都能改,TMDB论坛上一堆人吐槽,这老兄很有问题啊。

这样的电影就只能手动改了,由于VNC不支持中文输入,建议在Windows本机装一个同版本的tinyMediaManager,然后把appdata里面的数据下载到本地,改好中文了再拷贝回去。隔一段时间做一次就行了。
路径是 appdata\TinyMediaManager\data

以上文章内的链接,有些需要科学上网才能打开,反正刮削也需要科学上网的。

本文作者:jinlife
本文链接:管理电影1: 自动定时运行tinyMediaManager来刮削和重命名中文电影 - https://blog.jinlife.com/index.php/archives/79/
版权声明:本博客内容遵守 “署名-非商业性使用-禁止演绎 4.0 国际”协议(CC BY-NC-ND 4.0),除特别说明外内容皆为原创,可以自由转载与传播,但请署名及注明文章出处。

8 条评论

  1. Zz
    Zz · 2022-10-14 17:07

    tinyMediaManager很强 只是刮削出来的,演员表是英文的,部分也如博主所说没中文。

    另外博主可以试试国人的极影派,但收费的。

    1. jinlife
      jinlife · 2022-10-16 09:58 作者

      其实主要是用重命名功能,顺便刮削一下。媒体服务是VideoStation,还会重新刮削一下。

  2. stanley
    stanley · 2022-12-21 19:40

    推荐使用unraid上找docker部署radarr sonarr来组织和管理电影和电视剧 plex来管理播放

    1. jinlife
      jinlife · 2023-02-06 12:43 作者

      谢谢推荐,以后有机会玩玩。现在已经能用了,暂时不想动了。

  3. 小鲁鲁
    小鲁鲁 · 2023-03-30 20:58

    大佬我有一个问题,困扰我好久了。我是使用的4.0.7linux版本,群晖,使用的是radarr,在通知链接里填写的是运行脚本来执行削刮,脚本没有问题,手动在ssh里执行也没有问题,可以正常刮削,但是使用radarr的通知连接可以通过脚本测试,但就是没有运行。后来我在脚本里添加了一条输出xxx.log的命令,在radarr正常任务触发执行时没有任何输出,但是我在radarr里添加这个带输出日志的脚本时,因为添加时需要测试,但测试完后却有xxx.log文件输出,确实是执行了tmm,但并没有削刮。显示错误
    java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /volume2/PT/KODI/电影/青春变形记 (2022)

    at java.base/sun.nio.fs.UnixPath.encode(Unknown Source)

    ……
    ……
    而手动在ssh执行脚本正常刮削输出是
    2023-03-30 20:34:37,686 INFO [headless-G2] o.t.c.m.tasks.MovieUpdateDatasourceTask:174 - Start UDS on datasource: /volume2/PT/KODI/电影
    2023-03-30 20:34:37,825 INFO [tmmpool-update-T1-G3] o.t.c.m.tasks.MovieUpdateDatasourceTask:540 - Parsing single movie directory: /volume2/PT/KODI/电影/海底总动员2:多莉去哪儿 (2016), (are we a disc folder? false)
    ……
    也就是说radarr添加脚本,经过radarr测试保存后,然后把输出日志删除,保存后正常流程触发脚本,并没有输出执行脚本时输出日志。而在radarr里添加脚本时,测试时却有日志输出。就是第一个报错的。
    但是在radarr添加自定义脚本时有这么一句说明“Testing will execute the script with the EventType set to Test, ensure your script handles this correctly”我的理解可能在添加测试时,是在类似虚拟执行脚本,所以导致错误。但是正常流程却又没有没有输出脚本日志。

    1. jinlife
      jinlife · 2023-03-31 17:49 作者

      看起来像文件目录没识别,中英文问题?可能命令行要支持utf-8.

      1. 小鲁鲁
        小鲁鲁 · 2023-04-23 18:25

        我想应该是变量的问题,因为radarr的通知里的自定义脚本有变量,但是只列出了变量,没有示例脚本。你能看着给写一个吗?

        1. jinlife
          jinlife · 2023-04-26 18:17 作者

          这个。。。我从来没写过什么radarr的脚本,也没兴趣去学。估计您得自己搞定了。
          建议可以去试试nas-toolss,不需要编程,网上教程也多。

发表评论


captcha
请输入验证码