惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
小众软件
小众软件
爱范儿
爱范儿
Y
Y Combinator Blog
博客园 - Franky
美团技术团队
博客园 - 【当耐特】
The Cloudflare Blog
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
IT之家
IT之家
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
WordPress大学
WordPress大学
V
Visual Studio Blog
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
有赞技术团队
有赞技术团队

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
NAS 日常 第一篇 - 群晖 Docker 安装 Jellyfin - 少数派
2025-01-07 · via 少数派

前言废话

这几年陆陆续续入手了QNAP、群晖的两台入门级NAS机器,同时也玩起来了 All in On(Bomb)的小主机,真的是一遍实战一遍踩坑,作为非CS专业,很多东西就边查边学。

现在就打算总结下小经验,写点小文章做个记录也顺带骗一点赞吧,有问题欢迎大家一起讨论。

安装说明

  • 环境:家用300M移动宽带网络,有独立(动态)IP与域名服务
  • 硬件:群晖D220+ | CPU-J4125(4核)| 内存-10GB(DDR4)
  • 系统:DSM 7.2.1

安装步骤

一、基础准备

1.1 创建共享文件夹

使用上需要新建两个共享文件夹,一个用于存储 Jellyfin(Docker) 相关的配置&信息文件,一个用与存储媒体视频文件(供 Jellyfin 读取使用)

PS:纯个人喜好了,其实想弄几个弄几个

  • 本文用例:群晖>控制面板>共享文件夹 | 新增
    • Dockers 存放 Docker 文件
    • ENT_Medias 存放影音文件

1.2 权限配置

给对应的共享文件夹赋予 Everyone 的所有权限

  • 本文用例:群晖>File Station>属性(右键)>权限 | 新增
    • 用户组 Everyone
    • 权限:勾选所有(完全控制)并保存

二、Docker 版 Jellyfin 安装

2.1 下载镜像

本次使用群晖系统 Container Manager 进行操作(从套件中心安装即可)

  • Container Manager >注册表 | 搜索 jellyfin
  • 下载 nyanmisaka/jellyfin 镜像(大佬提供的国内特供版本)

2.2 配置&启动

配置启动在 Container Manager 有两种方法,分别是

  1. 通过 docker-compose.yml ( Container Manager >项目>新增)
  2. 通过 Container Manager 傻瓜式配置

PS:两者差别不大,但是想学习 docker 的朋友建议了解下 compose.yml(yaml)或者 docker run

compose.yml 放到 附录2 略作说明 

这里先讲通过 Container Manager 傻瓜式配置的步骤

2.2.1 运行配置

  1. Container Manager >映像(选中 nyanmisaka/jellyfin)点击【运行】
  1. 创建容器弹窗,开始配置
    • 常规设置
      • 容器名称:nyanmisaka/jellyfin
      • 勾选:启用自动重新启动
  • 下一步,配置服务端口号、文件夹映射关系
    • 80968096
    • /Dockers/jellyfin/config -> /config
    • /Dockers/jellyfin/cache -> /cache
    • /ENT_Medias -> /media
左侧为群晖NAS的配置参数,右侧为 Jellyfin 服务的映射配置参数
  • 往下拉,记得勾选:使用高权限执行容器(确保能调用核显硬解码)
高权限才能调用核显
  • 点击下一步,直到完成启动(启动 Jellyfin 服务成功)

三、配置 Jellyfin

3.1 访问服务

Jellyfin 启动之后,默认的访问端口为 8096,网页通过输入局域网 ip:8096 即可访问

作者配置的外网访问,服务反向代理的端口为 18096

3.2 登录+配置媒体库

设置账号并登录,媒体库的配置可以进入服务后再去配置

登陆后通过 左上角>控制台>媒体库 来添加修改媒体库配置
/media 就是之前配置的 Jellyfin 服务的媒体目录,映射的是 ENT_Medias 文件夹目录

3.3 硬件解码配置

进入到控制台后配置最后的硬件解码

  • Jellyfin >控制台>播放>转码 | 选择硬件加速选项并勾选启用的项目
优先选用 QSV ,其他选项勾选说明参见 附录1

3.4 视频播放

片源为:《拯救大兵瑞恩》4K HEVC HDR | 文件大小:30.2GB

  • 串流播放 VS 转码播放
网页端直接原片串流播放
右下角 设置>质量 改换其他分辨率和码率即使用转码

好了!大功告成,其他就是下一篇片源素材的下载+自动化整理(刮削)的教程了


附录1 - 硬解配置

请在 https://www.cpu-monkey.com/zh-cn/ 网站查看所使用的 CPU 编解码的支持情况,并在 Jellyfin 中进行相应设置

  • 以 J4125 为例,AV1 是不支持编解码的,所以硬件解码就不能勾选
UHD 600 还是老了啊 | 破群晖给的老硬件
  • 对于 Intel 核显,建议优先使用 QSV 而非 VAAPI,QSV 通常能提供更高的吞吐量

参考资料

附录2 - compose.yaml

通过 Container Manager >项目 进行创建

  • yaml 配置文件,下一篇的 Docker 其他服务会使用这种模式
version: '3.5'
services:
  jellyfin:
    image: nyanmisaka/jellyfin:latest
    container_name: jellyfin
    volumes:
     - /Dockers/jellyfin/config:/config
     - /Dockers/jellyfin/cache:/cache
     - /ENT_Medias:/media
    environment:
     - PUID=0
     - PGID=0
     - TZ=Aisa/Shanghai
    devices:
     - /dev/dri/renderD128:/dev/dri/renderD128 
    ports:
     - 8096:8096
     - 8920:8920
    network_mode: bridge
    restart: unless-stopped