开源的媒体服务器jellyfin
Jellyfin 是一个开源的媒体服务器,类似于 Plex 和 Emby,它允许你在本地或通过网络流式传输你的电影、音乐、电视剧等内容。与 Plex 和 Emby 不同的是,Jellyfin 完全免费且开源,没有付费墙或订阅服务。
接下来,我将详细介绍 Jellyfin,包括 Docker 安装、设置、功能和使用方法。
1. Jellyfin 主要功能
- 本地媒体库管理:支持电影、电视剧、音乐、图片等媒体类型,自动扫描、整理并下载元数据(如封面、简介等)。
- 多设备支持:支持通过浏览器、电视、手机、平板等设备访问和播放媒体内容。
- 流媒体播放:支持网络流媒体传输,允许远程访问,类似于 Netflix 风格的用户体验。
- 用户管理:支持多个用户,提供用户权限和访问控制。
- 插件支持:提供丰富的插件扩展功能,如字幕下载、元数据获取、直播电视等。
- 无广告、无订阅:Jellyfin 不会展示广告,也没有功能限制,所有功能都是免费使用的。
2. Jellyfin 安装方法(Docker 安装)
2.1 前提条件
安装 Docker Compose:
sudo apt install docker-compose
Docker 和 Docker Compose:确保你的系统上已经安装了 Docker 和 Docker Compose。
如果还没有安装,可以通过以下命令安装 Docker:
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
2.2 Docker 安装 Jellyfin
config
:用于存储 Jellyfin 的配置文件。cache
:用于缓存数据。media
:用于存放你的媒体文件,如电影、电视剧等。
启动 Jellyfin:
在包含 docker-compose.yml
的目录下,运行以下命令启动 Jellyfin:
docker-compose up -d
Jellyfin 启动后,可以通过浏览器访问 http://服务器IP:8096
进入 Jellyfin 的 Web 界面进行设置。
编写 Docker Compose 文件:创建 docker-compose.yml
文件,并添加以下内容:
version: "3"
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
volumes:
- /path/to/jellyfin/config:/config # Jellyfin 配置文件路径
- /path/to/jellyfin/cache:/cache # 缓存路径
- /path/to/jellyfin/media:/media # 媒体文件路径
ports:
- 8096:8096 # Jellyfin 默认 Web 访问端口
- 8920:8920 # HTTPS 端口
restart: unless-stopped
注意:请根据实际情况调整 /path/to/jellyfin/
为你的本地路径。
创建 Jellyfin 数据和配置目录:在服务器上创建 Jellyfin 用来存放数据和配置文件的文件夹。
mkdir -p /path/to/jellyfin/config /path/to/jellyfin/cache /path/to/jellyfin/media
2.3 Jellyfin Docker 运行参数
- 端口映射:默认情况下,Jellyfin 使用 8096 端口(HTTP)和 8920 端口(HTTPS)。可以通过修改
docker-compose.yml
来调整这些端口。 - 存储挂载:将 Jellyfin 的配置文件、缓存、媒体文件路径挂载到 Docker 容器内相应的路径上。
- 自动重启:通过
restart: unless-stopped
确保 Jellyfin 容器在重启系统或发生错误时自动重启。
3. Jellyfin 设置
- 初次访问和基本配置:
- 通过
http://服务器IP:8096
打开 Jellyfin 的 Web 界面。 - 按照引导设置:创建管理员账号、选择语言和时区等。
- 通过
- 添加媒体库:
- 在 Jellyfin 主界面中,点击“管理面板” -> “媒体库” -> “添加媒体库”。
- 选择媒体类型(如电影、电视剧、音乐),并选择刚才挂载的媒体文件夹路径
/path/to/jellyfin/media
。
- 设置远程访问:
- 如果你希望通过外网远程访问 Jellyfin,可以在路由器上设置端口转发,将 8096 或 8920 端口映射到外网 IP 上。
- 另外,你也可以通过反向代理(如 Nginx 或 Traefik)为 Jellyfin 配置 HTTPS 安全访问。
4. Jellyfin 常见操作
4.1 手动扫描媒体库
- 如果 Jellyfin 没有自动扫描到新添加的媒体文件,可以进入“管理面板” -> “媒体库” -> “手动扫描”来强制刷新媒体库。
4.2 设置用户权限
- 通过“管理面板” -> “用户”,你可以添加多个用户并设置访问权限。每个用户可以有不同的媒体访问权限、播放限制等。
4.3 安装插件
- Jellyfin 提供了很多有用的插件,可以在“管理面板” -> “插件”中安装,比如字幕下载插件、元数据获取插件等。
4.4 视频转码
- Jellyfin 具有内置的转码功能,能根据客户端设备和网络情况,自动调整视频流的分辨率和质量。如果服务器支持硬件加速转码(如 NVIDIA GPU),可以在设置中启用硬件加速。
5. 使用 Jellyfin 客户端
Jellyfin 支持多种客户端,允许你在各种设备上访问和播放内容:
- 浏览器:通过浏览器访问
http://服务器IP:8096
。 - 移动端应用:Jellyfin 提供 Android 和 iOS 客户端,可以直接从应用商店下载。
- 智能电视和盒子:Jellyfin 支持 Android TV 和 Fire TV,直接通过商店下载并安装客户端。
- Kodi:可以在 Kodi 上安装 Jellyfin 插件,实现与 Jellyfin 服务器的集成。
6. 常见问题
6.1 媒体无法扫描
- 检查 Jellyfin 是否有对媒体文件夹的读取权限,特别是在 Docker 中,确保媒体文件夹正确挂载,并且 Jellyfin 容器有权限访问这些文件。
6.2 播放卡顿
- 如果 Jellyfin 服务器的硬件性能不足,可能会导致转码时卡顿。建议启用硬件加速,或者优化转码设置。
6.3 外网访问问题
- 确保路由器的端口转发设置正确,将 Jellyfin 的端口(8096 或 8920)转发到外网 IP 上。你也可以使用动态域名(DDNS)服务配合 Jellyfin。
通过上述步骤,你可以在 Docker 上顺利安装并配置 Jellyfin,同时享受它强大的本地和远程媒体管理和播放功能。