2025年全新Linux_Jellyfin保姆级部署教程

bailin 发布于 2025-09-10 538 次阅读


⚠️本文最后更新于2025年9月12日,已超过 60天没有更新,可能文章内容已失效,请自行测试!

1.本期使用平台

在本期的文章中,演示系统为Ubuntu24.04,并且拥有访问外网能力,注意,这并非很重要但是建议支持

2.准备工作&安装

本文章虽然是保姆级教程,但是仅是针对于从部署到避坑环节,系统等安装还请自行准备

只要你愿意耐心看下去,你会发现部署非常的简单,配置也非常简单,轻松必坑,祝你成功:D

 

首先先确认Linux主机的IP地址,本文章以192.168.5.50为例,先通过SSH工具连接到终端,或者Linux主机内也行,怎么方便怎么来,这里我使用Xterminal,

1.执行


sudo apt update
sudo apt upgrade
sudo apt autoremove

用来更新环境

2.在Linux系统下执行


curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash

或者是

wget -O - https://repo.jellyfin.org/install-debuntu.sh | sudo bash

用来安装Jellyfin
这是Jellyfin官方提供的脚本,无需担心安全问题

在执行完后正常情况下会出现以下字段,按下回车键(Enter)确认继续安装

在经过一段的等待后你就能看到Jellyfin安装完成了

在这里有几个重要的信息,首先就是ip地址,也就是你的Linux主机地址,其次就是Jellyfin的访问端口,默认是开启的HTTP 8096的端口,你只需要在浏览器输入

http://ip:8096

就可以进入Jellyfin界面了,到这里Jellyfin的安装基本已经完成了,然后进行最基本的基础配置

注意!!!,一定要检查Linux主机防火墙是否放行8096端口,有的朋友可能使用了UFW,导致无法访问,如果无法访问先检查Jellyfin启动状态,其次再检查防火墙是否放行端口

检查Jellyfin状态:

systemctl status jellyfin.service

如果出现active (running),就说明Jellyfin正在正常运行

检查UFW防火墙(可选)

ufw status

如果里面没有8096请执行

ufw allow 8096

用来放行8096端口

如果提示

-bash: ufw: command not found

那么就说明你没有启用UFW防火墙,如果这种情况下还是无法访问,请确保设备在同一网段下,并且网络没有因为某些程序导致流量转发到其他IP上

 

3.基础设置

好了Bro,当你来到这里其实已经成功80%了,接下来就是最基础的设置了

在这里选择你的语言,首选的显示语言默认是English,拉开选框滑倒底选择汉语(简体字)就可以切换成简体中文,其他同理,这个没什么好说的,然后下一步

然后就是用户名和密码

这个也没啥好说的,输入上你想要的账号名和密码就行,能记住就行,然后继续下一步


然后在这里,我们暂时什么都不要添加,直接下一步就行

 

然后就是首选元数据,默认选择中文就行了,具体怎么设置因人而异,这里我们展示默认用简体中文

注意!国家地区不是China也不是Chinese,而是People's Republic of China,不要进去就找China,在这里不是China

然后下一步到这里,这里默认即可,不要取消勾选允许与此服务器进行远程连接,否则除了你的Linux主机外其他设备都无法进行访问!

 

4.媒体库配置

首先点击主页面右上角的个人,然后进入设置页面后,选择控制台

在进入控制台后最重要的设置有两个,首先就是媒体库,媒体库是用来获取你视频信息的位置,其次是转码,这个功能在某些程度上可以起到减少流量传输(对于远程播放效果更好哦),减少本地设备播放的压力,使用服务端自带的GPU进行转码,然后传输到你的本地播放器上

在这里,我们先来配置媒体库,也是最最最核心的功能,也是非常容易出问题的地方,在进入控制台页面后,左侧选择媒体库,然后点击添加媒体库

 

 

 

 

 

 

 

 

 

 

 

 

 

然后在这里,你可以选择你要添加的类型,这里我暂时以电影为例子继续,类型根据你需要的类型来设置,电视剧和番剧同理(按集数计算的),下面的媒体库设置,元数据依然默认就行(因人而异,自己看着来,这里默认中文),然后建议启用优先使用内置的标题而不是文件名和对额外内容优先使用内置的标题而不是文件名,这样可以在不启用自带的刮削的时候自定义刮削起到很大作用(后面详细说,先这么做)

然后最最最最重要的来了,对于无法访问国外网络条件的用户,一定一定切记要把元数据下载器里的选项全部取消勾选,否则就会出现无法识别影片的灾难性问题!这并非危言耸听,而是我踩坑踩出来的经验!

然后把元数据的存储方式改成NFO

最后设置完了,翻滚到上面添加文件夹!,但是不要着急,先打开Linux,创建一个你想要存放视频的文件夹,选择一个希望的位置,我这里以在/ 根目录进行演示

首先,在控制台CD到根目录

sudo cd /

在根目录下创建一个文件夹用来放电影,这里我命名为moviesA

sudo mkdir moviesA

注意啊,我这里的目录是一个总目录,什么意思呢,结构大概是这样的

MoviesA
├── 动漫电影
    └── 电影A文件夹
        └── 电影A.mp4
└── 动漫番剧
     └── A动漫番番剧
        └── A.mp4
└── XXXXXX

然后再你创建完对应的文件夹后就可以把电影丢进去了,我这里的结构是这样的

然后把最重要的文件夹给选择好,在这里我们只需要勾选耳机目录即可,不要精确到电影的文件夹,否则只会识别到那个电影的信息,其他的都不会被扫描到

然后保存继续即可,默认情况下会自动扫描媒体库(如果没有自动扫描的话自己去手动扫描一下),然后回到Jellyfin首页面,不出意外你看到的画面是下面这种的

没错,什么也没有,封面没有,里面信息也没有,这种情况下就是缺少元数据了,那么我们就需要用TMM了

 

5.Webdav磁盘映射&TMM刮削

那么来到想要影视正常获取信息的最重要的一步来了,在我们的windows下打开TMM(tinyMediaManager),如果没有的可以去官网TMM官网进行下载,在下载完以后直接一路安装然后来到主页面,左侧是三个选项,分别是电影、系列电影、TV节目,而我们这次演示的既然是电影,那么我们也就是用第一个电影选项,默认里面什么也没有,这时候我们打开左下角的设置,里面可以选择媒体库,唉 ?waitwaitwait,这里你就会发现,我的文件在Linux啊,怎么选择文件路径啊(恼),不要担心,这时候我们就要用到Webdav了,通过WebDav把Linux上的磁盘映射到Windwos上(使用RaiDrive),这样我们就可以直接选择了

我们回到Linux,首先先把WebDav服务创建好,首先,确保你的系统上安装了 Apache Web 服务器和必要的 WebDAV 模块。如果未安装请执行以下命令

sudo apt-get update
sudo apt install apache2 apache2-utils -y

然后继续配置Webdav你需要为 WebDAV 服务创建一个目录,并配置 Apache 启用 WebDAV。


sudo mkdir -p /var/www/webdav
sudo chown -R www-data:www-data /var/www/webdav

然后继续创建一个用于 WebDAV 访问的用户名和密码。这里我们使用 htpasswd 工具。

sudo htpasswd -c /etc/apache2/webdav.passwd webdav_user

然后系统会提示你输入新的密码,当你输入完以后,系统会提示你Adding password for user webdav_user,这就说明成功了,然后我们继续下一步配置 Apache 虚拟主机
创建一个新的虚拟主机配置文件来管理 WebDAV 服务,并设置自定义端口

sudo nano /etc/apache2/sites-available/webdav.conf

然后在里面添加以下内容:



    ServerAdmin webmaster@localhost
    DocumentRoot /moviesA  #注意!这里替换成你的目录

      #注意!这里替换成你的目录
        Options Indexes FollowSymLinks
        AllowOverride None
        DAV On
        AuthType Basic
        AuthName "WebDAV Auth"
        AuthUserFile /etc/apache2/.htpasswd

        # 确保允许访问
        Require all granted
    




    ServerAdmin webmaster@localhost
    DocumentRoot /moviesA         #注意!这里替换成你的目录

              #注意!这里替换成你的目录
        Options Indexes FollowSymLinks
        AllowOverride None
        DAV On
        AuthType Basic
        AuthName "WebDAV Auth"
        AuthUserFile /etc/apache2/.htpasswd

        # 确保允许访问
        Require all granted
    


然后按Ctrl+O回车保存,然后Ctrl+X退出编编辑模式,紧接着输入

nano /etc/apache2/ports.conf

进去后在里面添加上对500端口的监听,如下



GNU nano 7.2                      /etc/apache2/ports.conf                                
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80
Listen 500

确保你的Linux存放电影的目录的权限是可写可读的


sudo chown -R www-data:www-data /moviesA    #替换成你的目录
sudo chmod -R 755 /moviesA             #替换成你的目录

然后重启Apache2

sudo systemctl restart apache2

最后,启用你创建的虚拟主机配置和必要的 Apache 模块,然后重启 Apache 服务。


sudo a2enmod dav
sudo a2enmod dav_fs
sudo a2enmod proxy_http
sudo a2ensite webdav.conf
sudo apache2ctl configtest  # 检查配置语法
sudo systemctl restart apache2

在成功启动之后我们切回Windows,下载RaiDrive(这里建议使用老版本的,可以避免弹广告)然后安装完打开点击右上角的ADD添加(如下)

在设置完以后点击OK,你就可以连接到你的Linux磁盘了,然后你就会看到.....8EB的空间,很抽象对吧,但是问题不大就让他先这样吧,当务之急是打开TMM,回到TMM,添加对应的媒体库

注意!如果有代理的朋友一定要把代理给TMM挂上,不然很容易刮削失败!当然没有代理的朋友修改Hosts也行

在这里,把你的路径给添加进去,然后返回,主页点击左侧电影选项,然后点击上方更新媒体库,这样下方就会显示你的媒体了,然后再点击是上面的搜索&刮削,然后最后就是确认

最后就刮削完了,这个时候再回到Jellyfin,这个时候不用重新扫描媒体库了,直接刷新一下网页就会自动识别了,效果如下

 

               

然后我们紧接着回到Jellyfin,这个时候你就看到你到电影信息都全了

 

6.转码编码设置&美化

转码的设置也很简单,但是得取决于你的硬件究竟支不支持,如果不出意外的话,你能看到好几种硬件编码格式,先简单介绍一下

编码器名称 硬件支持 主要特点 适用场景
Nvidia NVENC Nvidia GeForce/Quadro/Tesla 显卡 画质高、性能稳定,对游戏帧率影响小。 游戏直播、专业视频制作
Intel QuickSync (QSV) Intel Core 系列 CPU(含集成显卡) 功耗低、转码速度快。 笔记本电脑、快速转码、家庭影音服务器
AMD AMF AMD Radeon 显卡和 Ryzen APU 性价比高,性能随着显卡更新不断提升。 游戏直播、日常视频编辑
Apple VideoToolbox 苹果 Mac/iPhone/iPad 硬件 苹果生态专用,利用芯片内专用硬件加速。 macOS/iOS 上的视频应用,如 Final Cut Pro
Rockchip MPP (RKMPP) 瑞芯微(Rockchip)芯片 移动设备专用,针对低功耗、嵌入式设备优化。 安卓盒子、物联网(IoT)设备
Video Acceleration API (VAAPI) Linux 系统通用接口 开源框架,为多种硬件(Intel, AMD, Nvidia)提供统一加速接口。 Linux 系统上的视频应用、媒体服务器
Video4Linux2 (V4L2) Linux 系统通用接口 Linux 视频设备驱动框架,主要处理视频捕获和输入。 Linux 上的视频捕捉、监控等应用

在这里,如果你实在不知道选什么那么就默认VAAPI就行,但是!硬件解码是给GPU使用的,如果你的Jellyfin服务端没有GPU或者GPU不支持编码的话千万不要开!否则会导致播放失败!!!!!!!!!

然后就是下面的启用硬件编码格式,请自己根据自己的GPU支持程度勾选,如果你实在不知道什么东西的话,默认勾选H264和HEVC就行了(老GPU也不要勾选HEVC可能不支持HEVC)

然后就是美化方面了,Jellyfin默认的主题挺单调的,所以我们把他美化一下,这里我选择第三方的CSS主题(需要访问外网的能力)这里建议把Jellyfin挂上代理,打开控制台,左侧下方的网络,在里面天上的你代理(没有的话不要填否则会造成异常错误)

然后打开左侧的常规,在自定义CSS里填上下方内容


@import url("https://cdn.jsdelivr.net/npm/jellyskin-sc@latest/dist/main.css");
@import url("https://cdn.jsdelivr.net/npm/jellyskin-sc@latest/dist/logo.css");

最后保存然后刷新网页一下就大功告成了

 

You need to add a widget, row, or prebuilt layout before you'll see anything here. :)
此作者没有提供个人介绍。
最后更新于 2025-09-12