Plex Pass 有一个 Edition 功能,是用来区分同一部电影的不同版本的,这个功能的初衷是用来标记院线版、导演剪辑版、加长版、未分级版等不同的剪辑版本。但日常使用时这种多版本的需求可能并不多,所以这个功能常常被人忽略。

由于 Edition 在界面上的显示效果比较突出,不用感觉有点浪费,所以我写了一个脚本,使用 Edition 功能来展示电影的片源版本。

plex-edition-manager

plex-edition-manager 是一个用于管理 Plex 电影版本信息的 Python 脚本。它会根据电影的文件名自动检测电影的版本(如 REMUX、BD、WEB-DL 等),并在 Plex 中更新版本信息。

效果展示

通过添加 Edition 可以很直观的在界面上看到电影的版本信息,并且解决了电视端和移动端不显示杜比视界信息的问题,如此我们在任意设备上都可以很轻易的辨认电影的版本了,若设备不支持杜比视界也可以轻松筛选了。对于收藏爱好者来说,洗版都更有意思了。

版本说明

  • REMUX 是从 Blu-ray 光盘中提取音视频数据无损封装到其他格式中,质量与原版 Blu-ray 光盘没有区别。
  • BD 是直接从 Blu-ray 光盘上复制而来的,画质和音质都非常好。
  • BDRIP 是将 Blu-ray 光盘中的内容进行压缩,损失了一些画质和音质,但仍然保持了较高的清晰度。
  • WEB-DL 是从在线流媒体服务下载的视频,画质和音质较好,但不及 Blu-ray。
  • WEBRIP 是通过录制在线流媒体服务播放的视频获得的版本,画质和音质不及 WEB-DL。
  • HR-HDTV 是从 HR-HDTV 广播中录制而来的,画质较好。
  • HDTV 是从 HDTV 广播中录制而来的,画质较好。
  • HDRIP 是由高清电影压缩而来的,损失了一些画质和音质。
  • DVDRIP 是用 DVD 光盘中的内容压缩而成的,损失了一些画质和音质。
  • DVDSCR 是用于奖项评选和宣传推广的 DVD 版本,可能会有水印或其他标识。
  • DVD 是从 DVD 光盘上直接复制而来的,画质和音质适中。
  • HDTC 是使用 Telecine 机器将胶片电影转换为数字格式,画质和音质较好。
  • TC 与 HDTC 类似,但画质和音质适中。
  • HQCAM 是使用高质量摄像机在电影院内录制的版本,画质和音质较差。
  • CAM 与 HQCAM 类似,但画质和音质更差。
  • TS 是使用专业设备在电影院内录制的版本,画质和音质较差。
  • DV 是指杜比视界,是一种 HDR 格式,提供丰富色彩和高对比度,能显示更多细节,带来逼真观影体验。

匹配规则

由于脚本是通过文件名匹配版本的,因此只有当您的文件名中包含 BD-REMUX、BDREMUX、REMUX、BLU-RAY、BLURAY、BD、BDRIP、WEB-DL、WEBDL、WEBRIP、HR-HDTV、HRHDTV、HDTV、HDRIP、DVDRIP、DVDSCR、DVD、HDTC、TC、HQ-CAM、HQCAM、CAM、TS 时(不区分大小写),才适用此脚本。例如:

Sing.2016.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.TrueHD.7.1.Atmos.mkv > REMUX
Baby.Driver.2017.BluRay.1080p.DTS-HDMA5.1.2Audio.x264.mkv > BD
Isle.of.Dogs.2018.2160p.WEB-DL.x265.10bit.SDR.DTS-HD.MA.5.1.mkv > WEB-DL
Pacific.Rim.2013.2160p.UHD.BDRemux.TrueHD.Atmos.7.1.DoVi.mkv > REMUX · DV

运行条件

  • 安装了 Python 3.0 或更高版本。
  • 安装了必要的第三方库:plexapi(可以通过命令 pip install plexapi 安装)。
  • 有可用的 Plex Pass 账号,并配置了 Plex 服务器。

使用方法

  1. 将脚本下载到计算机上的一个目录中。
  2. 修改 start.command (Mac) 或 start.bat (Win) 中的路径,以指向您存放 plex-edition-manager.py 脚本的目录。
  3. 双击运行 start.command 或 start.bat 脚本以执行 plex-edition-manager.py 脚本。
  4. 首次运行时需要您在控制台中输入您的 Plex 用户名、密码和服务器名称。这些信息将被保存在与脚本相同目录下的 config.json 文件中,以便将来使用。
  5. 脚本将连接到您的 Plex 服务器并从您的库中检索所有电影。
  6. 对于每部电影,脚本将根据其文件名确定其版本,并在 Plex 中更新相应的版本信息。脚本将在控制台中显示每部电影的更新情况。
  7. 当脚本运行完成时,您将看到更新的电影总数。

定时运行

首次运行成功后,您可以选择将脚本设置为定时任务,每天定时运行,这样新入库的电影会通过定时运行自动更新版本信息,否则您需要在新的电影入库后手动运行脚本更新版本信息。

Nas

若您要在 Nas 上设置定时任务,请使用下面的命令添加计划任务,并进行相应的设置。(请将路径替换为您的 python 和 plex-edition-manager.py 所在路径)

/path/to/python3 /path/to/plex-edition-manager.py

Mac

若您要在 Mac 上设置定时任务,请将您的 start.command 文件修改为(请将路径替换为您的 python 和 plex-edition-manager.py 所在路径):

#!/bin/bash
/path/to/python3 /path/to/plex-edition-manager.py

然后通过 crontab 使用以下命令添加定时任务(请将路径替换为您的 start.command 所在路径):

00 20 * * * /path/to/start.command > /dev/null 2>&1

使用上方的命令会在每天晚上 8 点运行一次 plex-edition-manager.py,您也可以自行设定时间,具体操作可以参考 Plex 拼音排序、拼音搜索及类型汉化脚本自动运行教程的「后台定时运行」部分内容。

注意事项

  • 请确保您提供了正确的 Plex 账号信息和服务器名称。
  • 请确保运行脚本的设备可以连接到您的服务器。
  • 脚本依赖文件名来识别电影版本,请确保文件名中包含版本相关的信息。如果文件名中不包含任何可识别的版本信息,则不会更新版本。
  • 脚本仅更新 Plex 中未设置版本的电影。
  • 脚本仅支持电影类型的资料库,不支持其他类型的库(例如,电视节目)。
  • 当一部电影存在多个版本时,脚本会使用第一个文件的文件名识别和更新版本信息。

已知问题

  • 由于电影版本命名的多样性,脚本可能无法准确识别某些特定版本。
  • 在某些情况下,可能需要手动校正电影版本信息。

若您对标记的版本信息有其他想法或意见,可以自行修改脚本,或者提供反馈信息。也欢迎您关注该项目的 GitHub 仓库,以便及时获取项目更新。