侧边栏壁纸
  • 累计撰写 65 篇文章
  • 累计创建 46 个标签
  • 累计收到 105 条评论

目 录CONTENT

文章目录

jellyfin加载小雅影视库,resilio自动同步元数据.

草莓牛奶
2024-04-15 / 0 评论 / 0 点赞 / 105 阅读 / 1,950 字 / 正在检测是否收录...
温馨提示:
「博客文章out of date 会及时更新,无特殊说明仍然有效,欢迎指正内容中的错误」

虽然小雅提供了Emby全家桶的一键安装,Jellyfin并没有被直接支持。Jellyfin,作为一个完全开源的媒体服务器平台,提供了灵活的安装选项,包括Docker部署,这可以很容易地集成到小雅的系统中。

用户可以通过自定义Docker容器和配置文件,将现有的媒体库加入到Jellyfin中,同时保留原有的数据和设置,并且完成元数据的实时同步

一、安装resilio

关于配置文档详见resilio-sync - LinuxServer.io

docker run -d \
  --name=resilio-sync \
  -e PUID=0 \
  -e PGID=0 \
  -e TZ=Asia/Shanghai \
  -p 8888:8888 \
  -p 55555:55555 \
  -v /path/to/config:/config \
  -v /path/to/downloads:/downloads \
  -v /path/to/data:/sync \
  --restart unless-stopped \
  linuxserver/resilio-sync:latest
  1. -d:这个参数指定容器在后台运行(daemon mode),让命令行界面可以立即返回,而不是挂起到容器的日志输出。
  2. --name=resilio-sync:这个参数为容器设置一个名称,这里的名称是 resilio-sync。通过这个名称,你可以更容易地管理容器,比如查看其状态、启动、停止或删除等。
  3. -e PUID=0-e PGID=0:这两个环境变量参数用于指定容器内进程运行的用户 ID 和组 ID。这里设置为 0,即表示以 root 用户权限运行容器内的进程。
  4. -e TZ=Asia/Shanghai:此环境变量设置容器的时区,这里设置为 Asia/Shanghai
  5. -p 8888:8888-p 55555:55555:这两个参数将容器内部的端口映射到宿主机的相应端口。8888 通常用于 Resilio Sync 的 web 界面访问,而 55555 可能用于设备间的数据同步。(建议以host模式运行)
  6. -v /path/to/config:/config-v /path/to/downloads:/downloads-v /path/to/data:/sync:这三个参数都是卷(volume)挂载命令,用于将宿主机的目录挂载到容器内的指定目录。这允许容器访问外部目录的数据,并保持容器重启后数据的持久性。
    • /path/to/config:/config:将宿主机的配置文件目录挂载到容器内的 /config
    • /path/to/downloads:/downloads:将宿主机的下载目录挂载到容器内的 /downloads
    • /path/to/data:/sync:将宿主机用于数据同步的目录挂载到容器内的 /sync
  7. --restart unless-stopped:此参数控制 Docker 的重启策略。设置为 unless-stopped 表示除非明确停止,否则在容器退出时总是重新启动容器,包括 Docker 系统的重启。
  8. linuxserver/resilio-sync:latest:这是要运行的 Docker 镜像的名称和标签。这里使用的是 linuxserver/resilio-sync 镜像的 latest 版本。

注意:/path/to/data就是存放小雅元数据的位置!

可选配置项:

-m 5126M \
--cpus=0.5 \
--log-opt max-size=1m \
--log-opt max-file=1 \
--device-write-iops /dev/sda:30 \
--device-read-iops /dev/sda:50 \

/dev/sda需要替换成对应的磁盘(使用df命令查看)

  1. -m 5126M:设置容器可以使用的最大内存,此处限制为5126兆字节。
  2. --cpus=0.5:为容器分配单个CPU核心的50%的计算能力。
  3. --log-opt max-size=1m:设置日志文件的最大大小为1兆字节。当日志文件达到这个大小时,它将会进行轮换。
  4. --log-opt max-file=1:限制在覆写之前维护的日志文件数量。这里只保留一个日志文件。
  5. --device-write-iops /dev/sda:30:限制对设备/dev/sda的写入每秒输入/输出操作数(IOPS)为30。
  6. --device-read-iops /dev/sda:50:限制从设备/dev/sda读取的每秒输入/输出操作数为50。

二、下载最新元数据

虽然在同步目录下创建空文件夹,同样能够完成同步,但是这样会花费较长的时间,同时会加大其他用户的上传负担。

建议下载all.mp4后手动解压,上传至/sync目录(选择想要的元数据文件夹,不需要全部上传)

image-20240415222722030

三、配置resilio

xiaoya提供以下文件夹的每日更新:

/每日更新/电视剧 (保存到 /sync/xiaoya/每日更新/电视剧
BHB7NOQ4IQKOWZPCLK7BIZXDGIOVRKBUL

/每日更新/电影 (保存到 /sync/xiaoya/每日更新/电影
BCFQAYSMIIDJBWJ6DB7JXLHBXUGYKEQ43

/电影/2023 (保存到 /sync/xiaoya/电影/2023
BGUXZBXWJG6J47XVU4HSNJEW4HRMZGOPL

/纪录片(已刮削) (保存到 /sync/xiaoya/纪录片(已刮削)
BDBOMKR6WP7A4X55Z6BY7IA4HUQ3YO4BH

/每日更新/动漫 (保存到 /sync/xiaoya/每日更新/动漫
BQEIV6B3DKPZWAFHO7V6QQJO2X3DOQSJ4

/每日更新/动漫剧场版 (保存到 /sync/xiaoya/每日更新/动漫剧场版
B42SOXBKLMRWHRZMCAIQZWNOBLUUH3HO3

/音乐 (保存到 /sync/xiaoya/音乐
BHAYCNF5MJSGUF2RVO6XDA55X5PVBKDUB

(注意只需要选择对应的文件夹就行,路径并不需要一摸一样,同时文件夹的名称同样可以随意修改)

image-20240415223328780

image-20240415223408833

四、resilio高级配置

resilio-sync运行时会占用大量的CPU和IO资源,因此进行限制和优化是完全有必要的。

1.建议关闭调试日志

调试日志会产生大量的日志,导致储存空间和高IO占用

2.高级用户偏好设置

详细说明详见Power user preferences – Sync (resilio.com)

名称建议值说明
log_size1 (MB)Amount of memory allocated for debug logs
disk_low_prioritytrueForces all disk read-write operations to low priority
worker_threads_count1Number of CPU threads to use during indexing. "0" means "use as many threads as possible on all cores available". 1 means one thread only, and so on. ***
show_service_disk_threadtrueShows or hides disk threads in overview graphs
rate_limit_local_peerstrueLimits LAN bandwidth
folder_rescan_interval1800(sec)Every folder_rescan_interval Sync rescans folder for changes it could miss with other means

3.定时启动关闭容器

0 2 * * * docker start resilio-sync
0 6 * * * docker stop resilio-sync

五、常见问题

1.resilio常见问题

详见resilio同步常见问题

2.jellyfin媒体库扫描常见问题

①媒体库扫描缓慢/UI界面卡顿

目前,Jellyfin 在进行大规模媒体库扫描时仍然存在性能问题,尤其是在首次扫描时。这一问题主要源于扫描过程中的数据库争用和资源管理不当,导致I/O等待时间过长,严重时甚至会影响到整个服务器的响应速度。

据最新的讨论显示,虽然开发团队已经在一些测试版中尝试了修复措施,但到目前为止,这些问题并未完全解决。用户反映即使在新版本(如10.8.9和10.8.13)中,当库容量很大时,扫描仍旧非常缓慢,有时需要几天时间才能完成,并且在扫描期间Jellyfin几乎无法使用。

开发团队已经意识到这一问题,并计划在未来的更新中继续对这些性能问题进行优化。但具体的修复时间和解决方案尚未明确公布。因此,如果在使用Jellyfin时遇到了相似的问题,建议关注其官方论坛和GitHub问题跟踪页面,以获取最新的更新和可能的解决方案。

对于这类问题,可以查看以下讨论和反馈页面:

Very slow initial Library scan · Issue #2600

Slow performances when scanning large amount of files inside a directory · Issue #6906

②实时监控无效

详见两种方法解决linux下NFS等网络挂载文件变动不触发inotify,导致jellyfin等无法实时监控

0

评论区