当前位置: 首页 > news >正文

Ubuntu 24.04安装Jellyfin媒体服务器图解教程

使用 Jellyfin 等开源软件创建媒体服务器肯定能帮助您管理和跨各种设备传输媒体集合。当你有一个封闭社区时,这尤其有用。

什么是 Jellyfin 媒体服务器?

Jellyfin 媒体服务器,顾名思义,是一款开源软件,允许用户使用本地网络或互联网与他人共享其媒体收藏。此外,与其他专有媒体服务器不同,Jellyfin 完全免费且自托管,可完全控制您的媒体库,无需订阅费或隐私问题。因此,对于那些想要建立自己的家庭媒体服务器的人来说,这将是一个值得考虑的选择。

前提条件

  • 要按照本教程安装 Jellyfin,我们需要Ubuntu 24.04,但您也可以使用其他版本,例如 Ubuntu 22.04 或 20.04。
  • 除此之外,还有一个具有管理权限的用户帐户来安装和配置包。
  • 为了下载必要的软件包和更新,我们还需要稳定且活跃的互联网连接。

如果需要测试本项目,没有Ubuntu 24.04服务器的话,可以考虑雨云服务器,1元即可试用,需要绑定微信,支持多种Linux发行版。地址:www.ecscoupon.com/rainyun

步骤 1:更新 Ubuntu 24.04 并安装依赖项

在Ubuntu 24.04 服务器上,首先运行系统更新命令来安装最新的可用安全和其他软件包更新。

sudo apt update && sudo apt upgrade

安装常见依赖项:

sudo apt install -y ffmpeg curl apt-transport-https ca-certificates gnupg2

第 2 步:添加 JellyFin 存储库

虽然 JellyFin 是一个开源软件包,但它并不是我们日常任务中需要的东西,因此无法使用默认的 Ubuntu 系统存储库直接安装。因此,让我们按照给定的命令添加 JellyFin 的官方存储库:

添加 GPG 密钥:

curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/jellyfin.gpg

添加存储库:

echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

运行系统更新以刷新 APT 存储库缓存:

sudo apt update

步骤 3:在 Ubuntu 24.04 上安装 Jellyfin

现在,我们可以像任何其他常见包一样,使用 Ubuntu 24.04 上的 APT 包管理器安装 Jellyfin 媒体服务器。执行给定的命令,您将完成安装过程。

sudo apt install jellyfin

步骤 4:启动 JellyFin 服务并将其标记为已启用

安装完成后,让我们在 Ubuntu 24.04 上启动 Jellyfin Media 服务器服务并启用它,以便它可以随系统启动自动启动。

sudo systemctl enable jellyfin

sudo systemctl start jellyfin

你还可以使用以下命令检查一切是否正常运行:

sudo systemctl status jellyfin --no-pager -l

步骤 5:在防火墙中允许媒体服务器端口

Jellyfin 媒体服务器使用的默认端口是 8096,如果您使用某些防火墙(例如 UFW)或使用云托管运行 Ubuntu 24.04,请在其云服务防火墙中打开此端口号。

如果您正在使用活动的 UFW 防火墙,请使用给定的命令:

sudo ufw allow 8096

步骤 6:访问 Jellyfin 媒体服务器 GUI

一切就绪后,我们的开源媒体服务器已启动并运行,因此是时候使用浏览器访问 Jellyfin Web 界面了。如果您使用命令行服务器进行设置,则可以使用其他可用的本地计算机访问安装了 Jellyfin 的远程服务器。

在浏览器中,输入安装了 Jellyfin 的服务器的IP 地址 以及端口号8096。如果您在 GUI 中使用通过浏览器访问的安装了 Jellyfin 的服务器,那么我们可以使用 localhost 或 127.0.0.1。

例子

127.0.0.1:8096

或者

ip-address:8096

注意:将 IP 地址替换为你自己的服务器地址。

这样将看到欢迎屏幕以进一步设置Jellyfin。

步骤 7:设置用户名和密码

单击下一步按钮开始设置 Jellyfin 媒体服务器。下一个屏幕将出现,用于设置管理员的用户名和密码,并具有添加/删除内容和其他设置的所有权限。

步骤 9:添加库

单击 + 按钮,首先选择类别类型,例如音乐、视频和图像等媒体内容文件,然后输入您要保存要在 Jellyfin 上播放的媒体的文件夹的路径。例如,我选择了音乐类别,然后输入了我保存音乐文件的文件夹的路径。

您可以立即或者随时将多个文件夹添加到您的库中。

如果您想使用智能手机和其他设备通过互联网远程连接 Jellyfin,请启用“Allow remote connections to this Jellyfin Server”选项。但是,要访问位于本地路由器后面并使用本地 IP 地址的服务器,通过互联网访问它,用户必须手动转发其 Jellyfin 端口。

步骤 10:登录 Jellyfin 服务器

输入用户名和密码登录,然后您将在浏览器中看到 Jellyfin 的界面,可以访问音乐、视频和其他媒体文件。

如果您想在 Jellyfin 中添加更多库或媒体文件夹,请转到仪表板,选择库,然后选择“添加媒体库”。

仪表板下还提供了重新启动和关闭服务器的选项。

步骤11.如何更新/升级

由于我们使用官方 JellyFin 存储库来安装它,我们可以使用系统更新和升级命令来获取最新的可用更新。

sudo apt update && sudo apt upgrade

步骤12.卸载Jellyfin Media Server

那些对这个开源媒体服务器不再感兴趣并想将其从他们的 Ubuntu 24.04 服务器中彻底删除的人可以执行给定的命令。

sudo autoremove install jellyfin --purge

同时也删除存储库。

sudo rm /etc/apt/sources.list.d/jellyfin.list

JellyFin 客户端

这个开源媒体服务器支持多个客户端应用程序,可以从服务器流式传输音乐和视频。因此,可以根据我们的设备(如 Firestick、Android TV、iPhone、Kodi、Roku 等)下载 Jellyfin 客户端。

相关文章:

Ubuntu 24.04安装Jellyfin媒体服务器图解教程

使用 Jellyfin 等开源软件创建媒体服务器肯定能帮助您管理和跨各种设备传输媒体集合。当你有一个封闭社区时,这尤其有用。 什么是 Jellyfin 媒体服务器? Jellyfin 媒体服务器,顾名思义,是一款开源软件,允许用户使用本…...

css3 中的伪类和伪元素

什么是伪类,什么是伪元素 伪类是用来添加特殊状态的选择器,它们以冒号(:)开头。伪类可以添加到任何现有的选择器上,用来选择处于特定状态的元素。 伪元素是用来选择元素的特定部分的选择器,它们以双冒号(::)开头。伪元素可以创建出在文档树中不存在的元素。 css3 …...

人工智能导论-知识图谱

知识图谱 概述 本章首先介绍“知识与知识表示”的概念,然后介绍“谓词逻辑、产生式、框架、语义网络”等当前人工智能中应用广泛的知识表示方法。然后,简要介绍知识图谱,为后面介绍推理方法、专家系统等奠定基础。 概述 - 起源&#xff08…...

LabVIEW液压数据采集测试系统

液压系统是装载机的重要组成部分,通过液压传动和控制实现各项作业功能,如提升、倾斜、转向等。液压系统的性能直接影响装载机的作业效率和稳定性。为了保证装载机液压系统的正常运行和优化设计,需要对其进行数据采集和测试。本文介绍了一套基…...

工业三防平板助力工厂生产数据实时管理

在当今高度数字化和智能化的工业生产环境中,工业三防平板正逐渐成为工厂实现生产数据实时管理的得力助手。这种创新的技术设备不仅能够在恶劣的工业环境中稳定运行,还为工厂的生产流程优化、效率提升和质量控制带来了前所未有的机遇。 工业生产场景通常充…...

LabVIEW人工模拟肺控制系统开发

开发了一种创新的主被动一体式人工模拟肺模型,通过LabVIEW开发的上位机软件,实现了步进电机驱动系统的精确控制和多种呼吸模式的模拟。该系统不仅能够在主动呼吸模式下精确模拟快速呼吸、平静呼吸和深度呼吸,还能在被动模式下通过PID控制实现…...

达梦 ./disql SYSDBA/SYSDBA报错[-70028]:创建SOCKET连接失败. 解决方法

原因 达梦命令./disql SYSDBA/SYSDBA默认访问端口5236,如果初始化实例的时候修改了端口,需要指定端口访问 解决 ./disql SYSDBA/SYSDBA192.168.10.123:5237...

Autosar RTE配置-Assembly和Delegation的使用-基于ETAS软件

文章目录 前言Assembly和Delegation的含义Delegation的使用Assembly的使用总结 前言 RTE中的Compostion内部的SWC之间的连接使用Assembly Connector进行连接。这样的连接一般都是一个SWC的Pport对应另一个SWC的Rport。而Autosar软件中往往不只一个Composition(一般可以以核的数…...

【网络安全】PostMessage:分析JS实现XSS

未经许可,不得转载。 文章目录 前言示例正文 前言 PostMessage是一个用于在网页间安全地发送消息的浏览器 API。它允许不同的窗口(例如,来自同一域名下的不同页面或者不同域名下的跨域页面)进行通信,而无需通过服务器…...

liosam复现

写在前面: 本机系统ubuntu22.04dockernvidia docker的环境 本机系统已经安装好nvidia驱动和cuda 使用liosam提供的镜像在22.04下实在是无法兼容。 所以在rosnoetic(ubuntu20.04)下进行配置,本教程中rosnoetic:v3.2是在docker hub&…...

Flutter实战小案例

(实战)点不到的按钮 // 主要实现效果类 class _MyHomePageState extends State<MyHomePage> {// 1.定义要使用的变量double btnLeft 0;double btnTop 0;int timeDuration 500;String textButton "点我呀";// 2.获得当前设备屏幕尺⼨&#xff0c;需要impor…...

uniapp转小程序,小程序转uniapp方法

&#x1f935; 作者&#xff1a;coderYYY &#x1f9d1; 个人简介&#xff1a;前端程序媛&#xff0c;目前主攻web前端&#xff0c;后端辅助&#xff0c;其他技术知识也会偶尔分享&#x1f340;欢迎和我一起交流&#xff01;&#x1f680;&#xff08;评论和私信一般会回&#…...

WPF中Frame

在Windows Presentation Foundation (WPF) 中&#xff0c;Frame 控件是一个非常重要的元素&#xff0c;主要用于实现页面导航和内容的动态加载。Frame 类似于网页开发中的iframe&#xff0c;但它是WPF应用程序中的一个容器&#xff0c;能够显示不同的页面或控件内容。 以下是F…...

大数据基础:Doris重点架构原理

文章目录 Doris重点架构原理 一、Apache Doris介绍 二、Apache Doris使用场景 三、Apache Doris架构原理 四、Apache Doris 特点 Doris重点架构原理 一、Apache Doris介绍 基于 MPP 架构的高性能、实时的分析型数据库&#xff0c;以极速易用的特点被人们所熟知&#xff…...

.NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别

简述 在软件开发的宇宙中&#xff0c;.NET是一个不断扩展的星系&#xff0c;每个版本都像是一颗独特的星球&#xff0c;拥有自己的特性和环境。作为技术经理&#xff0c;站在选择的十字路口&#xff0c;您需要一张详尽的星图来导航。本文将作为您的向导&#xff0c;带您穿越从.…...

k8s核心操作_存储抽象_K8S中使用ConfigMap抽取配置_实现配置热更新---分布式云原生部署架构搭建032

现在有个问题,是上面我们利用pv和pvc 就是持久卷 以及 持久卷申请,实现了对存储的,pod删除以后,对其使用的存储空间也进行了删除,那么还有个问题,对于redis这种我们希望,他的配置也管理起来. 比如这个redis的配置文件. 以后其他的配置文件也是这样. 使用配置文件的存储在k8s中…...

【前端】SpringBootWeb 篇-入门了解 Spring Cache、Spring Task与WebSocket 框架

在SpringBootWeb开发中&#xff0c;Spring Cache、Spring Task与WebSocket框架是三个非常重要的组件&#xff0c;它们分别用于缓存管理、任务调度和实时通信。以下是对这三个框架的入门了解&#xff1a; 一、Spring Cache 1. 简介 Spring Cache是Spring框架提供的缓存抽象&a…...

应用最优化方法及MATLAB实现——第4章代码实现

一、概述 之前对这本书的第三章进行了代码实现&#xff0c;这篇博客是对这本书第4章相关代码进行实现&#xff0c;部分内容安装书中代码无法实现相应功能&#xff0c;MATLAB会报错&#xff0c;对其进行一定程度的更改后&#xff0c;可以正常运行&#xff0c;与书中所给示例运行…...

搜维尔科技:Riablo提供一种创新的康复解决方案,通过激活本体感觉,并通过视听反馈促进神经肌肉的训练。

Riablo提供一种创新的康复解决方案&#xff0c;通过激活本体感觉&#xff0c;并通过视听反馈促进神经肌肉的训练。 搜维尔科技&#xff1a;Riablo提供一种创新的康复解决方案&#xff0c;通过激活本体感觉&#xff0c;并通过视听反馈促进神经肌肉的训练。...

NodeJS技巧:在循环中管理异步函数的执行次数

背景介绍 在现代Web开发中&#xff0c;NodeJS因其高效的异步处理能力而备受青睐。尤其在数据抓取、网络爬虫等应用场景中&#xff0c;NodeJS的非阻塞I/O特性使其成为不二之选。然而&#xff0c;在实际编程过程中&#xff0c;我们经常会遇到一个棘手的问题——如何在循环中控制…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

leetcode_69.x的平方根

题目如下 &#xff1a; 看到题 &#xff0c;我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历&#xff0c;我们是整数的平方根&#xff0c;所以我们分两…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...

react更新页面数据,操作页面,双向数据绑定

// 路由不是组件的直接跳转use client&#xff0c;useEffect&#xff0c;useRouter&#xff0c;需3个结合&#xff0c; use client表示客户端 use client; import { Button,Card, Space,Tag,Table,message,Input } from antd; import { useEffect,useState } from react; impor…...

【Vue】scoped+组件通信+props校验

【scoped作用及原理】 【作用】 默认写在组件中style的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题 故而可以给组件加上scoped 属性&#xff0c; 令样式只作用于当前组件的标签 作用&#xff1a;防止不同vue组件样式污染 【原理】 给组件加上scoped 属性后…...

使用homeassistant 插件将tasmota 接入到米家

我写一个一个 将本地tasmoat的的设备同通过ha集成到小爱同学的功能&#xff0c;利用了巴法接入小爱的功能&#xff0c;将本地mqtt转发给巴法以实现小爱控制的功能&#xff0c;前提条件。1需要tasmota 设备&#xff0c; 2.在本地搭建了mqtt服务可&#xff0c; 3.搭建了ha 4.在h…...