尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Jellyfin 照片管理实战指南:自建家庭照片服务器完整路径

Jellyfin 照片管理实战指南:自建家庭照片服务器完整路径 Jellyfin 照片管理实战指南自建家庭照片服务器完整路径【免费下载链接】jellyfinThe Free Software Media System - Server Backend API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin2019 年那张孩子的生日照可能正躺在手机存储的某个角落或者一块你早已不再翻动的存储卡里。Jellyfin 照片管理让自建家庭照片服务器成为一件可落地的事情把本地照片文件夹挂成媒体库自动读取每张图片里嵌的 EXIF 元数据再按拍摄日期、相机、位置做检索和筛选。这篇文章按照片怎么找、怎么分人看、怎么保平安的顺序讲清楚整个过程不需要编程背景。它是什么、解决什么问题Jellyfin 是一个开源的家庭媒体中心视频、音乐、照片是并存的媒体库类型照片对应的就是 Jellyfin.Data/Enums/CollectionType.cs 里的 photos 枚举值。它做的事情很直白照片文件始终留在你自己的硬盘上服务器负责扫描、整理并提供一个多设备共用的访问入口。两类场景比较适合它一是家庭照片积累到单机相册或共享文件夹已经不好翻找二是希望多设备之间共享照片又不想为云服务付订阅费、也不想把文件交给第三方托管。同时要心里有数自建服务意味着备份和设备迁移这两件事要你自己负责。功能拆解 按时间找照片Jellyfin 元数据提取是怎么工作的服务器会把图片文件里嵌的 EXIF 信息读出来写进可检索的字段。这一步由 Emby.Photos/PhotoProvider.cs 完成用 TagLib 解析图片文件解析范围是扩展名白名单.jpg、.jpeg、.png、.tiff、.cr2、.webp、.avif相机厂商CameraMake、相机型号CameraModel、像素宽高写回照片实体拍摄时间写入 DateCreated 与 ProductionYear这是后续按年份分组的依据光圈、快门、ISO、焦距、经纬度、海拔都会提取方向值Orientation用于纠正横竖拍的照片解析逻辑的核心就这么几行if (file is TagLib.Image.File image) { item.CameraMake image.ImageTag.Make; item.CameraModel image.ImageTag.Model; item.Width image.Properties.PhotoWidth; item.Height image.Properties.PhotoHeight; }意思是从图片文件里读出相机厂商、型号和像素尺寸赋给照片记录的对应字段。如果 EXIF 里缺尺寸代码还会调图像处理器补一次宽高保证网格排列不出问题。照片库怎么变成相册组织规则照片实体 MediaBrowser.Controller/Entities/Photo.cs 定义了整理逻辑每张照片会自动向上找到父级中的 PhotoAlbum照片专辑作为容器最新照片列表就挂在它下面磁盘上的文件夹层级就是相册结构目录按 2024/05 排浏览路径就是年→月宽高比按 Orientation 计算横拍竖拍在网格里都能正确对齐默认按拍摄时间排序所以按时间看天然就是按年月翻谁能看哪个相册Jellyfin 权限设置家庭服务要用得久权限控制是关键用户编辑界面可以把某个用户限制为只能访问勾选的媒体库家人账号之间互不可见每次 API 请求都经过 UserPermissionPolicy 机制统一校验Jellyfin.Api/Auth/UserPermissionPolicy/不是默认全放开Photo 实体的 CanDownload() 返回 true说明照片默认允许下载原图对外开放时要留意下载开关家长计划分时段限制访问同样适用于照片库出问题怎么办备份与恢复边界服务器内置整系统备份由 Jellyfin.Server.Implementations/FullSystemBackup/BackupService.cs 实现生成 zip 包包内 manifest.json 记录备份内容清单元数据库与服务器设置可以整体恢复注意边界备份覆盖的是数据库和配置照片原片文件不在其中因此原片的保护要靠你自己的磁盘策略RAID、多盘副本或外置盘轮转最快上手路径 安装并启动 Jellyfin 服务器可走官方渠道安装或拉源码自行构建git clone https://gitcode.com/GitHub_Trending/je/jellyfin创建媒体库控制台 → 媒体库 → 添加媒体库类型选照片指向照片文件夹根目录等待扫描完成元数据提取随库扫描任务执行进度可在控制台的任务列表里查看验证结果网页端按年/月浏览照片库确认相机型号、拍摄日期等字段有值邀请家人创建账号、限制其只能访问该库手机登录后即可浏览进阶玩法 ⚙️先定目录结构再扫描。目录结构就是相册结构入库前按年/月排好目录比事后整理便宜得多也最稳定预填评分与关键词。PhotoProvider 同时会读取 TagLib 的 Rating、Keywords、Comment写入 CommunityRating、Tags、Overview 字段照片入库后就能按评分和关键词筛选权限分级。管理员账号保留管理权与下载权家人账号只给指定库的访问权并关闭删除权限避免误操作直接伤及原片新手常见问题 ❓Q为什么界面上的拍摄日期和文件修改时间对不上时间字段取自图片文件内记录的拍摄时间而不是文件修改时间。发现时间不对时先检查文件本身的 EXIF修正后重新扫描即可。Q部分照片为什么没有提取出元数据PhotoProvider 只解析白名单内的扩展名.jpg/.jpeg/.png/.tiff/.cr2/.webp/.avifHEIC 不在其中不会有 EXIF 字段。新机型手机拍的照片建议先批量转成 jpg 或 webp 再入库。Q在界面里删了照片文件真的就没了Jellyfin 支持从界面直接删除媒体文件磁盘上的文件会一并移除。所以不要给家人账号开删除权限并且原片始终保留两份以上、存于不同磁盘这是唯一的兜底。到这里一个可用的自建家庭照片库就跑起来了。接下来可以往三个方向深入了解 MediaBrowser.Providers/ 下各类元数据提供器是如何注册扩展的、查看 MediaBrowser.LocalMetadata/ 里本地 NFO 的读写方式或研究 MediaBrowser.Controller/Drawing/ 的图片处理管线。把服务器如何看照片这一层搞透你对备份和迁移方案的判断也会更踏实。【免费下载链接】jellyfinThe Free Software Media System - Server Backend API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表