利益相关声明:作者与文中产品有直接的利益相关(开发者、自家产品等)

片库一直在上新,Jellyfin / Emby 的封面也可以跟着换

LibraryCoverStudio:一个开源工具,为 Jellyfin / Emby 制作并定时更新媒体库分类封面。

封面做一次不难,想让它跟着新收藏不断变化,却要一遍遍找图、排版、上传。LibraryCoverStudio 把喜欢的设计保存下来,之后按计划取材、生成并上传,让你可以把心思花在布置首页上。

电影库可以是一张「周五放映室」的票根,也可以是一面每周上新的海报墙;旧收藏可以随机露个面,过节再换一套装扮。下面用几张演示封面,看看这些玩法的样子。

给电影库印一张「周五的电影票」

电影库的入口,可以是一张米白色的票根。

左边放一张影片海报,右边用深绿色的字写上「周五放映室」,旁边留着齿孔、编号和条码。副标题可以是「今晚留两小时给电影」,也可以直接写上你的私人影院名称。

同样一张票,改改文字,又可以变成「午夜场」「周末重映」「动画专场」。电影库还是那个电影库,但每次拿起遥控器,看到这个入口,会更像准备进去看一场电影。

如果家里已经分好了不同媒体库,还可以给它们各自安排一个“厅”:动漫用角色大图,纪录片用简洁的标题和风景背景,儿童动画则用明亮一点的颜色。几个入口保留统一的字体和排版,摆在一起,也就有了自己影院的样子。

周五下班,新收藏已经挂上首页

另一种玩法,是把电影库封面当成家里的上新橱窗。

挑一套海报墙布局,标题写「最近上新」,素材按“最近加入”排序,再把任务设成每周五傍晚执行。

平时照常往片库里添片,到了约定时间,工具会重新获取海报、生成封面,并上传到对应媒体库。

上周出现在封面上的,可能还是那几部熟悉的作品;这周打开电视,橱窗里已经换成最近刚收的片子。喜欢的布局一直保留着,里面的内容却跟着收藏往前走。

对于经常添片的人,这比做完一张封面就一直放着,更有意思。

不知道看什么,就让旧收藏露个面

有时候,选不出电影并不是因为片子太少。

恰恰是收得太多,翻了半天,最后还是退出。那些当初认真找来、一直没顾上看的作品,也慢慢沉到了列表下面。

可以给电影库换个标题,叫「今晚看什么」,素材选择随机排序,让封面隔一段时间重新抽取几张海报。

 

某次可能出现一部当年看过的老片,某次又冒出一部收藏已久、还没点开的作品。看到熟悉的片名,突然想起“这部还没看”,也许今晚就有了答案。

如果更偏爱口碑作品,还可以按「公众评分」排序,让评分靠前的海报出现在封面上。喜欢看新收藏、喜欢重温老片,或者只是想偶尔被自己的片库提醒一下,都能用同一套设计换一种取材方式。

给重看的收藏做张唱片,过节再换一套装扮

如果你已经整理了一个专门重看的媒体库,可以给它配一张黑胶唱片封面。

唱片中间嵌着影片海报,旁边写「值得重看」。里面放的是你已经看过,却仍愿意再打开的作品。电影收藏也可以像唱片收藏一样,有自己的封套。

到了春节,又可以提前复制一份模板,把背景换成暖红色,文字改成米金色,标题写「新年放映室」,加一句「和家人一起看电影」。假期到了,给对应媒体库换上;假期结束,再切回常用设计。

暑假可以准备「暑假放映厅」,冬天也可以留一套「冬日重映」。这些名字、配色和封面都由你决定。喜欢做图的话,还可以把用过的版本存下来,一年下来,也是一小套自己的影院海报。

看中了哪种玩法,就从一张自己的封面开始

前面那些票根、海报墙和重映专场,最终都要落到同一件事上:让自己的媒体库真正用上它。

第一次可以只选「电影」这一个媒体库,完成一张封面,再慢慢扩展到剧集、动漫和纪录片。下面从部署开始,一直走到封面上传成功。

第一步:用 Compose 启动

安装好 Docker 和 Compose 后,新建一个 library-cover-studio 文件夹,将下面内容保存为 compose.yaml。两处 REPLACE_... 分别换成两串不同的长随机字符,可用密码管理器生成。

services:
  library-cover-studio:
    image: evanqu/library-cover-studio:latest
    restart: unless-stopped
    environment:
      JWT_SECRET: "REPLACE_WITH_RANDOM_JWT_SECRET"
      ENCRYPTION_KEY: "REPLACE_WITH_RANDOM_ENCRYPTION_KEY"
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data

在这个文件夹里执行:

docker compose up -d

启动后,打开 http://你的NAS地址:8080 注册账号,就可以开始连接媒体库了。不需要挂载影片目录,也不用配置 AI。

端口调整、备份和升级等说明,放在完整部署文档中,需要时再看。

第二步:让它找到你的 Jellyfin / Emby

登录后进入 「媒体源 → 添加服务器」,给连接起一个名字,选择 Jellyfin 或 Emby,填入服务器地址和 API 密钥。密钥在对应媒体服务器的管理后台创建,需要能读取海报并更新媒体库封面。填好后点击「连接」。

这里要填的是后端容器能够访问的媒体服务器地址。例如 Jellyfin 在 NAS 的 8096 端口,可以填写 http://192.168.1.10:8096,其中 IP 要换成自己的。容器里的 localhost 指向容器自身,通常不能用来连接 NAS 上另一个服务。

看到服务器状态变成「在线」,再点开「媒体库」,确认能读到自己的分类。到这里,工具才有了制作封面的素材来源。

它更新的是首页上「电影」「电视剧」这些媒体库分类的封面。选一个库,就为这个库生成一张入口封面;库里的影片海报会被拿来排版。

第三步:挑一套模板,改成自己影院的样子

进入 「模板库」,先看内置的 7 套设计。喜欢海报铺满画面,可以从海报墙开始;喜欢给标题留白,可以试试叠卡或扇形。默认模板可以直接用于任务,想修改时,先复制一份。

前面那种票根、胶片、黑胶风格,可以去 「模板商店」 找。点「下载并添加」,模板就会进入自己的模板库,创建任务时也能选到。

选好之后,到 「设计器」 继续布置。左边添加海报、文字和形状,中间直接看封面的样子,右边调整图层。标题太挤就挪一挪,海报挡住了字就调整层级,想要更像老影院,就换字体和配色。

如果希望同一张模板给不同媒体库使用,可以让主、副标题分别使用 {{primary_title}}、{{secondary_title}},海报使用 post1~post9 占位。这样布局只做一次,电影、剧集和动漫各自的文字与海报由任务填入。修改后先保存模板,后续任务才会用到新设计。

更习惯用文字描述想法,也可以接入自己的 AI 服务,先生成草稿,再回到画布修改。做好的模板还能导出 ZIP,备份下来,或分享给同样喜欢折腾首页的人。
 

当然了,懒得修改也可以直接使用不去修改。

第四步:选中电影库,先看它用上自家海报的效果

进入 「自动化 → 新建任务」,给任务起个名字,选择刚才连接的服务器,再勾选要更新的媒体库。第一次只勾「电影」即可,确认后点「下一步」。

来到「配置封面」,展开电影库,选择模板,填写主、副标题,再决定素材怎么挑。例如,想做一面上新橱窗,就把主标题填成「最近上新」,素材排序选「最近加入」;想让老收藏偶尔露面,就选「随机选取」。

想做的封面模板与文字素材排序
周五放映室票根布局,主标题「周五放映室」,副标题「今晚留两小时给电影」随机选取
上新橱窗海报墙布局,主标题「最近上新」最近加入
今晚看什么扇形或叠卡布局,主标题「今晚看什么」随机选取

接着点击右侧 「生成真实样张」,让它用所选媒体库中的海报渲染一次。看到「使用媒体库中的真实海报」,再检查标题有没有填对、海报是否合适、文字有没有被挡住。改过配置后,可以重新生成。

这一步只生成预览,不会上传,也不会更改媒体服务器。 喜欢的模板换上自己的收藏之后是什么样,先在这里看清楚。

第五步:把换封面的时间定下来

样张满意后,进入「设置时间」。想先手动验收,可以选择 「手动运行」;想长期更新,就选择 「按计划运行」,设置频率、星期和执行时间。

下面的界面示例是「每周一 04:00」。如果想做前文的周五上新橱窗,把频率选为每周、星期改成周五,时间设成 18:00 就行。

保存前,看一眼页面显示的调度时区和未来三次执行时间,确认它确实落在自己期待的时刻,再勾选「保存后启用此计划」。默认时区是 Asia/Shanghai,以界面显示为准。

继续到「预览确认」,核对服务器、媒体库、模板和执行方式,新任务点击「创建任务」完成保存。保存本身不会立即上传;已启用的计划会在约定时间执行。

第六步:执行一次,回到首页验收

回到任务列表,点击 「立即执行」。这时才会读取素材、生成封面,并上传到选中的媒体库。执行会替换这些媒体库原来的分类封面,需要保留原图的话,提前从 Jellyfin / Emby 备份。

完成后打开 「执行历史」,逐个查看媒体库的结果和当次生成的图片,也可以放大查看、下载原图。若某个库失败,先看对应的错误信息,再检查连接、权限或素材。

最后,刷新 Jellyfin / Emby 首页,看看这张封面放到整套界面里的效果。字要不要再大一点、几个媒体库的配色是否协调,放回真正使用的地方,往往比单看一张图更容易判断。

手动执行一次之后,原有定时计划仍然保留。后续只要容器持续运行,已启用的任务就会按时更新;关机期间错过的执行不会自动补跑。

先给电影库起个喜欢的名字

可以是「周五放映室」,也可以是「午夜场」「周末重映」,或者家里人一看就懂的那个名字。

先把这一张做好,看看自己的收藏挂在上面的样子。至于剧集、动漫和下一个节日的装扮,等你想换的时候,再慢慢添。

前往 GitHub,制作你的第一张媒体库封面