Jellyfin 是一款开源的媒体服务器应用,作为 Emby 项目的分支,Jellyfin 保持完全开源,并且不需要付费就能支持硬件转码。相比其他如 Plex 和 Emby 等需要专业版才能开启硬件加速的媒体服务器,Jellyfin 可以通过社区提供的驱动和配置,轻松实现硬件加速功能,尤其是在外网使用时可以通过硬件转码提升流媒体播放的性能。
安装与部署 Jellyfin
本次安装与配置使用 Docker Compose 来部署 Jellyfin,选择的是由社区大佬 nyanmisaka 提供的优化版 Jellyfin 镜像,支持核显硬件解码和预编译好的 ffmpeg 驱动,能够更好地在老旧硬件上实现硬件加速。
Docker Compose 配置
以下是 Docker Compose 的配置文件内容,请根据您的 NAS 环境修改映射目录。
services:
jellyfin:
image: nyanmisaka/jellyfin:240401-amd64
container_name: jellyfin
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- ./cache:/cache
- /vol1/1000:/media
ports:
- 8096:8096
- 8920:8920
devices:
- /dev/dri:/dev/dri
extra_hosts:
- "api.themoviedb.org:128.121.146.235"
network_mode: bridge
关键配置说明
- 镜像选择:
nyanmisaka/jellyfin:240401-amd64
是社区大佬提供的镜像,内置了支持核显硬解的驱动和预编译的 ffmpeg,适合硬件加速需求。 - 设备映射:
/dev/dri:/dev/dri
是映射的设备路径,用于硬件解码。 - 媒体文件路径:将 NAS 中的媒体库路径
/vol1/1000
映射到容器的/media
路径。 - 端口设置:Jellyfin 默认使用 8096 端口进行管理和播放,您也可以根据需要调整。
部署步骤
- 使用 SSH 登录到 NAS,进入 Docker Compose 目录,并创建上面的
docker-compose.yml
文件。 - 在终端运行以下命令启动 Jellyfin 服务:
docker-compose up -d
- 访问
http://<NAS_IP>:8096
,进入 Jellyfin 的初始化设置页面。按照向导完成用户设置和媒体库添加。
配置硬件加速
在 Jellyfin 的控制台中,您可以为媒体流启用硬件加速,以减少 CPU 负载并提高流媒体播放效率。以下步骤将帮助您启用 Intel 核显硬件加速:
- 登录 Jellyfin 管理页面。
- 点击右上角的“管理” -> “控制台”,然后在“播放”选项中找到“硬件加速”设置。
- 根据您设备的配置选择相应的硬件加速接口。如果是 Intel 核显,选择 VAAPI 或 QSV,如果是 NVIDIA 显卡,则选择 NVIDIA。
核显转码测试
您可以通过运行以下命令查看 Jellyfin 容器中 ffmpeg 的支持情况:
/usr/lib/jellyfin-ffmpeg/ffmpeg -encoders
这将列出 ffmpeg 支持的所有编码器。使用 vainfo
可以查看核显的转码支持情况。例如,如果您的系统只支持 h.264
和 mpeg2
,那么这些格式的视频将可以通过硬件加速进行转码。
测试与性能监控
- 测试播放 4K 杜比视界的演示视频,查看硬件加速是否正常工作。可以从 Demolandia 下载测试视频。
- 在 Jellyfin 管理页面,您可以监控 CPU 和内存的使用情况。如果硬件加速配置正确,CPU 占用应大幅下降,核显会承担更多的解码任务。
如果遇到视频播放卡顿或错误信息,请检查硬件加速接口和视频格式是否匹配,并根据提示调整配置。
对比 Emby 的硬件加速
在同样的条件下测试了 Emby 的硬件加速,Emby 的硬解配置更加自动化,不需要手动选择解码器接口,但性能差异不大。对于普通用户来说,Jellyfin 的硬件加速配置可能稍微复杂,但它的开源特性和免费支持硬件加速的优势显得更加友好。
总结
Jellyfin 是一款开源的强大媒体服务器应用,特别适合那些希望在 NAS 或其他服务器上搭建自己的媒体流媒体系统的用户。通过 Docker Compose 和社区提供的优化镜像,您可以轻松启用硬件加速,大大提升远程视频播放的体验。同时,它相比于 Plex 和 Emby,提供了更加灵活且免费的硬件转码支持。
如果您的 NAS 配置较低,建议避免处理过高码率的 4K 视频,或者考虑使用 10 代以后的 Intel 核显以获得更好的硬件解码性能。
相关链接与资源:
- Jellyfin 官方网站:https://www.jellyfin.org
- Docker Compose 文件下载链接:https://gitee.com/hswz5525/dockercompose