点击关注我的Telegram群组和微信公众号

MENU

在Ubuntu上使用Plex创建专属的动画番剧库

2022 年 02 月 20 日 • 阅读: 7014 • 技术,教程

前言

Plex是一个著名的开源媒体服务器程序,它拥有优秀的跨平台多设备支持。用户可以轻松地将格路径下的媒体文件夹组合成合适的媒体库并通过Plex帐号来分享访问权限。从前年开始,我便将媒体服务器从群晖自带的Video Station迁移到了Plex,大多数情况下Plex都对媒体文件有良好的识别,但是其自带的原生刮削器对日本动画资源适配并不好:很多内容都是英文,剧集分季方式也和日漫习惯不一致,所以需要引入外部刮削器来解决这个问题。本文将介绍我目前使用的方案。
一览图

安装Plex

此处以Ubuntu 20.04系统为例

  • 下载Plex的deb安装包,你可以在Plex官网的下载页面找到对应的下载链接
wget https://downloads.plex.tv/plex-media-server-new/1.25.6.5545-c8bd13540/debian/plexmediaserver_1.25.6.5545-c8bd13540_amd64.deb
  • 安装刚刚下载的deb包
apt install plexmediaserver_1.25.6.5545-c8bd13540_amd64.deb
  • 安装完成后,你可以执行以下命令以检查Plex服务器是否正常运行
systemctl status plexmediaserver.service
  • 此时你便可以通过服务器IP的32400端口访问到Plex的网页端了

挂载媒体文件夹

  • 首先挂载内网NAS的homeshare共享文件夹到Plex服务器下的/data/homeshare文件夹
mkdir /data
mkdir /data/homeshare
vi /etc/fstab
# 添加下面这行
//nas.masterain.dev/homeshare /data/homeshare/ cifs defaults,username=admin,password=yourpasswd,vers=2.0
# 执行挂载
mount -a
  • 进入Plex的网页端,点击添加库

    • 输入库名称
    • 点击浏览媒体文件夹
    • 选择刚刚挂载的目录
      媒体文件夹选择
  • 此时你就可以看到库已经添加了文件夹内的媒体文件

添加Plex硬解支持

Plex服务器设置

  • 使用 Python 脚本批量混流适合 Plex 媒体服务器的 MKV 视频一文中讲到了硬解功能是媒体服务器中的重要功能之一,在这里我们将加载外置字幕作为常见使用方式,所以选择了启用显卡硬解
  • 首先我们需要拿Plex服务器拥有者的Plex帐号购买Plex Pass
  • 在服务器设置中,我们进入转码器菜单

    • 点击启用可用时使用硬件加速,随后保存设置

安装显卡驱动

  • 在ESXi中,添加你的PCIE显卡设备到Plex虚拟服务器
  • 启动Ubuntu后使用ubuntu-drivers devices命令,你应该可以看到你的显卡信息
== /sys/devices/pci0000:00/0000:00:16.0/0000:0b:00.0 ==
modalias : pci:v000010DEd00001C82sv00003842sd00006255bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP107 [GeForce GTX 1050 Ti]
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-510 - distro non-free recommended
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin
  • 我们可以看到系统识别出了多个可用的驱动版本,并将nvidia-driver-510设置为了推荐版本

    • 使用ubuntu-drivers autoinstall命令,Ubuntu将安装推荐版本的驱动
    • 你亦可以使用apt命令来安装指定版本的驱动程序,比如:

      apt install nvidia-driver-390
  • 之后重启服务器便可以使显卡驱动生效
  • 此时使用Plex播放任意视频并更改画质,在后台查看当前播放活动时,它应该已经显示启用了硬解模式

硬解模式

添加插件

Absolute-Series-Scanner

  • 从Github上直接下载最新的代码
  • Absolute-Series-Scanner中包含了对剧集(Series)和音乐(Muisc)的扫描器,本文重点在于剧集资源上,但音乐扫描器亦可以同时加入
  • Scanners目录和子目录下的所有.py文件放置于Plex服务器文件夹内

    • 路径为/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/
    • 目录结构将会是

      ├── Plug-ins
      ├── Plug-in Support
      └── Scanners
       ├── Music
       │   └── Absolute Music Scanner.py
       └── Series
       ├── Absolute Series Scanner (legacy).py
       ├── Absolute Series Scanner.py

Hama.bundle

  • 从Github上下载最新的代码
  • 将整个包解压于Plex服务器文件夹内的Plug-ins子目录下

    • 目录结构将会是
└── Plug-ins
    └── Hama.bundle
        ├── Contents
        │   ├── Code
        │   │   ├── anidb34.py
        │   │   ├── AniDB.py
        │   │   ├── AniList.py
        │   │   ├── AnimeLists.py
        │   │   ├── common.py
        │   │   ├── FanartTV.py
        │   │   ├── __init__.py
        │   │   ├── Local.py
        │   │   ├── MyAnimeList.py
        │   │   ├── OMDb.py
        │   │   ├── Plex.py
        │   │   ├── TheMovieDb.py
        │   │   ├── TheTVDBv2.py
        │   │   ├── tvdb4.py
        │   │   └── TVTunes.py
        │   ├── DefaultPrefs.json
        │   ├── Info.plist
        │   └── Resources
        │       ├── attribution.png
        │       └── icon-default.png
        ├── LICENSE
        ├── Metadata.txt
        └── README.md

更新权限

如果你没有使用sudo -u plex mv来移动插件目录

chown -R plex:plex /var/lib/plexmediaserver/Library/Application\ Support/

使用插件

启用插件

  • 打开你的Plex媒体库的设置,在侧栏中选择高级

    • 将扫描器设置为Absolute Series Scanner
    • 将代理设置为HamaTV
      扫描器设置
    • 在HamaTV设置部分中
    • Serie Lanaguge Priority设置为zh-Hans, zh, zh-Hant, ja, main, en
    • Episode Language Priority设置为zh-Hans, zh, zh-Hant, ja, main, en
    • TheTVDB Poster Language Priority设置为zh, ja
      HamaTV设置
    • 你可以参考Hama.Bundle Github上提供的这个语言代码表格来设置HamaTV代理
Languages codes AniDB TheTVDB
chinese (unspecified) zh zh
chinese (traditional) zh-Hant N/A
chinese (simplified) zh-Hans N/A
chinese (cantonese) zh-x-yue N/A
chinese (mandarin) zh-x-cmn N/A
chinese (taiwanese) zh-x-nan N/A
japanese ja ja
japanese (transcription) jap N/A
korean ko ko
korean (transcription) x-kot N/A
  • 将相关的库进行元数据刷新,此时Plex将使用新的方案读取你的媒体资源
    读取资源

媒体库结构和命名设置

  • 单季剧集只需写清数字格式的剧集数即可
  • 以动漫国的珈百璃的堕落为例
── [DMG] 废天使加百列
    ├── [DMG][Gabriel Dropout][01][BDRip][1080P][BIG5].mp4
    ├── [DMG][Gabriel Dropout][02][BDRip][1080P][BIG5].mp4
    ├── [DMG][Gabriel Dropout][03][BDRip][1080P][BIG5].mp4
  • 同系列不同季的剧集可以视为不同的剧集
  • 以风之圣殿的灰色三部曲为例
└── [KissSub&FZSD] 灰色的果实
│   └── [KissSub&FZSD] 灰色的果实 01.mp4
└── [KissSub&FZSD] 灰色的迷宫
│   └── [KissSub&FZSD] 灰色的迷宫 01.mp4
└── [KissSub&FZSD] 灰色的乐园
    └── [KissSub&FZSD] 灰色的乐园 01.mp4
  • 同名不同季的剧集通过设置季数关键词让Plex区分
  • 以Little Busters!系列的前两部为例

Little Busters!

└── Little Busters!
    ├── [mawen1250] Little Busters! Season 1
    │   ├── Little Busters! S1E01.mp4
    │   └── Little Busters! S1E02.mp4
    └── [mawen1250&VCB-Studio] Little Busters! Refrain Season 2
        ├── Little Busters! Refrain S2E01.mp4
        └── Little Busters! Refrain S2E02.mp4
└── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba [Ma10p_1080p]
    ├── Specials
    │   ├── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba PV01.mkv
    │   ├── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba NCOP23.mkv
    │   ├── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba NCED.mkv
    │   └── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba NCED19.mkv
    └── Extras
    │   ├── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba [Menu01][Ma10p_1080p][x265_flac].mkv
    │   └── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba [Movie Teaser][Ma10p_1080p][x265_flac].mkv
    │   └── CDs
    │   └── Scans
    ├── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba [01][Ma10p_1080p][x265_flac_aac].mkv
    ├── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba [01][Ma10p_1080p][x265_flac_aac].sc.ass
    └── [BeanSub&FZSD&VCB-Studio] Kimetsu no Yaiba [01][Ma10p_1080p][x265_flac_aac].tc.ass

常见问题

海报错误

  • 由于设置了海报封面优先收集中文源信息,这可能导致刮削到不合适的海报,比如如下资源被自动选择了中配海报

中配海报

  • 这种情况下,在对应剧集的菜单中使用修整匹配后重新选择anidb源即可

海报刷新

剧集名修改

  • 根据我们上述的设置,HamaTV会从anidb或TVDB优先获取中文剧集名称,但有些名称并不是我们更熟悉的名称,需要修改

不熟悉的名称

  • 这种情况下,我们可以进入剧集页面,点击铅笔形状的编辑按钮,输入你想要的剧集名称即可

修整名称

参考来源:
Ubuntu自动挂载NAS smb 网络位置
How to install the NVIDIA drivers on Ubuntu 20.04 Focal Fossa Linux
如何管理数以千计的动漫视频
ZeroQI/Hama.bundle
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
添加新评论

已有 7 条评论
  1. 感谢分享 赞一个

  2. jiazhe jiazhe

    但是plex不是开源的吧(

    1. @jiazhe不仅不是,还收费::youmu:snicker2::

  3. 仰望空 仰望空

    多谢分享,另外一提,直接google搜plex anidb第一个就是你,但是打不开,我还是从网页快照找过来得

    1. @仰望空打不开是指连不上服务器吗?能发一下谷歌收录的链接吗?我这里没有搜到

    2. 仰望空 仰望空

      @Masterain现在从google访问又行了,不知道我当时什么问题,我这边用了插件也无法刮削,还是tmdb刮到了

  4. Arturia Arturia

    呜呜呜为什么我plex刮削番剧没有海报和简介