欢迎光临
我们一直在努力

基于 Jellyfin 打造家庭影音中心 - 笔记

## 基于 Jellyfin 打造家庭影音中心 – 笔记

### 一、  项目概述

– **目标**:  利用开源免费的媒体服务器软件 **Jellyfin** 打造一个功能强大的家庭影音中心。
– **主要功能**:
–  **NAS 安装 Jellyfin 并实现硬件加速转码**:  在群晖 NAS 上安装 Jellyfin,并利用 GPU 实现硬件加速转码,提升视频播放流畅度。
–  **内网连接使用 Kodi 直传**:  在局域网内使用 Kodi 播放器直接连接 Jellyfin 服务器,访问影视资源。
–  **外网连接使用实时转码**:  通过外网访问 Jellyfin 服务器,并利用实时转码功能,确保手机等移动设备流畅播放视频。

### 二、  遇到的挑战与解决方案

#### 1.  **Docker 默认不加载 GPU 驱动**

– **问题**:
–  按照通用教程在 Docker 内安装 Jellyfin 后,发现无法实现硬件转码,播放视频时 CPU 占用率飙升至 100%。
– **原因**:
–  Docker 默认不会加载 GPU 驱动文件,导致 Jellyfin 无法调用 GPU 进行硬件加速转码。
– **解决方案**:
–  **命令行方式安装 Jellyfin**:
–  使用命令行方式启动 Docker 容器,并在启动参数中明确映射 GPU 驱动文件,例如 `–device=/dev/dri/renderD128`。
–  **图形界面安装**:
–  在 Docker 创建容器的图形界面中,在“环境”一栏尝试添加 `–device /dev/dri/renderD128` 参数,但未能成功加载驱动文件。

#### 2.  **安装过程详解**

1. **检查显卡驱动**:
–  使用命令 `ls /dev/dri` 检查群晖 NAS 是否识别到 GPU 驱动。
–  如果输出结果中包含 `renderD128`,则表示驱动已安装,可以进行下一步。

2. **创建文件目录**:
–  在 Docker 共享文件夹内新建 `jellyfin` 文件夹,并分配读写权限。
–  在 `jellyfin` 文件夹内创建两个子文件夹:
–  `cache`:  用于存放 Jellyfin 缓存文件。
–  `config`:  用于存放 Jellyfin 配置文件。

3. **安装 Jellyfin**:
–  使用以下命令安装 Jellyfin:
“`bash
sudo su
sudo docker pull jellyfin/jellyfin
sudo docker run -d –name jellyfin \
-v /volume1/docker/jellyfin/config:/config \
-v /volume1/docker/jellyfin/cache:/cache \
-v /volume1/video:/video \
-p 8096:8096 \
-p 8920:8920 \
–device=/dev/dri/renderD128 \
–restart unless-stopped \
jellyfin/jellyfin
“`
–  **参数说明**:
–  `-v`:  挂载主机目录到容器内。
–  `-p`:  映射端口号,8096 为 HTTP 端口,8920 为 HTTPS 端口。
–  `–device`:  映射 GPU 驱动文件到容器内。
–  `–restart unless-stopped`:  设置容器自动重启策略。

4. **检查驱动装载**:
–  使用 `docker ps` 获取 Jellyfin 容器的 ID。
–  使用 `docker exec -it <容器ID> /bin/bash` 进入容器环境。
–  在容器内使用 `ls /dev/dri` 检查 GPU 驱动是否已加载。

5. **配置 Jellyfin**:
–  在浏览器中访问 `Nas地址:8096` 进入 Jellyfin 配置页面。
–  在转码设置中,将硬件加速设置为 `VA API`,并勾选 `硬件编码`,以启用 GPU 硬件转码。
–  实际测试表明,1080P 视频实时转码时,CPU 占用率在 50% 以下。

### 三、  内网直传

– **工具**:  **Kodi** 播放器
– **步骤**:
1.  下载 Jellyfin 的 Kodi 插件 `repository.jellyfin.kodi.zip`。
2.  下载 Kodi 安装包并安装。
3.  打开 Kodi,进入 `设置` -> `系统` -> `插件`,允许“未知来源”。
4.  返回 `设置` -> `插件`,选择 `从 Zip 文件安装`,选择第一步下载的 zip 包。
5.  返回 `设置` -> `插件`,选择 `从库安装`,选择 `Jellyfin` -> `视频插件`。
6.  安装完成后,配置服务器地址为 `Nas地址:8096`,并登录即可。

### 四、  外网访问

– **前提**:  家庭网络拥有公网 IP。
– **步骤**:
1.  在路由器上设置 DDNS(动态域名解析)和端口映射。
2.  使用 `域名:映射端口号` 即可通过外网访问 Jellyfin 媒体库。
– **客户端**:
–  Jellyfin 提供了 Android 客户端,利用实时硬件转码功能,手机等移动设备可以流畅播放视频。

### 五、  对比与选择

| 应用 | 优点 | 缺点 |
|—|—|—|
| **VideoStation** |  集成于群晖 NAS,易于使用 |  刮削器功能较弱,手机播放偶尔会出现黑屏 |
| **Plex** |  功能强大,用户界面友好 |  高级功能需要付费订阅 |
| **Jellyfin** |  开源免费,实时转码功能强大 |  需要一定的技术知识进行配置 |

### 六、  总结

通过本文的详细介绍,您可以了解到如何利用 Jellyfin 搭建一个功能强大的家庭影音中心。  虽然过程中可能会遇到一些技术难题,但通过合理的解决方案,最终可以实现高效的视频播放体验。  Jellyfin 的开源免费特性以及强大的实时转码功能,使其成为家庭影音中心的理想选择。

https://skyblond.info/archives/1084.html

登录

找回密码

注册