玩转 Jellyfin:从零开始搭建个人影音库 – wiki基地


玩转 Jellyfin:从零开始搭建个人影音库

在数字时代,我们的影音收藏往往分散在各种设备、硬盘甚至不同的流媒体服务中。电影、电视剧、音乐、家庭照片和视频,它们像是一盘散沙,查找、播放、分享都变得异常繁琐。想象一下,如果能将这一切井然有序地汇集到一个地方,无论身处何处,使用任何设备,都能随时畅快享受属于自己的影音世界,那将是多么美妙的体验!

这就是个人影音库服务器的魅力所在,而 Jellyfin,正是构建这样一个强大而灵活的影音库的绝佳选择。与商业产品不同,Jellyfin 是完全免费且开源的,它不收取任何费用,没有功能限制,并且将您的数据完全掌握在您自己手中,保护了您的隐私。

本文将带您从零开始,一步一步搭建并配置您的 Jellyfin 个人影音库。即使您没有任何服务器搭建经验,也请放心,我们将尽量用通俗易懂的语言,详细解释每一个步骤和概念。

目录

  1. 什么是 Jellyfin?为什么选择它?

    • 传统影音管理的痛点
    • Jellyfin 的核心优势
    • 与 Plex、Emby 等其他媒体服务器的比较
  2. 搭建前的准备工作

    • 硬件需求:服务器的选择(电脑、NAS、树莓派等)
    • 存储规划:容量与速度
    • 网络环境:内网访问与潜在的外网访问需求
    • 媒体文件组织:文件结构与命名规范的重要性
  3. Jellyfin 服务器安装

    • 选择安装平台:Windows、Linux (Ubuntu/Debian)、Docker 等
    • 详细安装步骤(以 Windows 和 Docker 为例)
      • Windows 安装
      • Docker 安装 (推荐)
      • 其他平台简介
  4. 首次运行与基本配置

    • 访问 Web UI
    • 初始设置向导:语言、用户、媒体库设置
    • 理解关键配置选项
  5. 添加与管理媒体库

    • 创建不同类型的媒体库:电影、电视剧、音乐、照片等
    • 指定媒体文件夹路径
    • 理解元数据扫描器与抓取器
    • 强制刷新与手动识别
  6. 优化媒体体验:元数据与封面

    • 元数据的重要性:海报、简介、演员、评分等
    • 如何确保元数据准确无误
    • 解决元数据错误或缺失的问题
    • 自定义海报与背景图
  7. 客户端连接与播放

    • Jellyfin 客户端生态:Web、手机 App、智能电视、盒子等
    • 如何在不同设备上连接到您的 Jellyfin 服务器
    • 理解串流与转码 (Transcoding)
    • 优化播放体验:选择合适的播放器与设置
  8. 进阶功能探索

    • 用户管理与权限设置
    • 硬件加速转码 (Hardware Acceleration)
    • 插件系统
    • 远程访问的考量 (端口转发、反向代理、安全性)
  9. 常见问题与故障排除

    • 媒体库扫描问题 (文件权限、命名)
    • 播放卡顿或错误 (转码、网络、性能)
    • 无法访问服务器 (防火墙、IP 地址)
  10. 总结与展望

    • 回顾搭建过程
    • Jellyfin 带来的便利与乐趣
    • 持续维护与探索

1. 什么是 Jellyfin?为什么选择它?

传统影音管理的痛点

在过去,我们可能通过下载文件、刻录光盘、购买实体媒体来收藏影音内容。然而,随着数字化的普及,媒体文件越来越多,分散在电脑、移动硬盘、NAS 等不同的存储介质上。查找一部想看的电影,可能需要翻遍好几个硬盘;想在电视上看,得插上U盘或通过DLNA,但格式兼容性又是个问题;想和家人朋友分享,更是麻烦。流媒体服务固然方便,但内容库由平台控制,且需要付费,一旦停止订阅,就无法访问。

Jellyfin 的核心优势

Jellyfin 正是为了解决这些痛点而诞生的。它是一款免费、开源的媒体服务器软件。安装在您的电脑、NAS 或其他服务器设备上后,Jellyfin 会扫描您指定的媒体文件夹,自动识别电影、电视剧、音乐等内容,从互联网上抓取丰富的元数据(如海报、简介、演员信息、评分等),将您的分散文件组织成一个美观、易于搜索和管理的影音库。

其核心优势包括:

  • 完全免费与开源: 没有隐藏费用,没有高级功能限制,社区驱动开发,透明且可靠。
  • 跨平台支持: 服务器端可安装在 Windows、Linux、macOS、Docker 等多种系统上。客户端覆盖 Web 浏览器、Android/iOS 手机和平板、Android TV、Apple TV、Roku、Fire TV 等几乎所有主流设备。
  • 统一管理: 将您所有的电影、电视剧、音乐、照片、甚至电子书汇集一处,通过统一的界面进行管理和访问。
  • 智能识别与元数据: 强大的识别能力和丰富的元数据让您的媒体库井井有条,浏览体验大幅提升。
  • 随时随地访问: 无论在家中的哪个角落,使用任何设备,都能通过局域网访问;通过简单的网络配置,甚至可以实现外网远程访问(需注意安全性)。
  • 无限制用户: 可以创建多个用户账号,为家人朋友提供独立的访问权限和播放记录。
  • 转码能力: 服务器端可以根据客户端设备的能力和网络带宽,实时或预先将媒体文件转码成兼容的格式和分辨率,确保流畅播放。
  • 强大的可定制性: 丰富的插件系统可以扩展功能,满足个性化需求。

与 Plex、Emby 等其他媒体服务器的比较

Plex 和 Emby 是另外两个非常流行的媒体服务器软件,它们在功能和用户界面上与 Jellyfin 有很多相似之处。然而,Jellyfin 的核心理念在于其完全免费和开源。

  • Plex: 功能强大,客户端广泛,有免费版和付费的 Plex Pass。许多高级功能(如硬件转码、手机同步、多用户限制等)需要 Plex Pass 订阅。
  • Emby: 同样是成熟的媒体服务器,功能与 Plex 相似,也有免费和付费(Premiere)版本。免费版功能受限。
  • Jellyfin: 诞生于 Emby 闭源后的一个分支,保留了 Emby 许多优秀的特性,但坚持完全开源,所有功能均免费提供。这意味着您可以免费使用硬件转码、无限制用户等高级功能。

对于追求免费、开源、数据自主可控的用户来说,Jellyfin 是一个非常具有吸引力的选择。

2. 搭建前的准备工作

在开始安装 Jellyfin 之前,我们需要做一些准备和规划。

硬件需求:服务器的选择

Jellyfin 服务器需要一台设备来运行。这台设备将负责存储媒体文件、运行 Jellyfin 软件、扫描和管理媒体库、以及在客户端请求时提供文件流甚至进行转码。

  • 入门级 (仅内网、无转码或少量低码率转码):

    • 一台闲置的旧电脑 (i3 或更低,4GB RAM+)
    • 入门级 NAS (如 Synology/QNCLite 系列)
    • 性能更强的开发板 (如树莓派 4B 或更高型号)
    • 这些设备适合播放原始格式文件或仅需少量 CPU 转码的场景。
  • 中等级别 (多用户、部分转码、1080p 内容为主):

    • 一台主流配置的家用电脑 (i5/Ryzen 5 或更高,8GB RAM+)
    • 性能较强的 NAS (如 Synology DS系列、QNAP TS系列)
    • Intel NUC 或其他小型电脑 (特别是带有支持硬件加速转码的 CPU)
    • 这类设备能够处理多个并发流和更复杂的转码任务。
  • 高性能级别 (多用户、大量 4K 高码率转码):

    • 配备性能强大的 CPU (如 i7/Ryzen 7 或更高) 和/或支持硬件加速转码的独立显卡 (NVIDIA GTX/RTX, 部分 Intel 集显) 的电脑。
    • 企业级 NAS 或自建服务器。
    • 对于高码率 4K HEVC 内容的转码,硬件加速几乎是必需的,尤其是同时服务多个用户时。Intel 集显 (QuickSync) 和 NVIDIA 显卡 (NVENC) 是常见的选择。

推荐: 如果您预算有限且主要在家中使用,一台闲置的旧电脑足以入门。如果您希望更稳定、省电且具备一定的扩展性,带有Docker支持的NAS或小型电脑是更好的选择。如果对转码性能要求高,请关注带有支持硬件加速的CPU或显卡的设备。

存储规划:容量与速度

  • 容量: 媒体文件非常占用空间。一部高清电影可能几 GB,一部 4K HDR 电影可能几十 GB。电视剧一季可能几十到上百 GB。根据您预计收藏的媒体数量,规划足够的硬盘容量。建议从几 TB 起步。
  • 速度: 对于存放媒体文件本身,传统机械硬盘 (HDD) 的速度通常足够了。但对于 Jellyfin 软件的安装目录和元数据缓存,使用固态硬盘 (SSD) 可以显著提升启动速度、扫描速度和界面响应速度。如果预算允许,可以考虑将系统和 Jellyfin 安装在 SSD 上,媒体文件存放在 HDD 上。

网络环境:内网访问与潜在的外网访问需求

  • 内网访问: 确保您的 Jellyfin 服务器与您将要观看的设备(电脑、手机、电视等)处于同一个局域网内。现代路由器通常能够很好地处理内网流量。对于高清甚至 4K 内容,建议服务器通过有线网络连接到路由器,以保证带宽稳定。
  • 外网访问 (远程访问): 如果您希望在外出时也能访问家里的影音库,就需要进行外网访问的配置。这通常涉及:
    • 公网 IP: 您的宽带需要有公网 IP 地址。
    • 端口转发: 在路由器上将外网的某个端口映射到 Jellyfin 服务器的内网 IP 和端口 (默认为 8096)。
    • 动态 DNS (DDNS): 如果您的公网 IP 不是固定的,需要使用 DDNS 服务来绑定一个固定的域名。
    • 安全性: 直接端口转发存在安全风险。更安全的做法是使用反向代理 (如 Nginx 或 Caddy) 并配置 SSL 证书,加密传输并增加一层安全防护。外网访问配置相对复杂,建议在熟悉内网搭建后再尝试。新手建议先专注于内网搭建。

媒体文件组织:文件结构与命名规范的重要性

这是影响 Jellyfin 能否正确识别您的媒体文件并抓取元数据的关键步骤。混乱的文件名或目录结构会导致识别错误、元数据缺失或显示不全。遵循 Jellyfin 推荐的命名规范,可以大大提高识别的准确率。

推荐的媒体文件组织结构和命名规范:

  • 根目录: 为不同类型的媒体创建独立的根目录,例如:
    /媒体库/
    ├── 电影/
    ├── 电视剧/
    ├── 音乐/
    ├── 照片/
    └── 其他/
  • 电影:
    • 结构:/媒体库/电影/电影名称 (年份)/电影名称 (年份).扩展名
    • 示例:/媒体库/电影/The Shawshank Redemption (1994)/The Shawshank Redemption (1994).mkv
    • 如果电影有多个版本 (如导演剪辑版、蓝光版),可以放在同一目录下,文件名稍作区分:The Shawshank Redemption (1994) - Directors Cut.mkv
  • 电视剧:
    • 结构:/媒体库/电视剧/剧集名称/第 N 季/剧集名称 - SNNENN - 剧集标题.扩展名
    • NN 代表季数 (两位数),ENN 代表集数 (两位数或三位数)。
    • 示例:
      /媒体库/电视剧/Game of Thrones/
      ├── Season 01/
      │ ├── Game of Thrones - S01E01 - Winter Is Coming.mkv
      │ ├── Game of Thrones - S01E02 - The Kingsroad.mkv
      │ └── ...
      └── Season 02/
      ├── Game of Thrones - S02E01 - The North Remembers.mkv
      └── ...
    • 也可以使用中文季目录名,如 第一季,但英文 Season XXSXX 更推荐,兼容性更好。
  • 音乐:
    • 结构:/媒体库/音乐/艺术家/专辑/曲目编号 - 曲目名称.扩展名
    • 示例:/媒体库/音乐/The Beatles/Abbey Road/01 - Come Together.flac
  • 照片:
    • 结构:/媒体库/照片/事件名称/照片.jpg 或按日期组织 /媒体库/照片/YYYY-MM-DD/照片.jpg

请务必花时间整理您的媒体文件,采用清晰的命名规范,这将为后续的 Jellyfin 搭建省去很多麻烦。可以使用一些批量重命名工具来提高效率。

3. Jellyfin 服务器安装

Jellyfin 可以在多种操作系统上安装。我们将重点介绍 Windows 和 Docker 安装,因为它们分别代表了桌面用户和更高级用户的常用方式。

选择安装平台

  • Windows: 最简单的方式,适合新手在现有 Windows 电脑上尝试。
  • Linux: 常用于在服务器或 NAS 上部署,更稳定高效。可以通过包管理器或 Docker 安装。
  • Docker: 强烈推荐 的方式。Docker 容器隔离性好,部署简单,升级方便,不污染宿主机系统,便于迁移。适合对 Linux 或容器有基本了解的用户。
  • NAS 套件: 部分 NAS 品牌提供官方或第三方的 Jellyfin 安装包,安装过程可能更简单。

详细安装步骤

访问 Jellyfin 官方下载页面:https://jellyfin.org/downloads/,根据您的平台下载对应的安装包或镜像。

Windows 安装
  1. 下载安装包: 在下载页面找到 Windows 部分,下载最新的稳定版 Jellyfin_xxx.exe 安装程序。
  2. 运行安装程序: 双击下载的 .exe 文件。
  3. 选择安装选项:
    • 选择安装路径(默认为 C:\Program Files\Jellyfin\Server)。
    • 重要: 勾选 “Install as a service” (安装为服务)。这样 Jellyfin 会在 Windows 启动时自动运行,即使您没有登录用户。这对于服务器应用非常方便。
    • 根据需要选择是否创建桌面快捷方式。
  4. 完成安装: 点击 “Install” 开始安装。等待安装完成。
  5. 启动 Jellyfin: 如果您选择安装为服务,安装完成后服务会自动启动。您可以在任务管理器 -> 服务 中找到 “JellyfinServer” 服务并管理它。如果没有安装为服务,可以在开始菜单中找到 Jellyfin 并手动运行。

安装完成后,Jellyfin 服务器就在后台运行了。您可以通过 Web 浏览器进行访问和配置。

Docker 安装 (推荐)

Docker 提供了一种干净、可移植的方式来运行 Jellyfin。您需要在您的系统上先安装 Docker 和 Docker Compose (推荐使用 Compose 管理服务)。Docker 可以在 Linux、Windows (需要 WSL2) 和 macOS 上运行。

  1. 安装 Docker 和 Docker Compose: 访问 Docker 官方网站安装适合您操作系统的 Docker Engine 和 Docker Compose。
  2. 创建数据目录: 在宿主机上创建用于存放 Jellyfin 配置、缓存和媒体文件的目录。例如:
    bash
    mkdir -p /path/to/jellyfin/config
    mkdir -p /path/to/jellyfin/cache
    mkdir -p /path/to/jellyfin/media # 这是存放你电影、电视剧等媒体文件的目录,替换成实际路径

    • /path/to/jellyfin/config:存放 Jellyfin 的配置、数据库等重要数据。
    • /path/to/jellyfin/cache:存放缓存文件,可以提升性能。
    • /path/to/jellyfin/media这是关键! 将您的媒体文件存放在这个目录或其子目录下。Docker 将把这个宿主机目录映射到容器内部。
  3. 创建 docker-compose.yml 文件: 在您选择的目录下创建一个名为 docker-compose.yml 的文件,并粘贴以下内容:
    “`yaml
    version: ‘3.5’
    services:
    jellyfin:
    image: jellyfin/jellyfin # 使用官方提供的 Docker 镜像
    container_name: jellyfin # 容器名称
    restart: unless-stopped # 容器停止后自动重启,除非手动停止

    ports:
      # Web UI 端口,宿主机端口:容器端口
      - 8096:8096
      # 其他端口,如果需要 UPnP/DLNA 等功能
      # - 1900:1900/udp
      # - 7359:7359/udp
    
    volumes:
      # 宿主机路径:容器内部路径
      - /path/to/jellyfin/config:/config # 映射配置目录
      - /path/to/jellyfin/cache:/cache   # 映射缓存目录
      - /path/to/your/actual/media/folder:/media # 映射媒体文件目录 (!!! 替换为你的实际路径 !!!)
    
    environment:
      # PUID 和 PGID 用于确保容器内的 Jellyfin 进程有权限访问宿主机上的媒体文件
      # 在 Linux 上,可以使用 id 命令查看你的用户 ID 和组 ID
      # 在 Windows 上使用 Docker Desktop,通常不需要特别设置权限,除非遇到问题
      # PUID: 1000 # 替换为你的用户ID (例如在Linux上使用 id -u 命令查看)
      # PGID: 1000 # 替换为你的组ID (例如在Linux上使用 id -g 命令查看)
      TZ: Asia/Shanghai # 设置时区,方便日志和时间显示
    
    # 如果需要硬件加速转码,需要添加 devices 或 deploy 部分,根据你的硬件类型配置
    # 示例:Intel 集显 (Linux)
    # devices:
    #   - /dev/dri:/dev/dri
    
    # 示例:NVIDIA 显卡 (需要安装 nvidia-container-toolkit)
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - capabilities: [gpu]
    

    * **重要:** 将 `/path/to/jellyfin/config`、`/path/to/jellyfin/cache` 和 `/path/to/your/actual/media/folder` 替换为你实际创建或存放媒体文件的宿主机路径!
    * **权限 (PUID/PGID):** 在 Linux 上,确保运行 Jellyfin 的用户或组对媒体文件目录有读写权限。设置 PUID 和 PGID 是确保容器内进程权限的一种方式。使用 `id -u username` 和 `id -g username` 查看你的用户和组 ID。在 Windows Docker Desktop 上通常不是必须的。
    * **硬件加速:** 如果需要硬件加速,需要根据你的显卡类型和操作系统配置 `devices` 或 `deploy` 部分,这部分配置比较复杂,可以查阅 Jellyfin 官方 Docker 文档或相关教程。新手可以先不配置硬件加速,等一切跑通后再研究。
    4. **启动容器:** 打开终端或命令提示符,进入存放 `docker-compose.yml` 文件的目录,运行以下命令:
    bash
    docker-compose up -d
    ``-d` 参数表示在后台运行容器。Docker 会下载 Jellyfin 镜像并创建/启动容器。

其他平台简介
  • Linux 包管理器: Jellyfin 提供适用于 Debian/Ubuntu 和 Fedora/CentOS/openSUSE 等发行版的软件仓库。可以通过 aptdnf/yum 命令安装。例如,在 Ubuntu 上需要先添加 Jellyfin 仓库,然后使用 sudo apt update && sudo apt install jellyfin 安装。
  • NAS 套件: 对于群晖 (Synology)、威联通 (QNAP) 等 NAS,可以在其应用商店或第三方源中搜索 “Jellyfin” 并安装。安装过程通常比较简单,按照向导提示操作即可。

无论哪种安装方式,安装完成后 Jellyfin 服务器应该已经在您的设备上运行。

4. 首次运行与基本配置

安装完成后,Jellyfin 会在服务器的特定端口上启动一个 Web 服务。默认端口是 8096

  1. 访问 Web UI: 打开您的电脑或同局域网内设备的 Web 浏览器。在地址栏输入 Jellyfin 服务器的 IP 地址和端口号。

    • 如果您在服务器本机访问,通常是 http://localhost:8096http://127.0.0.1:8096
    • 如果您在局域网内其他设备访问,需要输入服务器的内网 IP 地址,例如 http://192.168.1.100:8096 (请将 192.168.1.100 替换为您服务器的实际 IP 地址)。
    • 提示: 如何查找服务器的内网 IP?在 Windows 上打开命令提示符输入 ipconfig,在 Linux/macOS 上打开终端输入 ifconfigip addr show
  2. 初始设置向导: 第一次访问时,您会看到 Jellyfin 的欢迎界面和设置向导。

    • 欢迎页面: 选择您偏好的显示语言。
    • 创建管理员用户: 这是最重要的步骤。创建一个用户名和密码,用于管理您的 Jellyfin 服务器。请务必设置一个安全的密码。
    • 添加媒体库: 向导会提示您添加您的第一个媒体库。我们稍后会在专门的章节详细介绍,这里可以先跳过或添加一个测试目录。
    • 首选元数据语言和国家: 选择您希望媒体信息(如电影标题、简介)显示的语言和地区。这会影响 Jellyfin 从互联网抓取元数据的来源和优先级。
    • 配置远程访问: 如果您暂时不需要外网访问,建议不要勾选相关选项。外网访问配置建议独立进行,确保安全。
    • 完成: 点击完成,您就进入 Jellyfin 的 Web 管理界面了。
  3. 理解关键配置选项:

    • 控制台 (Dashboard): 这是服务器的管理中心,显示服务器状态、活动会话、任务等信息。
    • 用户: 管理所有 Jellyfin 用户账号,包括管理员和普通用户。
    • 媒体库: 管理您的所有媒体库,添加、编辑、删除媒体库。
    • 转码: 配置转码相关的设置,包括转码目录、硬件加速等。
    • 播放: 配置播放器的相关设置。
    • 网络: 配置网络端口、远程访问等。
    • 高级: 包含日志、备份、插件等更高级的设置。

现在,您的 Jellyfin 服务器已经基本运行起来,但还没有任何媒体内容。下一步是告诉 Jellyfin 您的媒体文件在哪里。

5. 添加与管理媒体库

媒体库是 Jellyfin 组织内容的基本单位。通常我们会为不同类型的媒体创建独立的媒体库。

  1. 进入媒体库设置: 在 Jellyfin Web UI 中,点击左侧导航栏的 “管理” (或 “控制台”),然后选择 “媒体库”。
  2. 添加媒体库: 点击页面顶部的 “+ 添加媒体库”。
  3. 配置媒体库:

    • 内容类型: 选择此媒体库包含的内容类型。常见的有 “电影”、”电视剧”、”音乐”、”照片”。选择正确的内容类型,Jellyfin 才能启用相应的元数据抓取器和显示方式。
    • 显示名称: 给您的媒体库起一个名字,例如 “我的电影收藏”、”家庭剧集”。
    • 文件夹: 重要步骤! 点击 “+” 添加一个文件夹路径。在这里输入或浏览到您的服务器上存放该类型媒体文件的根目录或子目录。例如,如果您在步骤 2.2 规划的结构是 /媒体库/电影/,并且您在 Docker 容器中将 /path/to/your/actual/media/folder 映射到了容器的 /media,并且您的电影文件放在 /path/to/your/actual/media/folder/电影 下,那么在这里填写的路径应该是 Docker 容器内的路径,即 /media/电影。如果您是 Windows 安装,直接填写 Windows 的文件路径,如 D:\媒体库\电影
      • 提示: 一个媒体库可以包含多个文件夹路径。
      • 权限: 确保运行 Jellyfin 的用户或 Docker 容器有权限访问您指定的文件夹。这是新手常见的问题之一。
    • 首选元数据抓取器: Jellyfin 使用不同的抓取器来获取元数据。对于电影和电视剧,TheMovieDb 和 TheTVDb 是最常用的。通常保持默认即可。您可以调整抓取器的顺序。
    • 元数据设置: 您可以配置是否下载预告片、评分、额外艺术图、演员信息等。可以保持默认设置,以后再根据需要调整。
    • 保存: 配置完成后,点击底部的 “确定”。
  4. 扫描媒体库: 添加媒体库后,Jellyfin 会自动开始扫描您指定的文件夹,查找媒体文件并尝试识别。您可以在控制台的 “任务” 页面看到扫描任务的进度。

  5. 查看媒体库: 扫描完成后,回到 Jellyfin 主界面,您应该能看到您新添加的媒体库,并且其中已经填充了识别出的媒体内容和元数据。

6. 优化媒体体验:元数据与封面

良好的元数据和漂亮的封面是构建一个令人愉悦的影音库体验的关键。Jellyfin 的自动识别功能非常强大,但有时也会出错。

元数据的重要性

元数据是媒体文件的附加信息,它包括:

  • 海报和背景图: 让您的媒体库看起来美观直观。
  • 电影/剧集标题、简介、年份、评分: 帮助您了解内容。
  • 演员、导演、类型、标签: 方便您进行搜索和分类。
  • 音轨、字幕信息: 了解文件的技术细节。

准确的元数据让您更容易找到想看的内容,发现相似的电影或剧集,并提供更丰富的浏览体验。

如何确保元数据准确无误

  1. 遵循命名规范: 这是最有效的方式。如前所述,按照 /电影名称 (年份)/电影名称 (年份).扩展名/剧集名称/Season XX/剧集名称 - SXXEXX - 剧集标题.扩展名 的格式命名文件和文件夹,可以大大提高 Jellyfin 的识别率。
  2. 检查媒体库设置: 确保您的媒体库类型选择正确,并且元数据抓取器配置正确且顺序合理。
  3. 手动刷新元数据: 如果某个电影或剧集信息不正确或缺失,您可以手动刷新。在 Web UI 中找到该媒体项,点击详情页,然后点击右上角的三个点菜单,选择 “刷新元数据”。您可以选择 “替换现有数据” 或 “只更新缺失的数据”。

解决元数据错误或缺失的问题

如果自动刷新无效或识别错误,您需要手动介入:

  1. 手动识别 (Identify): 在媒体详情页,点击右上角的三个点菜单,选择 “识别”。
    • Jellyfin 会根据文件名提供一些可能的匹配结果。选择正确的一个。
    • 如果列表中没有正确的匹配,您可以手动输入标题和年份进行搜索。
    • 选择匹配项后,Jellyfin 会重新下载该媒体的元数据。
  2. 检查文件名和目录结构: 如果 Jellyfin 根本无法识别,很可能是文件名或目录结构不符合规范。修改文件/文件夹名称,然后回到媒体库设置,对整个媒体库或单个媒体文件夹执行 “扫描媒体库文件” 或 “完全扫描”。
  3. 检查文件权限: 确保 Jellyfin 进程有权限读取媒体文件。如果权限不足,即使命名正确也无法扫描到文件。
  4. 检查元数据抓取器: 有时特定的电影或剧集在某个抓取器上信息不全,可以尝试调整抓取器顺序或在媒体库设置中启用更多的抓取器。

自定义海报与背景图

如果您对自动下载的封面不满意,或者有一些非标准内容的媒体(如家庭视频)没有元数据,您可以手动添加图片。

  1. 将图片文件放在媒体文件同目录下:
    • 电影:将海报命名为 poster.jpgfolder.jpg,背景图命名为 backdrop.jpgfanart.jpg,放在电影文件同目录下。
    • 剧集:将海报命名为 poster.jpg 放在剧集根目录下,将季的海报放在季目录下的 poster.jpg,将背景图命名为 backdrop.jpg 放在剧集根目录下。
    • 示例:/媒体库/电影/我的家庭视频 (2023)/poster.jpg
  2. 在 Jellyfin UI 中上传: 在媒体详情页,点击海报或背景图区域,通常会有一个上传按钮,您可以手动上传您准备好的图片文件。

7. 客户端连接与播放

服务器搭建好、媒体库添加并整理好后,最重要的就是如何通过各种设备播放您的媒体内容了。

Jellyfin 客户端生态

Jellyfin 提供了广泛的客户端支持:

  • Web 浏览器: 通过浏览器访问 http://服务器IP:8096 是最通用的方式,无需安装额外软件。
  • 移动 App: 适用于 Android (Google Play Store 或 F-Droid) 和 iOS (App Store)。方便在手机和平板上观看。
  • 电视 App/盒子客户端: 适用于 Android TV、Apple TV、Fire TV、Roku 等智能电视平台和电视盒子。提供在大屏幕上观看的体验。
  • 游戏机: 部分游戏机可能也有第三方客户端或通过 Web 浏览器访问。
  • 桌面客户端: 适用于 Windows、macOS、Linux 的桌面应用,提供更流畅的本地播放体验。
  • DLNA/UPnP: Jellyfin 支持 DLNA/UPnP 协议,部分智能电视或播放器可以直接扫描到 Jellyfin 服务器并通过其自身的界面播放。

如何在不同设备上连接到您的 Jellyfin 服务器

连接方式通常很简单:

  1. 安装客户端 App: 在您的设备应用商店中搜索 “Jellyfin” 并安装。
  2. 打开客户端: 首次运行时,客户端会要求您输入服务器地址。
  3. 输入服务器地址:
    • 内网: 输入服务器的内网 IP 地址和端口号,例如 192.168.1.100:8096
    • 外网 (如果您配置了): 输入您的 DDNS 域名或公网 IP (如果直接暴露) 和端口号,或者反向代理的域名。
  4. 登录: 使用您在初始设置时创建的管理员账号或您为该设备创建的普通用户账号登录。
  5. 开始观看: 登录成功后,您就能看到您的媒体库,选择内容并进行播放。

理解串流与转码 (Transcoding)

当您通过客户端播放媒体时,Jellyfin 服务器会将媒体文件发送给客户端。这个过程称为串流 (Streaming)

  • 直通 (Direct Play): 如果客户端设备支持媒体文件的编码格式、分辨率、码率等,并且网络带宽足够,Jellyfin 会直接将原始文件发送给客户端,客户端自己负责解码播放。这是效率最高、画质损失最小的方式。
  • 直通流 (Direct Stream): 如果客户端支持媒体的视频或音频编码,但可能不支持容器格式(如 MKV 转 MP4),或者只需要调整字幕,Jellyfin 服务器会重新封装文件,但不重新编码视频或音频流。这比直通稍慢,但比转码快得多。
  • 转码 (Transcoding): 如果客户端不支持媒体文件的格式,或者网络带宽不足以传输原始码率的内容,Jellyfin 服务器会实时将媒体文件进行编码转换。例如,将高码率 4K HEVC 转换为低码率 1080p H.264,以适应老设备或慢速网络。转码需要消耗服务器大量的 CPU 资源,如果没有硬件加速,可能会导致播放卡顿,尤其是在播放高分辨率高码率内容时。

您可以在播放时查看播放详情,了解当前是直通还是转码。

优化播放体验

  • 检查网络: 确保服务器和客户端之间的网络连接稳定且带宽足够。对于高清内容,建议使用有线连接或优质 Wi-Fi。
  • 检查服务器性能: 如果播放卡顿,查看服务器的 CPU 使用率。如果 CPU 占用很高且正在进行转码,考虑升级硬件或启用硬件加速。
  • 调整客户端播放设置: 在客户端 App 中,通常可以设置首选的播放质量。选择较低的质量可以减少带宽需求和服务器转码压力。
  • 选择合适的客户端播放器: 部分客户端 App 允许选择外部播放器(如 VLC 或 MX Player),这些播放器通常有更好的格式兼容性,可能有助于实现直通播放。
  • 启用硬件加速: 如果您的服务器硬件支持,并且您在 Jellyfin 中正确配置了硬件加速,可以显著提升转码性能,解决播放卡顿问题。

8. 进阶功能探索

当您的基础影音库稳定运行后,可以开始探索 Jellyfin 的一些进阶功能。

用户管理与权限设置

您可以为家庭成员或朋友创建独立的 Jellyfin 用户账号。

  1. 创建用户: 在 Web UI 的 “管理” -> “用户” 页面,点击 “+” 创建新用户。
  2. 配置用户权限:
    • 设置用户名和密码。
    • 可以限制用户访问特定的媒体库。例如,为孩子创建一个账号,只允许访问儿童动画片库。
    • 可以限制用户的串流带宽,防止单个用户占用过多网络资源。
    • 可以设置用户的语言偏好等。

这样每个用户都有自己的播放记录、观看进度和个性化设置,同时管理员可以控制他们能访问的内容。

硬件加速转码 (Hardware Acceleration)

正如之前提到的,软件转码非常消耗 CPU 资源。如果您的服务器有支持硬件加速的集成显卡或独立显卡,强烈建议启用。

  • 支持的硬件:
    • Intel Quick Sync (集成显卡,第六代酷睿及更新型号支持较好)
    • NVIDIA NVENC (独立显卡,GeForce GTX 900 系列及更新型号)
    • AMD VCE (集成显卡和独立显卡,支持情况相对复杂)
  • 配置步骤:
    1. 确保您的服务器系统安装了相应的显卡驱动和必要的库文件 (如 Linux 上的 VA-API 或 NVENC 驱动)。
    2. 在 Jellyfin Web UI 中,进入 “管理” -> “转码” -> “硬件加速”。
    3. 选择您的硬件加速类型 (如 VAAPI for Intel, NVENC for NVIDIA)。
    4. 根据提示进行额外配置 (如指定 /dev/dri 设备文件路径,或者在 Docker 中正确挂载设备/配置 deploy)。
    5. 保存设置并重启 Jellyfin 服务器。
    6. 播放时查看播放详情,确认是否启用了硬件加速。

正确配置硬件加速可以极大地提升转码效率,让您在高分辨率、高码率内容上也能获得流畅的播放体验。

插件系统

Jellyfin 有一个活跃的插件社区,提供了各种额外的功能。

  • 安装插件: 在 Web UI 中,进入 “管理” -> “插件”。您可以浏览官方插件仓库并直接安装。
  • 常见插件类型:
    • 元数据抓取器: 添加额外的元数据来源。
    • 字幕插件: 自动下载字幕。
    • 播放器插件: 集成第三方播放器。
    • 其他功能: 比如备份工具、主题等。

远程访问的考量 (端口转发、反向代理、安全性)

如果您想从家外访问您的 Jellyfin 服务器,需要进行远程访问配置。

  • 端口转发: 最直接的方式是在路由器设置中,将外部某个端口(如 8096 或其他自定义端口)转发到您的 Jellyfin 服务器的内网 IP 地址和 8096 端口。注意: 直接暴露 Jellyfin 端口到公网存在安全风险,尤其是当您的密码不够安全时。
  • 动态 DNS (DDNS): 如果您没有固定公网 IP,需要使用 DDNS 服务将一个域名指向您的动态 IP。
  • 反向代理 (推荐): 使用 Nginx、Caddy 或 Apache 等反向代理服务器作为前端,它们接收外部请求,然后转发给内网的 Jellyfin。反向代理的好处在于:
    • 安全性: 可以只暴露 80/443 端口,隐藏 Jellyfin 实际端口。
    • SSL 加密: 可以轻松配置 SSL 证书,实现 HTTPS 安全连接,保护您的登录信息和数据传输不被窃听。
    • 负载均衡/缓存: 更高级的用途。
    • 配置反向代理需要一定的网络和服务器知识,新手请谨慎尝试,或者寻求更详细的教程。
  • 安全性: 无论采用何种远程访问方式,请务必设置强密码,并考虑开启双因素认证(如果 Jellyfin 或您的反向代理支持)。定期关注 Jellyfin 的安全更新。

再次强调:新手建议先完全掌握内网访问和配置,确保稳定可靠后,再谨慎进行外网访问的配置,并务必注意安全性。

9. 常见问题与故障排除

在搭建过程中可能会遇到一些问题,以下是一些常见情况和解决方法:

  • 问题:媒体库扫描后没有内容显示。
    • 原因: 文件路径错误、文件权限不足、文件命名不规范。
    • 解决方法: 检查媒体库设置中的文件夹路径是否正确指向了您的媒体文件位置;确保运行 Jellyfin 的用户/容器对媒体文件有读写权限;检查文件名是否符合 Jellyfin 的命名规范。尝试对媒体库执行 “完全扫描”。
  • 问题:媒体内容识别错误或元数据缺失。
    • 原因: 文件命名与数据库不匹配、元数据抓取器问题、网络问题导致无法访问元数据网站。
    • 解决方法: 检查并修改文件名使其符合规范;在 Web UI 中手动识别该媒体;检查服务器的网络连接;调整或重新启用元数据抓取器。
  • 问题:播放卡顿、加载缓慢或提示转码错误。
    • 原因: 服务器性能不足、网络带宽不足、未启用或配置错误的硬件加速、媒体文件本身问题。
    • 解决方法: 检查服务器 CPU 使用率(是否跑满);检查服务器和客户端之间的网络带宽;如果需要转码,检查硬件加速是否启用并配置正确;尝试用其他播放器或软件播放原始文件,看文件本身是否有问题。降低客户端播放质量。
  • 问题:无法通过浏览器访问 Jellyfin Web UI。
    • 原因: Jellyfin 服务未运行、防火墙阻止、IP 地址或端口输入错误。
    • 解决方法: 检查 Jellyfin 服务是否正在运行(Windows 服务、Docker 容器、Linux 进程);检查服务器防火墙是否允许 8096 端口通过;确认输入的服务器 IP 地址和端口号是否正确。
  • 问题:Docker 容器启动失败或无法访问媒体文件。
    • 原因: 卷映射路径错误、宿主机文件权限问题 (Linux)。
    • 解决方法: 仔细检查 docker-compose.yml 文件中的 volumes 路径映射是否正确;在 Linux 上,使用 ls -l 查看媒体文件目录的权限,使用 id 命令查看运行 Docker 的用户的 PUID/PGID,并确保容器内的 PUID/PGID 与之匹配或对该目录有读写权限。

遇到问题时,查看 Jellyfin 的服务器日志 (Web UI “管理” -> “日志”) 是非常有帮助的,日志中会记录详细的错误信息。您也可以在 Jellyfin 的官方论坛或社区寻求帮助,提供您的日志和配置信息。

10. 总结与展望

恭喜您!通过以上步骤,您应该已经成功搭建了自己的 Jellyfin 个人影音库。您不再需要为散落各处的影音文件烦恼,也不必受制于商业流媒体平台的内容库。您的电影、电视剧、音乐、照片现在都集中在一个地方,拥有精美的封面和详细的元数据,随时可以通过各种设备便捷地访问和播放。

Jellyfin 带来的不仅仅是一个播放器,而是一个属于您自己的媒体中心。您可以自由地管理您的收藏,与家人朋友分享,并且完全掌控您的数据。

搭建过程可能需要一些耐心和尝试,特别是对于初学者。但一旦搭建成功,后续的维护和使用将变得非常简单和愉快。

这仅仅是 Jellyfin 功能的冰山一角。随着您的使用深入,您可以进一步探索其强大的用户权限管理、硬件加速转码、丰富的插件生态以及更复杂的网络配置。

持续维护您的影音库,享受自由、便捷的数字媒体生活吧!祝您玩转 Jellyfin,打造出最符合您需求的个人影音天堂!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部