用Dim搭建轻量级媒体服务器
什么是 Dim ?
Dim
是一个自托管媒体管理器。通过最少的设置,Dim
将组织和美化您的媒体收藏,让您随时随地访问和播放它们。
从功能上来说,Dim
像简版的 Jellyfin
,设置也更简单。
准备
和 Jellyfin
一样,Dim
也支持硬件转码。关于硬件转码老苏查了一下,有限定条件:
- 首先、群晖的系统版本需要
DS918+
,反正DS3617xs
不支持,但跟白裙、黑裙没啥关系; - 其次、要有
DRM( Direct Rendering Manager)
,这是Linux
内核的一个子系统,负责与显卡的GPU
连接; - 最后、一般来说主板上都有集显,理论上越厉害的
CPU
带的集显也越牛,但是有些可能需要打补丁,还有些打了补丁可能也没用;
如何快速知道自己的群晖是否支持呢?最简单的办法还是 SSH
客户端登录到群晖,通过下面的命令来检测
1 | # 查看系统是否支持显卡硬件转码 |
DS3617xs
显然是不支持
而另一台 DS918+
则是支持
安装
在 docker
文件夹中,创建一个新文件夹,将其命名为 dim
,然后在其中建两个子目录 config
和 media
其实 Dim
是个单容器的项目,但是官方没有在 Docker Hub
上托管镜像,这就有点尴尬了,所以老苏决定还是用 portainer
来安装。
官方提供了 docker-compose.yml
文件,原版在这里:https://github.com/Dusk-Labs/dim/blob/master/docker-compose-template.yml
老苏的
docker
目录在volume2
上,注意根据自己的修改
支持硬件转码的机器上用下面👇这段脚本
1 | version: "3.8" |
不支持硬件转码的机器上用上面那段会报错: no such file or directory Encountered errors while bringing up the project
,所以要去掉 devices
的部分👇
1 | version: "3.8" |
在 poratiner
左侧菜单找到 Stack
–> Add stack
将上面的内容贴入 Web editor
,别忘了填上 Name
Name
注意不要用大写字母和特殊字符
点最下面的 Deploy the stack
,然后等待完成
下载镜像的速度有点慢,说实话挺煎熬的,老苏是先用命令行
docker pull ghcr.io/dusk-labs/dim:dev
下载之后再执行docker-compose.yml
,虽然不会加速,但是好歹能看到下载的进度,所以感觉要好很多😂
不出意外的话,在 Containers
中应该可以看到容器 dim
正在 running
在群晖 Docker
管理器中也是一样的
运行
在浏览器中输入 http://群晖IP:8585
就能看到主界面
注册管理员
第一次需要注册账号,注册的第一个用户就是管理员
密码不能少于
8
位
登录之后就是主界面,开始并没有内容
点中间橘黄色的 Add library
开始扫描加载
扫描完成后的 Libraries
界面
- 从日志看匹配影片是通过
tmdb
,但匹配度非常低,而且即便你已经通过刮削器处理过依然不能识别,可能还需要手动匹配;- 如果不将
themoviedb.org
加入科学上网,在手动匹配的时候会没有反应;
Dashboard
界面还是非常炫酷的
注册新用户
除了管理员之外,如果再注册用户,需要提供 Invite token
管理员登录后,Preferences
–> Invites
–> Generate a new token
新生成的 Token
,状态是 Available
,可以用于注册用户,当 Token
注册了用户之后,状态会变成注册的用户名
小结
Dim
作为轻量级媒体服务器,基本的播放都是没问题的,不仅可以选择播放质量
还可以设置硬件转码,当然首先要设备支持才行
老苏并没有验证硬件转码,不过
VA-API
应该没问题,是否支持QSV
就不确定了,虽然有驱动,但毕竟Dim
不像Jellyfin
有专门的设置项
Dim
从功能上不如 Jellyfin
多,但设置比 Jellyfin
简单,没有一堆让你晕晕乎乎的专业名词,这是 Dim
的优点。
要说缺点,就是在影片的识别方面还亟待提高。总的来说还是值得持续关注。
附录
如果镜像实在下不动,可以到老苏的天翼云共享
https://cloud.189.cn/web/share?code=eaUbuqaaYzyq(访问码:mf6h)
中下载 ghcr-io-dusk-labs-dim(dev).syno.tar
文件,然后将其上传到群晖的一个目录中
打开群晖 docker
管理器,映像
–> 新增
–> 从文件添加
选择上传的文件
然后在 SSH
客户端中执行下面👇的命令
1 | docker run -d \ |
参考文档
Dusk-Labs/dim: Dim, a media manager fueled by dark forces.
地址:https://github.com/Dusk-Labs/dim