news 2026/8/24 15:20:36

用Jellyfin搭家庭照片服务器:3步建好私有云相册

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用Jellyfin搭家庭照片服务器:3步建好私有云相册

用Jellyfin搭家庭照片服务器:3步建好私有云相册

【免费下载链接】jellyfinThe Free Software Media System - Server Backend & API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin

周末把手机里4000张照片往NAS上拷,拷完了才发现:2019年露营那张合影,翻了三遍相册都没找着。照片数量一上来,"存进去了"和"找得到"之间隔着一条鸿沟。Jellyfin的照片管理正好补这个洞:它把散落的照片收进私有云相册,顺手读取出每张片子藏着的EXIF元数据,让查找从翻目录变成按条件筛选。

3步跑起来

  1. 安装Jellyfin服务器。NAS有官方套件直接装;空机器最快的一条路是Docker:
docker run -d -p 8096:8096 --name jellyfin -v /path/to/jf-data:/config -v /path/to/photos:/photos jellyfin/jellyfin
  1. 打开浏览器访问 http://localhost:8096,按向导建管理员账户,顺手把/photos指向刚才挂载的照片文件夹。

  2. 进 控制台 → 媒体库 → 添加媒体库,库类型选"照片",指向照片目录,等首次扫描完成。

效果立竿见影:照片按拍摄年份自动排好队,每张都带着日期和相机信息。

这些场景它都接得住

  • 如果你刚换了手机,想把旧机几年的照片搬进NAS:直接拷进照片库目录,扫描完就能在浏览器里按年份回看,不经过任何第三方云。
  • 如果家里好几台设备都想看:手机装Jellyfin客户端、电视装对应的播放应用,登录同一账号,全家共用一个入口,各自有各自的收藏和观看记录。
  • 如果照片文件夹里混着视频:库类型多选"照片+电影",按文件类型自动各归其位。

EXIF信息从哪来:PhotoProvider在做什么

照片库建好后的第一个"魔法",是EXIF元数据提取。每张照片里都藏着相机写入的"出厂信息"——光圈、快门、ISO、拍摄时间、经纬度,甚至你随手打的星星评分。服务端模块Emby.Photos/PhotoProvider.cs负责把这些数据从文件里读出来、挂到照片条目上:

item.CameraMake = image.ImageTag.Make; item.CameraModel = image.ImageTag.Model; item.Aperture = (double)apertureEntry.Value.Numerator / apertureEntry.Value.Denominator; item.DateCreated = dateTaken.Value.ToUniversalTime();

就8行左右的事:相机、型号、光圈、拍摄时间,直接从TagLib解析出的标签里赋值给照片条目。为什么这样设计?因为EXIF是相机直写的客观数据,比文件名可靠得多——它让照片变成可按年份排序、按相机筛选、按评分排序的结构化数据,而不是躺在目录里的一堆IMG_20190823.jpg。另外注意它只处理.jpg.png.cr2等受支持的格式,解析失败也只记日志、不中断整个扫描;宽高读不到时还会兜底用图片处理器补一次。

动手试试

试一试:用手机的图库应用给几张老照片打星、加关键词,然后触发一次库扫描。Jellyfin会把评分和标签同步进来,之后"按评分排序"就是你的精选照片墙。

再试一试:在媒体库视图里切到"按年份"分组。2019年那张露营合影,终于有了固定住址。

一句话收尾

Jellyfin的照片管理,就是把你散在几台设备上的回忆搬回NAS,再用EXIF元数据替你记住"哪张是哪年、谁拍的、拍得怎么样"。下一步:给家人开一个只读账户,把这个家庭相册共享出去。

【免费下载链接】jellyfinThe Free Software Media System - Server Backend & API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 15:19:23

【计算机毕业设计单片机案例】集成 JQ8400 语音播报的病床无线呼叫硬件系统设计 基于 STM32/51 单片机的医患双向呼叫信号采集系统设计(020204)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/24 15:19:00

在树莓派上配置yolo

文章目录概要整体架构流程一、环境更新二、虚拟环境搭建技术细节小结概要 本文详细介绍了如何在树莓派(Raspberry Pi)上部署 YOLO 目标检测模型。由于树莓派基于 ARM 架构,直接运行原生 PyTorch 模型效率较低,因此需要将 YOLO 模…

作者头像 李华
网站建设 2026/8/24 15:18:54

AI应用开发中的敏感信息泄漏:日志为何把手机号原样写进去

一个订单场景的智能体,用户在对话里留下了手机号和收货地址,随后又补充了身份证号用于实名核验。智能体顺利完成了下单和核验,只是这串信息被原样写进了运行日志,又跟着日志流转到了监控和排障系统里。等开发人员回看日志排查一次…

作者头像 李华
网站建设 2026/8/24 15:15:19

通俗搞懂 K8s CRD 和 CR:是什么、有什么用、怎么用

很多刚接触 K8s 的朋友,对 CRD、CR 这两个概念很迷糊,觉得是高阶复杂知识点。其实它俩核心逻辑特别简单,是 K8s 自定义扩展能力的核心。今天用大白话讲清楚,零基础也能看懂。 一、先搞懂:CRD 和 CR 到底是什么&#xf…

作者头像 李华
网站建设 2026/8/24 15:08:09

AI编程术语大全(二):Vibe Coding -AI 编程核心术语与实战指南

摘要:本文是一份 Vibe Coding 概念词典,系统梳理了 AI 编程中的核心术语与实践工具。内容涵盖智能体执行模式(Ralph Wiggum Loop、ReAct、深度思考、自适应思考)、工具与协议(工具调用、MCP、Agent Skills、Hooks、斜杠…

作者头像 李华