unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

2022-02-13 15:09:24 36点赞 246收藏 35评论
  • 写在前面

最近有一款根据豆瓣来管理自己影视库的软件很火,我一早就是支持了作者的。在一开始,这个软件的用法就是联动qbittorrent下载器,豆瓣上的电影/电视剧点击了想看之后,qb自动下载,下载之后的文件emby并不能完美的识别,还是需要手动改名,或者有保种需求的同学利用hlink硬链接然后tmm刮削等方法改名给emby识别。说实话在这之前,我只是任务这是一个好工具,但还不能算是一个好用的工具。自从2月10号更新了基于硬链接的自动改名功能,突然就香起来了。

现在这个软件是能把你豆瓣上点击了想看的电影/电视剧联动qb去下载,下载好之后自动根据tmdb网站的影片信息来硬链接重命名,并使用bark或者企业微信通知你,做种看片两不误,而你全程只点击了豆瓣上的一个想看按钮。
我写文章是2022/2/11,到今天为止电视剧的硬链接重命名还没有推出,只有电影的硬链接重命名,作者还在优化电视剧的重命名识别,以及还没有更新webui,比如识别的宽容度,精确度等都要靠作者长期的努力。一些配置全靠手动更改yml文件的内容来实现,小白比较容易踩坑,故写下这篇文章告诉大家踩过的坑。

2022/2/13将博客内容同步更新张大妈,今天有电视剧的硬链接重命名了,和电影的一模一样,就不赘述了。

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

  • 一些顾虑

1.全自动观影,下载的影片什么质量能满足我吗?

这个软件下载电影有自己的一套规则,原理是按照pt站点影片的名字,通过正则表达式来匹配比如1080p、2160p、web-dl等字眼,再按照权重比如影片文件大小、做种人数等来匹配,下载到符合自己预期的质量,基本还是可靠的。作者也预设了三套不同影片质量的规则,或者你也可以自己修改权重呀~

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

2.软件是怎么识别名字的,重命名准吗?

作者接入了tmdb的api,所以在使用前我们要去注册一下tmdb的账号并且申请个人使用的key,软件通过分析影片的名字来获取tmdb上的id并且重命名,自我感觉是比tmm准多了。现在群里讨论的关于日后动漫番剧的识别,作者的意思可能会引入机器学习,所以相对以及是重命名成功率极高的软件了。
要注意的是tmdb的网站没有墙,但是api有墙,最好学习一下怎么添加dns或者怎么富强民主。

  • 安装过程

我使用的是unraid平台,下载器为qbittorrent,播放器为emby,移动设备为ios,软路由一直处于国外留学的状态。和我一样的同学可以直接照抄我的步骤。

1. docker配置

unraid新建一个docker,按照图中填写参数,映射对应路径。

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

/data是容器配置文件目录不必多说,LICENSE_KEY是环境变量填写你的激活码,/downloads底下分为mv、tv、emby-mv、emby-tv四个目录,其中mv、tv是我qbittorrent的下载目录,emby-mv、emby-tv下载完成后硬链接指向的目录,供给emby读取。

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

一共是要映射两个路径,一个环境变量。除了配置文件这里路径之外,另一个路径要配置的和你的qb一样,这样才能下载新电影自动link。
docker的映射我建议都和我这样子,给机器人映射一个大的文件夹,里面包含了你下载的文件夹和你要硬链接的文件夹,而不是/downloads映射一个,/link也映射一个,这样有很大概率硬链接不成功。
以及马上要支持的电视剧硬链接,如果是再新建一个电视剧的映射,在我看来这都不是最优解,只需要给机器人映射一个大的文件夹包含了电影文件夹、电视文件夹以及你要硬链接的文件夹那就完全足够!这句话也是硬链接的关键。

2. 配置文件更改

安装好docker启动会报错,我们可以手动停止容器,下面我们来改一下配置文件。

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

如果你和我一样,使用的是emby+qbittorrent,那只要把emby和qb要替换的掉就可以了,如果是plex或者tr的在最上面更改即可。

pt站点填上用到的,用不到的就直接删除或者#注释掉,不然也是会报错的。

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

这里主要是你保存的模式,比如电影来说,目前最多可以有 type、area、my_cate、path、 link_path五个类别, 其中type、area从豆瓣识别,my_cate、path分别是你qb设置中的分类和保存路径,要和你qb里面填的一样才行。link_path为下载之后要硬链接的路径,下面贴一下我自己的。

我的save-mode,只写了电影和电视两个我的save-mode,只写了电影和电视两个

以上基本app_config.yml配置就差不多了。


movies_config.yml其实默认使用硬链接的话,只需要填写一个tmdb的api,是用来识别你下载的文件并且重命名的。

实际只需要填api就好实际只需要填api就好

notify_config.yml是通知,我使用的是bark,只需要填写push_url足够,也没有什么难度的。

我用bark,只需要填写push_url我用bark,只需要填写push_url

企业微信的使用在社区内有另一个文章介绍,我自己也不用,就不过过多阐述了。

到这里三个需要配置的文件都完成了。

3. 检查硬链接

我这里给出一种检查自己是否可以硬链接的方法,如果同学在抄作业的时候一直硬链接不成功,可以先这样检查一遍。

启动movie-robot,启动的前提是上面配置文件里的qb和emby都正常启动,配置文件正确填写的情况下,否则日志会报错。

在我这个例子中,我把宿舍机的/mnt/user/downloads映射到了容器内的/downloads目录,打开容器的控制台,输入先cd /,ls能看见/downloads,cd /downloads,继续ls,能看见mv、tv、emby-mv、emby-tv四个文件夹,分别放电影和电视节目。我的需求是,qb下载的电影在/downloads/mv目录下,这个在qb的分类中已经设置好,通过硬链接将下载的文件“复制”到emby-mv文件夹下,达到emby播放器只需要读取/downloads/emby-mv文件夹的视频文件。我们在mv文件夹下用touch命令创建一个1.txt,然后使用ln命令把1.txt硬链接到emby文件夹下,看看能否成功。

ln /downloads/mv/1.txt /downloads/emby-mv/1.txt

ln测试ln测试

ln 源路径 目标路径,即为最简单的硬链接的方式,如果成功了,cd到emby-mv文件夹,ls查看一下,确实存在1.txt,这说明我们的硬链接是可行的。
如果出现cross-device link字样,说明在你源路径和目标路径之间不能够硬链接,需要你再仔细检查一下。

我之前虽然物理上实际并没有跨盘,但是还是会提示跨盘。然后只给机器人挂载了一个大的文件夹,就能成功硬链接了。

cross-device link就是提示跨盘了cross-device link就是提示跨盘了

4. 开始硬链接

装好之后我们按照豆瓣机器人下载的电影都是会自动硬链接加上重命名的,可以称为增量视频,而我们在downloads文件夹中原本就有的视频文件可以叫做存量视频。
增量视频在下载好之后自动会硬链接,存量视频则在刚装好的时候手动运行一遍硬链接命令就可。
打开容器的控制台,默认应该就是在/app目录,输入以下命令:

python commandapp.py -w=/data -a=moviesmanager --source-type=movie --source-dir=/downloads/mv --target-dir=/downloads/emby-mv --file-mode=link

其中的source-dir(源路径),target-dir(目标路径)需要自行替换,如果是电视剧,将--source-type=movie改为--source-type=tv即可。

unraid安装movie-robot并配置硬链接,最适合国人的观影姿势!

可以看到这几部电影都手动硬链接并且重命名成功了,硬链接加重命名的效果就是下图所示。

硬链接重命名效果硬链接重命名效果

上面是存量视频的硬链接,而增量视频的硬链接是不需要我们操心的,自动在qb下载完成之后就会硬链接,但是我们需要做的是,给qb映射的文件夹和给movie-robot映射的文件夹路径相同,并且在app_config.yml文件中配置的也相同,这样就会自动硬链接了。

qb映射路径相同qb映射路径相同

下载路径也相同下载路径也相同

最后感谢一下作者开发了这么好用的软件并且犹如母猪一般的更新速度~

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
35评论

  • 精彩
  • 最新
  • 高质量内容,太厉害👍

    校验提示文案

    提交
    作者君永远是爸爸 [脸红]

    校验提示文案

    提交
    爸爸,没有PT账号怎么办?可以BT下载吗?

    校验提示文案

    提交
    收起所有回复
  • 前排支持!!

    校验提示文案

    提交
    感谢测试官!

    校验提示文案

    提交
    你文章都删了?

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 支持大佬 [高兴] [高兴] Zander

    校验提示文案

    提交
    不是大佬 [惊喜] 谢谢支持

    校验提示文案

    提交
    收起所有回复
  • 感觉不错,这以后要看电影电视就方便了。后面看看群晖怎么搞

    校验提示文案

    提交
    都是通的,作者他们都是群晖,反而我unraid是另类

    校验提示文案

    提交
    收起所有回复
  • 感谢分享,教程详细,刚加了微信群还没布置作者就退群了。

    校验提示文案

    提交
    你是不是加了个假群

    校验提示文案

    提交
    收起所有回复
  • 折腾一半放弃了。有点看不懂了(#-.-)有空再折腾吧

    校验提示文案

    提交
    提示激活码错误,dns应该没问题。api的问题?我填的是api令牌v4的内容。

    校验提示文案

    提交
    软件激活码找作者或者加TG群有使用的,然后tmdb api你填令牌那个是错的,填令牌上方那一行api代码……

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 请问一下 帖子里面 建立的文件 和 帖子里面的 save-mode 配置文件夹名字都不一样呢? 我的硬链一直没搞定= =

    校验提示文案

    提交
    这里我图片用错了,因为我改了一下媒体库的保存位置和硬链接位置,主要看我最后那几张图

    校验提示文案

    提交
    收起所有回复
  • 想法挺好的 支持一下

    校验提示文案

    提交
  • 结尾母猪好评

    校验提示文案

    提交
  • 牛了,虽然用不到,但进步就是通用性加强

    校验提示文案

    提交
  • 还收费不?

    校验提示文案

    提交
  • 没有国内交流群真不方便,unraid装完后,配置文件夹是空的呀,什么都没有怎么写入配置?

    校验提示文案

    提交
  • [大囧] 对于我这种跑网心云薅电费的苦逼狗,挂pt是个痛苦的体验,还是老老实实想看的就bt下载吧

    校验提示文案

    提交
    这个可以兼容jackett了

    校验提示文案

    提交
    收起所有回复
  • 前排支持!!!

    校验提示文案

    提交
  • 我电影影链接成功了,但是电视剧报错

    校验提示文案

    提交
    File "/app/commandapp.py", line 67, in                                  App.action_movies_manager(mconfig['tmdb']['api_key'], args.file_mode, args.use_country_folder, args.source_type, 
      File "yee/app.py", line 87, in yee.app.App.action_movies_manager                                                   
      File "yee/core/moviefilemanager.py", line 93, in yee.core.moviefilemanager.MovieFileManager.walk_link_movies       
      File "yee/core/moviefilemanager.py", line 104, in yee.core.moviefilemanager.MovieFileManager.walk_link_movies      
      File "yee/core/moviefilemanager.py", line 316, in yee.core.moviefilemanager.MovieFileManager.link_movie            
      File "yee/movie/movieanalyze.py", line 27, in yee.movie.movieanalyze.MovieAnalyze.analyze_movie                    
    AttributeError: 'NoneType' object has no attribute 'year'

    校验提示文案

    提交
    提示这个:AttributeError: 'NoneType' object has no attribute 'year'

    校验提示文案

    提交
    收起所有回复
  • Traceback (most recent call last):                                                                                   
      File "/app/commandapp.py", line 67, in                                                                     
        App.action_movies_manager(mconfig['tmdb']['api_key'], args.file_mode, args.use_country_folder, args.source_type, 
      File "yee/app.py", line 87, in yee.app.App.action_movies_manager                                                   
      File "yee/core/moviefilemanager.py", line 93, in yee.core.moviefilemanager.MovieFileManager.walk_link_movies       
      File "yee/core/moviefilemanager.py", line 104, in yee.core.moviefilemanager.MovieFileManager.walk_link_movies      
      File "yee/core/moviefilemanager.py", line 316, in yee.core.moviefilemanager.MovieFileManager.link_movie            
      File "yee/movie/movieanalyze.py", line 27, in yee.movie.movieanalyze.MovieAnalyze.analyze_movie                    
    AttributeError: 'NoneType' object has no attribute 'year'

    校验提示文案

    提交
  • 激活码要收费吧。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
246
扫一下,分享更方便,购买更轻松