当前位置: 首页 > 编程日记 > 正文

Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件

1.前言

在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一,加上移动网络技术的发展,随时随地看视频已经成为基本需求。不过,随着资本向视频应用的集中,想要看视频就必须先充会员,这让笔者很是郁闷,于是产生了自建影音云盘的想法,期间也尝试了多种影音服务器。今天,笔者就为大家介绍,如何在Windows系统中,使用Cpolar内网穿透+Emby,搭建自己的私人影音平台。

2. Emby网站搭建

作为国外玩家推崇的影音平台三剑客之一的Emby,拥有漂亮的软件界面(虽然笔者感觉和jellyfin很像)和强大功能,并且能够支持多种操作系统(Windows、MacOS、Linux、Android等等),最重要的是,它以.exe形式安装部署,省去了部署网页运行环境的麻烦。

2.1. Emby下载和安装

正如前面所提到的,Emby的安装很简单,只要登录Emby的官网emby.media,点击页面上方的download按钮,就能进入软件下载页面。在下载页面,我们选择对应操作系统的emby软件下载即可(笔者下载的是Windows X64版本)。

20230426091901

20230426091902

20230426091903

20230426091904

Emby软件是以压缩包形式下载,下载完成后将其解压到本地电脑。根据Emby官网的安装指引,我们在解压后的Emby文件夹的system文件夹下,找到名为EmbyServer.exe的文件,双击执行安装。

在双击EmbyServer.exe文件后,Windows可能会弹出防火墙安全警告,我们只要允许其访问互联网即可。

20230426091905

20230426091906

只要很短时间,Emby就会安装完成。软件安装完成后,会在Windows任务栏右下角的系统托盘处生成一个绿色的Emby图标。右键单击这个图标,并点选弹出菜单的Emby Premiere选项,就能进入本地Emby服务器的设置页面。

20230426091907

Emby的设置页面平平无奇,都是常规的“界面语言”、“本地媒体文件存放位置”、“管理员信息”之类。此处笔者就不过多冗述。

20230426091908

2.2 Emby网页测试

完成本地Emby服务器的设置后,Emby软件会转入登录页面(如没有跳转,可以在浏览器地址栏输入localhost:8096/Web),此处只要输入设置时输入的登录名,就能登录Emby Server主页面。

20230426091909

20230426091910

此时的Emby Server就在本地8096端口输出,接下来我们只需要使用cpolar内网穿透,为本地8096端口建立一条内网穿透数据隧道,就能在公共互联网上,访问到本地(局域网内)电脑上的Emby Server页面。

3. 本地网页发布

3.1 注册并安装cpolar内网穿透

cpolar内网穿透工具:https://www.cpolar.com/

完成Emby Server在本地电脑的安装后,就可以转入cpolar内网穿透工具的安装。与Emby Server的安装一样,cpolar的安装注册同样简单易行。我们可以直接在cpolar的官网页面找到下载按钮。

20230426091911

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

20230426091912

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

20230426091913

20230426091914

cpolar会为每个用户创建独立的数据隧道,并通过用户密码和token码保证每位用户的数据安全,因此在使用cpolar之前,需要进行注册登录。在cpolar官网注册新用户的过程也非常简单,只要在cpolar主页右上角点击“用户注册”按钮,并在注册页面填入必要信息,就能完成注册。

20230426091915

20230426091916

完成了Emby Server和cpolar内网穿透程序的安装,接着我们就可以使用cpolar,创建一个能够连接本地测试页面的公共互联网地址,让我们能在有限范围对的支付页面进行测试。

3.2 Cpolar云端设置

由于笔者想要能随时访问到自己的私人影音云盘,不想每天进行重连设置(cpolar免费版设置的内网穿透数据隧道每24小时就会重置一次),因此将cpolar升级至vip版,以获得长期稳定存在的内网穿透数据隧道。如果是cpolar免费版或只是临时创建数据隧道,可以直接在cpolar客户端进行设置而不必在cpolar云端进行设置。

为创建能够长期稳定存续的内网穿透数据隧道,我们先登录cpolar的官网,在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里生成一个公共互联网地址(可以理解为数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是空白的数据隧道。

20230426091917

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

20230426091918

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

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

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

20230426091919

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

20230426091920

3.3 Cpolar内网穿透本地设置

完成cpolar云端的设置,建立内网穿透数据隧道的入口后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地eEmby server页面连接起来,让我们能在公共互联网上访问到本地的测试页面。

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

20230426091921

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

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

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

20230426091922

完成这些设置后,就可以点击页面下方的创建按钮,将cpolar云端的空白数据隧道与本地的Emby server页面连接起来,即创建了可以在公共互联网访问本地Emby server的数据隧道。

我们可以在隧道管理项下的隧道列表页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

20230426091923

4.公网访问测试

最后,我们点击左侧状态项下的在线隧道列表按钮,就能找到Emby Server页面的公共互联网地址,将这个地址粘贴到浏览器中,就能看到本地电脑上安装的Emby登录页面。

20230426091924

20230426091925

5.结语

到这里,我们就成功的使用cpolar+Emby搭建了专属于我们自己的私人影音库,让我们能随时随地访问到本地电脑上的影音资源。当然,搭建个人影音云盘只是cpolar应用场景的一个方面,我们还能使用其他网页或软件与cpolar配合,构建出其他应用场景,让我们的生活工作更加方便。

相关文章:

CSS局限属性contain:优化渲染性能的利器

在网页开发中,优化渲染性能是一个重要的目标。CSS局限属性contain是一个强大的工具,可以帮助我们提高网页的渲染性能。本文将介绍contain属性的基本概念、用法和优势,以及如何使用它来优化网页的渲染过程。

常见的几种网络抓包及协议分析工具

网络工程师必备技能-抓取网络数据。在本篇博客中,我们将集中记下几个问题进行探讨:Wireshark 是免费的抓取数据包、分析数据包的工具,兼容 Windows、Linux、Mac等主流平台。使用 wireshark 抓包需要的工具是:安装了 wireshark 的 PC。wireshark 抓包的范围是:抓取安装了 wireshark 的 PC 本机的网卡上流经的数据包。其中,网卡指的是 PC 上网使用的模块,常见的包括:以太网网卡、wifi 无线网卡,PC 分别使用它们用于连接以太网、wifi 无线网络。

手机的ip地址是固定的吗,每个手机ip地址一样吗?

简单点说,路由器开启了“DHCP功能”,会自动给连接路由器网络的设备自动分配IP地址,这包括有线网络和无线网络;当设备开启了DHCP功能之后,在路由器开启了DHCP功能的前提下,就会自动接收路由器分配的IP地址,不需要用户手动设置静态IP地址,用通俗的话来形容“DHCP”,它可以省去用户手动设置IP地址的过程。

配置nginx+keepalived高可用代理数据库ip端口

需求:配置nginx+keepalived高可用反向代理数据库ip端口(数据库服务器无法增加新SCAN IP或者需要隐藏数据库IP的情况下适用)本机ip为:192.168.20.10和192.168.20.11。2.任意节点关机或重启系统,浮动ip也会自动漂移到另外节点。1.任意节点停nginx:浮动ip会自动漂移到另外节点。安装依赖包和nginx和keepalived。浮动IP为:192.168.20.20。配置keepalived.conf。两台centos7.9。

TCP服务器最多支持多少客户端连接

本文从理论和实际两个方面介绍了一个 TCP 服务器支持的最大连接数

给服务器开通telnet的流程

但一些特殊场景下,比如要升级ssh,ssh不能用时,需要使用telnet,用过要关闭此服务。需要首先安装,如果telnet-server服务在xinetd之前安装了,要先删除telnet-server,再安装xinetd。安装顺序:xinetd--》telnet--》telnet-server。安装顺序:xinetd--》telnet--》telnet-server。2、卸载rpm包(如果已经安装了,又不清楚顺序,可以都卸载后统一安装)注意:telnet-server服务启动依赖xinetd服务,

python基础小知识:引用和赋值的区别

通过引用,就可以在程序范围内任何地方传递大型对象而不必在途中进行开销巨大的赋值操作。不过需要注意的是,这种赋值仅能做到顶层赋值,如果出现嵌套的情况下仍不能进行深层赋值。赋值与引用不同,复制后会产生一个新的对象,原对象修改后不会影响到新的对象。如果在原位置修改这个可变对象时,可能会影响程序其他位置对这个对象的引用

k8s 使用tomcat官方镜像部署集群并解决访问页面404

官方镜像这里有个坑,使用kubectl启动之后,页面报错404,仔细检查发现,是因为tomcat的webapp目录下没有对应的文件,所以连初始界面都无法显示。要想显示,必须要根据官方镜像自己构建一个Dockerfile。根据上面的信息可以看出,该POD部署在k8s-node1上,映射POD的8080端口到master的30088端口上。这里需要将镜像上传到自己搭建的registry,并配置nodes节点都可以正常访问5000端口。三、根据官方镜像自己构建一个一次性就能启动的Tomcat镜像。

mysql开启可以使用IP有权限访问

为实际的IP地址和你想要设置的密码。请小心操作,并确保你了解每个命令的作用。如果你对此有任何疑问,最好咨询经验丰富的数据库管理员。来设置或修改用户的密码。相反,你需要分两步来完成这个过程:首先创建或修改用户,并设置密码;然后授予相应的权限。用户应该能够从指定的内网IP地址访问MySQL服务器。用户已存在并且你只是想更改其密码或允许从另一个地址访问,使用。在MySQL 8.0及更高版本中,语句的语法有所变化。替换为你的内网IP地址,

Python中如何简化if...else...语句

我们通常在Python中采用if...else..语句对结果进行判断,根据条件来返回不同的结果,如下面的例子。这段代码是一个简单的Python代码片段,让用户输入姓名并将其赋值给变量user_input。我们能不能把这几行代码进行简化,优化代码的执行效率呢?以下是对各行代码的解读。这里使用了or这个逻辑运算符,当user_input不为空时,user_input为真,name就被赋于user_input的值。采用这种方法可以轻松实现if...else语句的简化。我们可以使用一行简短的代码来实现上面的任务。

TCP三次握手和四次挥手

看了大量的文章都不知道ack包,fin包,syn包是干嘛的?我搜了一些概念以及总结道一起是不是更容易理解一些方便后续面试使用

Rust之旅 - Rust概念、Windows安装、环境配置

本章节介绍Rust概念、Windows安装、环境配置以及最初级的语法。至此,我们就成功的构建了一个Rust程序,并成功在Visual Studio Code里运行了这个程序,万事俱备,我们就可以开始Rust之旅了。资料获取,更多粉丝福利,关注下方公众号获取。

轻松管理Linux磁盘空间命令:df

通过使用--output选项,可以自定义df命令的输出格式,选择显示的列以及它们的顺序。这对于筛选特定信息以便进一步处理非常有用。本文我们介绍了Linux系统上的df命令,包括基本用法、进阶用法、实际案例和场景应用,以及一些实用技巧和注意事项。df命令是系统管理中的一个重要工具,能够帮助用户有效管理磁盘空间,预防和解决潜在问题。在实际使用中,请根据具体情况选择合适的df命令选项和参数,并结合其他命令,以获取更全面的系统信息。

Docker网络配置&网络模式

网络相关概念,子网掩码、网关、规则的介绍及网络模式bridge、host详解,Dockers自定义网络配置

Linux grep命令教程:强大的文本搜索工具(附案例详解和注意事项)

grep(Global Regular Expression Print)命令用来在文件中查找包含或者不包含某个字符串的行,它是强大的文本搜索工具,并可以使用正则表达式进行搜索。当你需要在文件或者多个文件中搜寻特定信息时,grep就显得无比重要啦。

保持Python程序在Linux上持续运行的几种方法

主要是用来定时执行任务的,但你也可以利用它来监控你的Python脚本是否正在运行,并在需要时重新启动它。是一个非常实用的命令,它可以让你的Python脚本在你退出shell后继续运行。总结起来,根据你的具体需求和环境,你可以选择以上任何一种方法来保持Python程序在Linux上的持续运行。使用这些工具,你可以随时断开SSH连接,而不用担心脚本会停止运行。通过这种方式,你可以安全地关闭终端,而脚本会继续在后台执行。这样,你的Python脚本就会作为系统服务运行,并且会在系统启动时自动启动。

Windows系统搭建WebDAV服务并结合内网穿透实现公网访问本地文件

在Windows上如何搭建WebDav,并且结合cpolar的内网穿透工具实现在公网访问。WebDav是一种基于http的协议,允许用户在服务器上创建、修改、删除和移动文件,它的优点是可以方便的通过网络访问和管理文件,并且支持多用户协作,提供安全的加密机制。使用WebDav协议,用户可以将网盘挂载到本地电脑或手机上,可以直接操作网盘上的文件了。

linux环境中一次启动多个jar包,并且设置脚本开机自启

我们在通过jar启动项目时,有时候会比较多,启动会比较麻烦,需要编写shell脚本启动,将启动脚本存放在需要启动的jar包路径下。(文档存放在 /home/process_parent )PORTS 端口号,多个用空格隔开MODULES 模块,多个用空格隔开MODULE_NAMES 模块名称,多个用空格隔开。

揭秘代理IP:原理、类型及其在大数据抓取中的作用

代理IP的原理:代理服务器作为客户端与目标网站之间的中介,当请求数据时,不是直接由用户的原始IP地址发送到目标网站,而是先发送到代理服务器。- 提升抓取效率:利用多个代理IP实现并发抓取,可以分散请求负载,提高数据采集速度,尤其是在需要大量数据或高频率访问时尤为关键。- 地域定位:某些代理IP能够提供特定地区的IP地址,这使得爬虫能够抓取特定区域的内容,比如针对不同国家或地区的本地化信息。- 绕过反爬机制:通过不断更换代理IP,爬虫可以避免因频繁访问而触发目标网站的反爬策略,从而继续高效地抓取数据。

你了解计算机网络的发展历史吗?

计算机网络是指将一群具有独立功能的计算机通过被互联起来的,在通信软件的支持下,实现的系统。计算机网络是计算机技术与通信技术紧密结合的产物,两者的迅速发展渗透形成了计算机网络技术。简而言之呢,计算机网络就是实现两台计算机相互沟通的介质。

教新手解决api-ms-win-crt-runtime-l1-1-0.dll丢失问题,简单有效修复dll文件问题

在使用电脑的过程中突然提示api-ms-win-crt-runtime-l1-1-0.dll错误的信息,那么出现在这样的问题有什么办法可以很好的解决api-ms-win-crt-runtime-l1-1-0.dll错误呢?今天就教大家解决api-ms-win-crt-runtime-l1-1-0.dll错误的几种办法,比较适合不懂电脑的萌新宝宝!如果你电脑电脑出现了这样的问题那么可以来试试吧!

Windows Copilot 更新及使用教程

GitHub Copilot 是一款基于机器学习的代码生成工具,可以帮助开发者快速生成高质量的代码。以下是 Windows Copilot 的更新及使用教程:

Linux之后台执行命令:nohup和&的使用

如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。command>out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到out.file文件中。作业在后台运行的时候,可以把输出重定向到某个文件中,相当于一个日志文件,记录运行过程中的输出。将sh test.sh任务放到后台,但是依然可以使用标准输入,

linux中&和&&,|和||及分号(;)的用法

在linux中,我们经常会用到&和&&,|和||及分号,但是好多人对其会混淆,不明白其中的意思,今天为大家讲解一下&和&&,|和||及分号(;)各自的说明和用法。

弹性搜索引擎Elasticsearch:本地部署与远程访问指南

本文主要讲解如何使用Elasticsearch分布式搜索分析引擎本地部署与远程访问。

服务器网络安全防护措施有哪些?

防火墙是确保服务器安全的必不可少的工具,但是防火墙不仅仅是企业内部部署的防火墙,也有托管安全服务提供商(MSSP)为企业的网络提供托管防火墙服务。例如,大多数系统都支持补丁程序的自动下载和安装,并且越来越多的人工智能产品可以监视、保护和升级企业的系统。任何数据都不应在未加密的服务器上移动。隔离是企业可以拥有的最佳服务器保护类型之一,因为如果一台服务器受到威胁,黑客的攻击行为就会被锁定在该服务器上。完全隔离将需要拥有专用的裸机服务器,这些裸机服务器不与其他服务器共享任何组件,这意味着企业需要增加更多的硬件。

TCP中的三次握手和四次挥手

我们知道TCP是运输层的面向连接的可靠的传输协议。**面向连接的**,指的就是在两个进程发送数据之前,必须先相互“握手”,确保两进程可以进行连接。并且这个传输是点对点的,即一个TCP连接中只有一个发送方和接收方;**可靠的**,指的是在任何网络情况下,在TCP传输中数据都将完整的发送到接收方。

windows系统lib文件和dll文件的区别

(这种方式更灵活,写的程序体积小,但是需要.exe和dll同时发布)(这种方式不是很灵活,因为lib被编译到.exe中,写出的程序体积大,但是只需要发布exe即可,不需要dll文件)

IP地址的四大类型:动态IP、固定IP、实体IP、虚拟IP的区别与应用

这种IP地址的分配是临时性的,用户每次连接都可能获得不同的IP。了解动态IP、固定IP、实体IP和虚拟IP的区别以及各自的应用场景,有助于网络管理员和用户在不同情境下做出明智的IP地址选择,确保网络通信的稳定性和高效性。每种IP类型都有其独特的优势,根据实际需求进行选择,是网络设计和管理中的重要考虑因素。动态IP、固定IP、实体IP和虚拟IP是四种不同类型的IP地址,它们各自具有独特的特点和应用场景。实体IP:是每个设备在物理网络上的唯一标识,确保网络通信的准确性。

基于Ubuntu环境Git服务器搭建及使用

将客户端公钥id_rsa.pub内容复制到服务端.ssh/下新建文件authorized_keys里,这样我们在拉取推送代码时,就不需要输入密码了。在服务器终端输入如下命令,输入两次密码后(比如密码也是:git),一路回车就创建好了。客户端:windows10_x64、Ubuntu20.04。无论是服务端还是客户端都需要先安装git。服务器:Ubuntu18.04。