自动追番中jellyfin优化遇到的问题

0-前言

​ 记录一下更改jellyfin服务端主题和插件的时候遇到的问题

1-docker-compose.yml

qbittorrent+auto_bangumi+jellyfin的docker部署;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75

services:
qbittorrent:
container_name: qbittorrent
image: superng6/qbittorrent
environment:
- TZ=Asia/Shanghai
- TemPath=/downloads
- SavePath=/downloads
- PGID=1000
- PUID=1000
- WEBUI_PORT=8989
volumes:
- /var/local/qbittorrent/config:/config
- /var/local/qbittorrent/downloads:/downloads
- /home/file:/file
ports:
- 8989:8989
- 6881:6881
- 6881:6881/udp
networks:
- auto_bangumi
restart: unless-stopped

auto_bangumi:
container_name: auto_bangumi
image: estrellaxd/auto_bangumi:latest
environment:
- TZ=Asia/Shanghai
- PGID=1000
- PUID=1000
- AB_DOWNLOADER_HOST=http://qbittorrent:8989
volumes:
- /var/local/auto_bangumi/config:/app/config
- /var/local/auto_bangumi/data:/app/data
networks:
- auto_bangumi
ports:
- 7892:7892
dns:
- 8.8.8.8
- 223.5.5.5
restart: unless-stopped
depends_on:
- qbittorrent

jellyfin:
image: jellyfin/jellyfin:10.9.11
container_name: jellyfin
restart: unless-stopped
dns:
- 8.8.8.8
- 114.114.114.114
ports:
- 8096:8096
volumes:
- /var/local/jellyfin/config:/config
- /var/local/jellyfin/cache:/cache
- /var/local/jellyfin/media/Anime:/media/Anime
- /var/local/qbittorrent/downloads/Bangumi:/media/Bangumi
- /var/local/jellyfin/media/Movies:/media/Movies
- /var/local/jellyfin/js/index.html:/jellyfin/jellyfin-web/index.html
- /var/local/jellyfin/js/slideshowpure.js:/jellyfin/jellyfin-web/slideshowpure.js
- /var/local/jellyfin/js/slideshowpure.css:/jellyfin/jellyfin-web/slideshowpure.css
- /var/local/jellyfin/js/avatars/:/jellyfin/jellyfin-web/avatars/
- /var/local/jellyfin/js/ElegantFin.css:/jellyfin/jellyfin-web/ElegantFin.css
privileged: true

networks:
auto_bangumi:

volumes:
qb_config:
external: false

2-简述问题

1>最好指定jellyfin版本,因为jellyfin刮削元数据的插件是比较必须的,因为国内的原因,所以只能用jellyfin-plugin-metashark中的豆瓣刮削元数据(国内建议只启用豆瓣刮削),但该刮削元数据的插件只支持10.9版本

2>优化前端(可以用插件,但很多前端插件只支持10.10以上的,与刮削元数据的冲突了),想要任意设备访问前端都用的优化的前端页面,得在容器内部进行更改,即服务端更改相关代码Jellyfin-Media-Bar

1
2
3
4
- /var/local/jellyfin/js/index.html:/jellyfin/jellyfin-web/index.html
- /var/local/jellyfin/js/slideshowpure.js:/jellyfin/jellyfin-web/slideshowpure.js
- /var/local/jellyfin/js/slideshowpure.css:/jellyfin/jellyfin-web/slideshowpure.css
- /var/local/jellyfin/js/avatars/list.txt:/jellyfin/jellyfin-web/avatars/list.txt

index.html中<head>标签内要加入

1
2
<link rel="stylesheet" href="slideshowpure.css" />
<script async src="slideshowpure.js"></script>

容器内的/jellyfin/jellyfin-web/目录需要下载两个文件(加速加载)

1
2
3
https://cdn.jsdelivr.net/gh/MakD/Jellyfin-Media-Bar@latest/slideshowpure.js

https://cdn.jsdelivr.net/gh/MakD/Jellyfin-Media-Bar@latest/slideshowpure.css

list.txt是用于大屏的轮播的徽标图片

list.txt的内容:

1
2
3
4
5
6
Awesome Playlist Name(列表名字-无伤大雅)
ItemID1(要轮播图片的id,就是视频详细上的url里面的id=xxxxx那个xxx)
ItemID2
ItemID3
ItemID4
ItemID5

按照GitHub上面优化可能会遇到三个问题

①国内最好下载js和css到jellyfin-web目录下进行本地化的部署,否则会访问慢或者干脆无响应

②js文件内500左右那行规定了list.txt在容器内的位置,注意放到对应内部位置(web指web服务下的目录,即jellyfin-web,我的版本-10.9.11)

/jellyfin/jellyfin-web/avatars/list.txt

③该js用于轮播的图片是logo(即徽标),如果刮削元数据没有刮削下logo(徽标)的话需要自己导入进去,建议直接在前端导入徽标背景图(更好看一点),不想改的话,可以直接把js代码中访问logo图片的接口改成刮削数据肯定会刮削的封面图Primary

3-微调

!最后因为版本的问题,可能需要微调一下间距然后加上主题,最好在控制台增加,应用所有客户端,也就是

主题推荐

https://github.com/lscambo13/ElegantFin

控制台—>常规—>自定义css

1
2
3
4
5
6
7
8
9
10
@import url("ElegantFin.css");

#homeTab .homeSectionsContainer {
margin-top: 150px !important; /* 调整这个值控制下移距离 */
}

/* 登录页面的背景图 */
:root{
--loginPageBgUrl: url("/web/avatars/login.jpg?format=webp&foregroundLayer=1&quality=33&width=3840&height=2160&blur=2");
}

①最后一行是图片的地址,我把图片放到本地了,作为首页登录的地址(注意,jellyfin的访问地址默认为web下所以需要加入/web/目录)