Skip to content

markmahoro/Shelfdeck

Repository files navigation

ShelfDeck 媒体库管家

我和这部影片是什么关系?我喜欢它吗?——这是整理媒体库的第一个问题。历史上没有人问过。

媒体库里的电影越来越多,硬盘告急。你有仓鼠症,收藏的电影一部都不想删;但看过不喜欢的也躺在那里占空间;喜欢的又想要一个更高清的版本珍藏。这些都是你和每部影片之间的关系。ShelfDeck 做的事情很简单:先帮你理清这些关系,再替你执行对应的动作。

  • 喜欢 → 要不要洗版到 4K、换一条优质音轨?
  • 感觉一般 → 占着 20GB 有点浪费,压到 5GB 保留就好
  • 不喜欢 → 帮你清理掉,腾空间给更值得的作品
  • 还没看 → 标记,等看完再判断

你在豆瓣上打的星、在 Emby 里的观影记录——这些数据一直都有,只是没有人把它们串联起来。ShelfDeck 既是这个决策引擎,也是帮你执行动作的人。它理清你和每部影片的关系,然后替你删、压、换,不用你手动策划。

你的态度                     ShelfDeck 的动作
─────────────────────────────────────────────
★★★★★  挚爱,想永久收藏      → 洗版到 4K 高码率,搜最佳版本
★★★★   不错,但体积太大        → 压缩到合理码率,节省空间
★★★    看过就算了              → 保留,不折腾
★★      不合口味                → 删除,不值得占空间
(未看) 等待你的判断           → 标记已看后再决定

核心工作流

Emby 媒体库 ──→ 拉取所有影片(码率、分辨率、编码、已看状态)
                   │
豆瓣评分 + 你的打分 ──→ 规则引擎 ──→ 每部影片一条策略:保留 / 删除 / 转码 / 洗版
                   │
                   └──→ 一键入队 → FFmpeg 压缩 / Emby 删除 / MoviePilot 洗版

怎么知道自己和一部影片的关系? ShelfDeck 通过三个来源自动感知:

  1. 你亲自打的分数(在 ShelfDeck 里直接打分——最准确)
  2. 豆瓣的评分(同步你的豆瓣"看过"列表——你的历史偏好)
  3. Emby 的观看状态(已看/未看——你的实际行为)

三条数据合一,就是你和每部影片关系的全景图。规则引擎就是这张图上运行的"决策层"。

当前 v1.0.0 仅支持 Emby 电影媒体库。剧集类媒体库尚未测试及针对性开发,后续版本将完善支持。


快速开始

环境要求

Windows 部署

  • Windows 10/11
  • Node.js ≥ 20(部署包已自带,用户无需安装)

Docker 部署(支持飞牛 NAS / Linux 服务器):

局域网内的 Emby 服务器(两种部署方式都需要)

三步上手

  1. 下载 ShelfDeck-v1.0.0.zip,解压到任意目录
  2. 双击 shelfdeck_service启动器.vbs → 托盘图标出现 + 浏览器打开 http://127.0.0.1:18080/admin
  3. 添加媒体库(登录 Emby → 选文件夹 → 完成)

媒体库数据加载完成后,根据你要用的功能做一次性的基础配置:转码设置(FFmpeg + 编码设备)、洗版设置(MoviePilot 地址)、豆瓣集成(用户 ID)。不用全部配——只用转码就只配转码。配置完策略推荐自动生效。

双击 ShelfDeck播放助手.exe 可打开桌面客户端。详细步骤见 Quick Start


功能

模块 做什么
媒体库盘点 同步 Emby 所有影片,分析码率/分辨率/编码/体积/已看状态
评分整合 豆瓣"看过"列表 + ShelfDeck 内打分 → 你和每部影片的关系画像
规则引擎 可配置的条件规则(P1-P10),根据评分 + 码率匹配动作
删除 从 Emby 直接删除低分影片,释放硬盘空间
转码 FFmpeg 压缩高码率影片到目标码率(支持 nvenc/CPU 设备池)
洗版 联动 MoviePilot 搜索优质版本替换(4K/高码率/指定音轨)
桌面客户端 海报墙浏览未观看内容 + 媒体库管理 + 播放记录

FAQ

ShelfDeck 怎么帮我决定删除 / 转码 / 洗版?

不用你手动判断。ShelfDeck 拉取你的 Emby 媒体库数据(码率、分辨率、编码、体积),结合豆瓣评分和你的个人打分,通过规则引擎为每部影片自动匹配策略。默认规则大致是这样的:

评分 编码+码率条件 ShelfDeck 策略
★★★★★ 洗版 — 搜索更优质的版本替换
★★★★ 旧编码或码率超标 转码 — 压缩到目标码率 H.265
★★★★ 已是 H.265 且码率合理 保留 — 已达标,不折腾
★★★ 旧编码或码率超标 转码 — 压缩到目标码率 H.265
★★★ 已是 H.265 且码率合理 保留 — 已达标,不折腾
★★ / ★ 删除 — 不值得占空间
无评分 保留 — 等你的判断

策略是完全可配置的。 每个媒体库可以绑定独立的策略模板——比如你可以在"动画"库绑一个激进模板,"纪录片"库绑一个保守模板只转不删。模板里可以精确调整:每个星级对应什么动作、目标码率多少、什么编码算"达标"、洗版搜什么分辨率和音轨偏好。你的规则,你做主。

豆瓣评分和你的打分是两个平行数据源,ShelfDeck 对两者一视同仁——有哪个就用哪个,两个都有就分别匹配,取最高优先级规则。

转码是怎么做的?

ShelfDeck 使用 FFmpeg 将不符合策略目标的影片转码为 H.265 格式。为什么是 H.265?

  • 体积减半:同样画质下,H.265 文件体积大约是 H.264 的 50-60%
  • 画质稳:现代编码器(nvenc、CPU x265)成熟,肉眼几乎看不出差别
  • 全平台兼容:主流播放器、浏览器、电视盒子都支持

流程:读原文件 → FFmpeg 管道编码 → 临时目录输出 → 校验通过 → 替换原文件。全程沙盒操作,不直接碰原文件。

我不想打分,只想批量把媒体库都转成 H.265,可以吗?

可以。只要给这个媒体库绑定一个策略模板,把 catch-all 规则(最低优先级,无评分时生效)的目标动作设为"转码"、目标编码设为 H.265,整个库所有影片就会被标记为"需转码",SmartTaskEngine 自动批量入队。不需要一个一个打分。

ShelfDeck 和 Emby 是什么关系?

互补,不是替代。 Emby 负责播放和管理媒体文件;ShelfDeck 不碰播放,只负责决策层——分析你已经看过和打分的内容,告诉你该删、该压、还是该洗版,然后在你确认后替你执行。ShelfDeck 通过 Emby 的 HTTP API 同步数据,不需要在 Emby 服务器上安装任何插件。

我没装 MoviePilot,洗版功能能用吗?

洗版需要 MoviePilot。但删除和转码完全不依赖 MoviePilot,装了 ShelfDeck + 配好 Emby 就能用。

ShelfDeck 会弄坏我的文件吗?

不会。转码全程在临时目录操作,原文件不动。转码完成后验证输出文件(时长、体积),通过后才替换。

每个媒体库有独立的任务执行模式

模式 行为
全自动 任务自动入队 → 自动执行 → 转码/洗版完成后自动替换原文件,全程无需干预
全手动 任务创建后需手动点击执行 → 需手动确认替换 → 适合想每一步都看过再决定
自定义 单独开关:自动入队、自动执行、自动替换——自由组合

删除操作必须通过 Emby 的用户鉴权,只有具备删除权限的 Emby 账号才能执行。

ShelfDeck 需要一直开着吗?

是的。Windows 上双击 VBS 启动器后,ShelfDeck 服务在后台运行(系统托盘可见),几乎不占资源。现已支持 Docker 部署,可在飞牛 NAS、Linux 服务器上常驻运行,详见 Docker 部署指南


开源合规

许可协议GPL-3.0

FFmpeg:本软件捆绑 FFmpeg(ffmpeg-static@ffprobe-installer/ffprobe),FFmpeg 以 GPL-3.0 授权。源码:https://ffmpeg.org/download.html

合规风险提示

  • 豆瓣数据抓取:豆瓣评分通过 HTTP 获取,未获豆瓣官方授权。可禁用此功能(不配置豆瓣用户 ID)
  • Emby 授权:ShelfDeck 不含 Emby 软件,用户需自备合法授权

后续迭代计划

  • 本地文件夹支持:不依赖 Emby,直接扫描 Windows/NAS 上的文件夹作为媒体库
  • 剧集类媒体库:完善对电视剧、动漫等剧集类型的策略推荐和任务执行
  • Docker 部署提供 Docker 镜像,支持 NAS 和 Linux 服务器部署 ✅ 已完成
  • English version:全英文界面与文档,服务国际用户

开发者

完整设计文档索引 | 构建发布 | CHANGELOG

开发者邮箱:markmahoro@hotmail.com,欢迎交流。

About

ShelfDeck 是一个理解你与每部影片关系的媒体库管理工具——自动盘点媒体库,结合豆瓣评分和你的打分,给出保留/删除/转码/洗版的决策,并一键执行。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors