【Jellyfin影音服务器】 本地部署公网远程影音库

news2024/9/23 16:03:18

文章目录

  • 1. 前言
  • 2. Jellyfin服务网站搭建
    • 2.1. Jellyfin下载和安装
    • 2.2. Jellyfin网页测试
  • 3.本地网页发布
    • 3.1 cpolar的安装和注册
    • 3.2 Cpolar云端设置
    • 3.3 Cpolar本地设置
  • 4.公网访问测试
  • 5. 结语

请添加图片描述

1. 前言

随着移动智能设备的普及,各种各样的使用需求也被开发出来,从最早的移动听音乐、看图片(MP3时代),到之后的移动视频需求(MP4时代)到现在的移动流媒体需求(智能手机看视频)。但当我们习惯这些需求后,忽然发现自己不知不觉间成了待割的韭菜(3台设备就要加钱)。作为一颗倔强的韭菜,自然不会甘愿被割,因此打算自建一个私人影音媒体平台。现在,笔者就向大家展示,使用cpolar内网穿透+ Jellyfin,自建私人影音平台的全过程。

2. Jellyfin服务网站搭建

Jellyfin作为相对知名的影音服务器,在NAS平台广受欢迎,但笔者连韭菜都不愿意当,自然没有NAS这样的专业装备,只有一台淘汰下来的台式机,好在这台台式机配置不算低到离谱,并且jellyfin有Windows版本的服务端,让笔者能以简单的方式搭建jellyfin服务器。

2.1. Jellyfin下载和安装

首先,我们下载Jellyfin的server端,只要访问jellyfin的官方网站,点击下载按钮进入下载页面,选择服务器分项进行下载即可。当然,jellyfin也提供其他操作系统(linux、MacOS)版本的软件,只要按需下载就好。

20230412092501

20230412092502

20230412092503

jellyfin下载完成后,直接双击.exe文件,即可进入自动安装程序,在安装过程中,除了注意选择Basic Install(Recommended)以外,其他几乎都可以一路点击“Next”略过。

20230412092504

20230412092505

Jellyfin安装完成后,点击生成的快捷方式,启动jellyfin service程序。Jellyfin会在Windows的系统托盘处生成一个小图标,右键点击这个图表,就能打开jellyfin的网页安装界面。

20230412092506

首次启动jellyfin服务时,可能会出现Windows防火墙警告,我们选择允许访问即可。

20230412092507

点击open jellyfin后,软件会自动打开浏览器访问localhost:8096端口,进行jellyfin service网页设置页面。而这里的设置都是常规的语言设置、管理员账号设置、媒体库文件夹选择(可以暂时不选而跳过)、允许远程访问等。

20230412092508

20230412092509

20230412092510

20230412092511

20230412092512

完成这些设置后,就可以正式登入jellyfin网页。

2.2. Jellyfin网页测试

为方便展示,笔者完成jellyfin service网页安装后,以admin角色登录jellyfin service。只要能正确登录jellyfin主页面,就说明我们已经完成jellyfin的安装。

20230412092513

20230412092514

3.本地网页发布

完成了jellyfin service安装后,接下来就可以使用cpolar内网穿透创建一条内网穿透数据隧道,搭建连接本地jellyfin页面的公共互联网地址,让我们能在公共互联网上访问到家里(局域网)的jellyfin服务器。

3.1 cpolar的安装和注册

cpolar官网:https://www.cpolar.com

与jellyfin service的安装一样,cpolar可以直接在其官网页面进行下载。在cpolar官网页面的上部,找到下载按钮。

20230412092515

笔者使用的是Windows操作系统,因此选择Windows版本进行下载。

20230412092516

Cpolar下载完成后,将下载的文件解压,双击解压后的.msi文件,即可自动执行安装程序。接着只要一路“Next”就能完成软件安装。

20230412092517

20230412092518

cpolar会为每个用户创建独立的数据隧道,并通过用户密码和token码保证每个用户的数据安全。因此我们正式使用cpolar前,需要进行用户注册。注册过程简单易行,只要在cpolar主页右上角点击用户注册,在注册页面填入必要信息,就能完成注册。

20230412092519

20230412092520

3.2 Cpolar云端设置

由于cpolar免费版的数据隧道每24小时重置一次,笔者不想每天进行重连设置,因此将升级cpolar至vip版,以便能获得能长期稳定存在的内网穿透数据隧道。

接下来,我们先登录cpolar的官网,并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里生成一个公共互联网地址(也可以看做数据隧道的入口),由于此时这个地址没有连接本地的jellyfin网页输出端口,因此也可以看做是一条空白的数据隧道。

20230412092521

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择“保留二级子域名”栏位。

20230412092522

保留二级子域名栏位,需要进行几项信息的简单设置,即:

  • 地区:服务器所在区域,就近选择即可
  • 二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一
  • 描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可

完成这几项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道保留下来。

20230412092523

当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

20230412092524

3.3 Cpolar本地设置

完成cpolar云端设置并保留了空白数据隧道后,我们返回本地电脑的cpolar客户端,将云端生成的空白数据隧道与本地jellyfin service页面连接起来。

在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。

20230412092525

点击客户端主界面左侧隧道管理项下的创建隧道按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

1. 隧道名称:可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可
2. 协议:由于的测试页面是网页,因此选择http协议
3. 本地地址 :本地地址即为本地网站的输出端口号,之前我们访问本地jellyfin网页时端口号为8096,因此这里也填入8096
4. 域名类型 :由于我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名)
5. Sub Domain:填入预留的二级子域名,该例子中为“jellyfinweb”(如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址)
6. 地区:与cpolar云端预留的信息一样,我们依照实际使用地填写即可

20230412092526

完成以上设置后,即可点击页面下方的创建按钮,将cpolar云端的空白数据隧道与本地的支付测试页面连接起来,完成cpolar云端地址与本地jellyfin网页的连接。

cpolar云端地址与本地jellyfin服务器网页的连接完成后,cpolar客户端会自动跳转到“隧道管理”项下的“隧道列表”页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

20230412092527

4.公网访问测试

最后,我们点击左侧状态项下的在线隧道列表按钮,就能找到jellyfin service的公共互联网地址。

20230412092528

将这个地址粘贴到浏览器中,就能看到本地jellyfin的web页面,也就成功建立专属自己的私人影音平台。

20230412092529

20230412092530

5. 结语

当然,能用作搭建私人影音平台的软件和网页源文件有很多,jellyfin并不是唯一选择,但使用其他软件和源文件搭建私人影音平台的流程大同小异,最重要的是,就算韭菜也有拒绝被收割的时候。在大部分情况下,我们仍然能依靠自己动手,做到丰衣足食。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/922362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员至少要掌握几种编程语言?来看看这些编程语言的优势和用途

你可能听说过,作为一个程序员,你要学习很多种编程语言,才能应对各种不同的项目和需求。那么,程序员最少要掌握几种编程语言呢?其实,这个问题没有一个确定的答案,因为不同的编程语言有不同的优势…

若依vue打印的简单方法

像我们后端程序员做前端的话,有时候真不需要知道什么原理,直接塞就好了 我们选用基于hiprint 的vue-plugin-hiprint来打印 目的是为了实现点击某些行的数据,然后点击某个按钮直接弹出下面的打印 此链接 大佬是原创,我拿来总结梳理一下 插件进阶功能请移步: 链接 插件模板制作页…

直播购物系统开发定制:融合技术与个性化的未来购物体验

在数字化时代,直播购物已经成为了商业领域的一大趋势。而通过直播购物系统开发定制,商家能够更好地满足消费者的个性化需求,为购物体验带来前所未有的变革。在本文中,我们将探讨如何通过技术手段来实现直播购物系统的开发定制&…

Layer Normalization(层规范化)

详细内容在这篇论文:Layer Normalization 训练深度神经网络需要大量的计算,减少计算时间的一个有效方法是规范化神经元的活动,例如批量规范化BN(batch normalization)技术,然而,批量规范化对小批…

【若依管理系统 权限控制】

1.在菜单管理添加按钮权限,如图 2.在角色管理里面加上菜单,如图 3.前端控制: 4.后端控制: 5.重启后台后,重新登录用户。

无涯教程-Python - Dictionary(字典)

每个键都由一个冒号(:)与其值分隔,各元素之间以逗号分隔,并且整个内容都用花括号括起来。一个没有任何元素的空字典用两个大括号书写,如:{}。 键在字典中是唯一的,而值可能不是。字典的值可以是任何类型,但是键必须是…

【机器学习7】特征缩放

特征缩放 🍀特征缩放的重要性🌱归一化🌱标准化🌱更高级的缩放方法🌸导入数据集&将数据集划分为训练集和测试集🌸Sklearn-Learn算法实现归一化🌸Sklearn-Learn算法实现标准化 🍀特…

Activity 的启动流程(Android 13)

Activity 的启动过程分为两种:一种是普通 Activity 的启动过程,另一种是根 Activity 的启动过程。普通 Activity 指的是除应用程序启动的第一个 Activity 之外的其他 Activity。根 Activity 指的是应用程序启动的第一个 Activity,因此&#x…

春秋云镜 :CVE-2020-21650(MyuCMS后台rce)

一、题目 靶标介绍: MyuCMS开源内容管理系统,采用ThinkPHP开发而成的社区商城聚合,插件,模板,轻便快捷容易扩展 其2.2版本中admin.php/config/add方法存在任意命令执行漏洞. 进入题目: exp: url/index.p…

计算机网络 QA

DNS 的解析过程 浏览器缓存。当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址(曾经访问过该域名并且没有清空缓存)系统缓存。当浏览器缓存中无域名对应的 IP 地址时,会自动检测用户计算机…

opencv 进阶20-随机森林示例

OpenCV中的随机森林是一种强大的机器学习算法,旨在解决分类和回归问题。随机森林使用多个决策树来进行预测,每个决策树都是由随机选择的样本和特征组成的。在分类问题中,随机森林通过投票来确定最终的类别;在回归问题中&#xff0…

Blazor组件化开发心得:Blazor开发套路

文章目录 前言Blazor开发套路文件分类示意图 如何分工 前言 接触Blazor也快有一个多月了,了解Blazor之后发现确实是个好东西,开发速度太快了,前端直接拿数据,通过SSR保证安全。但是有一个问题,服务器能承受多大的压力…

Spark项目Java和Scala混合打包编译

文章目录 项目结构Pom完整文件编译查看 实际开发用有时候引用自己写的一些java工具类,但是整个项目是scala开发的spark程序,在项目打包时需要考虑到java和scala混合在一起编译。 今天看到之前很久之前写的一些打包编译文章,发现很多地方不太对…

【资料分享】基于NXP i.MX 8M Plus的异构多核核心板规格书

1 核心板简介 创龙科技SOM-TLIMX8MP是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 单核ARM Cortex-M7异构多核处理器设计的高端工业核心板,ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz,ARM Cortex-M7实时处理单元主频高达800MHz。处理器采用14…

【Java】代理实现重试功能

在有些调用http请求功能中,会因为网络的抖动,使得网络不稳定。这时需要一个功能来实现重试。 下面介绍使用JDK的代理功能和Cglib来实现简单的代理重试。 JDK的代理需要被代理的类实现接口,下面的newProxyInstance代码中需要interfaces参数&am…

element-table的动态操作,自动以表格,动态新增行、列,删除行列

灵活的自定义表格行列以及增删改查的操作,右键选中列则是列的删除&#xff0c;效果如下 <template><div class"st-table"><div style"width: 100%"><el-button click"addRow()" type"primary" icon"CircleP…

深入理解android线程池实现原理

为什么要引入线程池 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度。当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行提高线程的可管理性。线程是稀缺资源&#xff0c;如果无限制的创建&#xff0c;不仅会消耗系统的资源…

大学资产管理,这个细节真的很绝!

无论是个人还是企业&#xff0c;资产都是其成功的基石。通过资产管理系统&#xff0c;个人可以更好地管理他们的投资组合&#xff0c;实现财务目标。 对于企业而言&#xff0c;资产管理系统有助于提高资源利用效率&#xff0c;减少损失和浪费&#xff0c;优化生产和运营流程。 …

深度学习处理文本(NLP)

文章目录 引言1. 反向传播1.1 实例流程实现1.2 前向传播1.3 计算损失1.4 反向传播误差1.5 更新权重1.6 迭代1.7 BackPropagation & Adam 代码实例 2. 优化器 -- Adam2.1 Adam解析2.2 代码实例 3. NLP任务4. 神经网络处理文本4.1 step1 字符数值化4.2 step 2 矩阵转化为向量…

javaWeb差缺补漏(一)【针对于自身知识点掌握情况】

前端三大件部分 1、a标签的target属性iframe标签的name属性 2、textarea标签&#xff1a;表示多行文本输入。起始标签和结束标签中的内容是默认值。 rows&#xff1a;属性设置可以显示多少行。 cols&#xff1a;属性设置每行显示多少列。 3、form表单的action提交的时候&a…