局域网影音解决方案——Jellyfin
先交代下背景:我本来是打算在家里搞个NAS的,但由于最近硬盘和内存都疯狂涨价,加上其实需求也不是那么迫切,就一直没有去折腾。
另外,家里其实已经有一个小主机(对,本blog就跑在上面呢)了,它带了1TB的SSD。所以偶尔有下载电影、在不同的屏幕(手机、pad、电脑、电视机等)看电影的需求,就想着把这个小主机再压榨一下吧。
于是有了以下的折腾:
下载的需求,其实很好搞定。但下载完之后,电影在小主机上,要在各种设备上播放,我一个想到的是用SMB在局域网里共享目录,这确实是一个方案。但这个方案有两个问题:
- 不是所有的(屏幕)设备都能找到支持SMB的播放器。
- 有些设备的解码能力太弱,遇到高码率的4K视频,就会卡住
所以,最好的方式就是再充分压榨这个小主机,因为它其实有个显卡(CPU:AMD Ryzen 3 7330U(集成 Radeon iGPU)),可以用于服务端转码。于是就给它装了个 Jellyfin。
Jellyfin是个开源的、完全自托管的影音解决方案,特别适合喜欢折腾的人。
安装过程我也偷懒了,没有去编译源码、调试环境,而是直接采用docker运行了,在我的Ubuntu下,大致如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 添加docker的key和源 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装 docker 和 compose 插件 sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin |
接着,建一个 Jellyfin 的空目录,在里面建一个 docker-compose.yml 内容如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin ports: - "8096:8096" volumes: - ./config:/config - ./cache:/cache - /home/shared:/media:ro devices: - /dev/dri:/dev/dri environment: - TZ=Asia/Singapore - LIBVA_DRIVER_NAME=radeonsi restart: unless-stopped |
其中,/home/shard 是存电影的目录。
然后,在此目录下,执行 docker compose up -d,不出意外的话,你的Jellyfin就应该能正常启动了。这时候就可以访问 http://192.168.你的.IP:8096 进入web管理界面进行进一步的设置了。
设置完管理员账号之类的信息以后,需要注意的一点,就是开启转码的硬件加速。做法是在 Dashboard → Playback → Transcoding 里
Hardware acceleration 选择 Video Acceleration API (VAAPI),这是AMD的芯片+Linux系统的选项,其他的硬件、软件的组合,可以参考官方文档。
VAAPI device 就选择 /dev/dri/renderD128,如果前面的 docker-compose.yml 没有写错,这里应该是可以选到的。
这么做了以后,在客户端有播放视频的时候,即使是播放的4K视频,CPU利用率也不应该太高。如果是CPU持续打满,就建议再看看硬件加速的配置。
配置好以后,家里的几个屏就都可以无缝切换看小主机里的电影了!因为每个屏至少都有浏览器可用,直接浏览器打开上述地址就可以了。当然,安装最佳实践来说的话,在有条件的情况下,最好使用官方客户端来看,而不是只用浏览器。因为用浏览器就会把所有的解码压力,都丢给服务端。尤其是你的端侧算力很强(比如Mac)的时候,用客户端可以直接拿原始视频到端侧解码!这样不仅服务器的压力更小,而且画质也是无损的。体验也会更好!
那么,如果大家还有比较全、质量又比较高的电影下载源(最好是magnet协议的)的话,也请留言告诉我!谢谢!
依云 在 2026年02月21日 00:07 说:【 】
PT啦。我现在正好有几个邀请,要的话尽快邮件联系。