家庭私人影院 - Windows搭建Emby媒体库服务器并远程访问 「无公网IP」
文章目录
- 1.前言
- 2. Emby网站搭建
- 2.1. Emby下载和安装
- 2.2 Emby网页测试
- 3. 本地网页发布
- 3.1 注册并安装cpolar内网穿透
- 3.2 Cpolar云端设置
- 3.3 Cpolar内网穿透本地设置
- 4.公网访问测试
- 5.结语
1.前言
在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一,加上移动网络技术的发展,随时随地看视频已经成为基本需求。不过,随着资本向视频应用的集中,想要看视频就必须先充会员,这让笔者很是郁闷,于是产生了自建影音云盘的想法,期间也尝试了多种影音服务器。今天,笔者就为大家介绍,如何在Windows系统中,使用Cpolar内网穿透+Emby,搭建自己的私人影音平台。
2. Emby网站搭建
作为国外玩家推崇的影音平台三剑客之一的Emby,拥有漂亮的软件界面(虽然笔者感觉和jellyfin很像)和强大功能,并且能够支持多种操作系统(Windows、MacOS、Linux、Android等等),最重要的是,它以.exe形式安装部署,省去了部署网页运行环境的麻烦。
2.1. Emby下载和安装
正如前面所提到的,Emby的安装很简单,只要登录Emby的官网emby.media,点击页面上方的download按钮,就能进入软件下载页面。在下载页面,我们选择对应操作系统的emby软件下载即可(笔者下载的是Windows X64版本)。




Emby软件是以压缩包形式下载,下载完成后将其解压到本地电脑。根据Emby官网的安装指引,我们在解压后的Emby文件夹的system文件夹下,找到名为EmbyServer.exe的文件,双击执行安装。
在双击EmbyServer.exe文件后,Windows可能会弹出防火墙安全警告,我们只要允许其访问互联网即可。


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

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

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


此时的Emby Server就在本地8096端口输出,接下来我们只需要使用cpolar内网穿透,为本地8096端口建立一条内网穿透数据隧道,就能在公共互联网上,访问到本地(局域网内)电脑上的Emby Server页面。
3. 本地网页发布
3.1 注册并安装cpolar内网穿透
cpolar内网穿透工具:https://www.cpolar.com/
完成Emby Server在本地电脑的安装后,就可以转入cpolar内网穿透工具的安装。与Emby Server的安装一样,cpolar的安装注册同样简单易行。我们可以直接在cpolar的官网页面找到下载按钮。

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

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


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


完成了Emby Server和cpolar内网穿透程序的安装,接着我们就可以使用cpolar,创建一个能够连接本地测试页面的公共互联网地址,让我们能在有限范围对的支付页面进行测试。
3.2 Cpolar云端设置
由于笔者想要能随时访问到自己的私人影音云盘,不想每天进行重连设置(cpolar免费版设置的内网穿透数据隧道每24小时就会重置一次),因此将cpolar升级至vip版,以获得长期稳定存在的内网穿透数据隧道。如果是cpolar免费版或只是临时创建数据隧道,可以直接在cpolar客户端进行设置而不必在cpolar云端进行设置。
为创建能够长期稳定存续的内网穿透数据隧道,我们先登录cpolar的官网,在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里生成一个公共互联网地址(可以理解为数据隧道的入口),由于此时这个地址没有连接本地的软件输出端口,因此也可以看做是空白的数据隧道。

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

在“保留二级子域名”栏位,需要进行几项信息的简单设置,即:
- 地区:服务器所在区域,就近选择即可)
- 二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一)
- 描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可)。
完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。

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

3.3 Cpolar内网穿透本地设置
完成cpolar云端的设置,建立内网穿透数据隧道的入口后,我们回到本地的cpolar客户端,将云端生成的空白数据隧道与本地eEmby server页面连接起来,让我们能在公共互联网上访问到本地的测试页面。
在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式)。

点击客户端主界面左侧隧道管理项下的创建隧道按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。
在这个页面,同样需要进行几项信息设置,这些信息设置包括:
隧道名称:可以看做cpolar本地的隧道信息注释,方便我们分辨不用隧道的用途即可;协议:Emby server是网页形式输出,因此选择http协议;本地地址:本地地址即为本地网站的输出端口号,Emby server网页端口为8096,因此这里也填入8096;域名类型:在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名);- 在下一行
Sub Domain栏中填入预留的二级子域名,这里填入“Embyserverweb”。如果打算创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址; 地区:与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

完成这些设置后,就可以点击页面下方的创建按钮,将cpolar云端的空白数据隧道与本地的Emby server页面连接起来,即创建了可以在公共互联网访问本地Emby server的数据隧道。
我们可以在隧道管理项下的隧道列表页面中,对这条数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

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


5.结语
到这里,我们就成功的使用cpolar+Emby搭建了专属于我们自己的私人影音库,让我们能随时随地访问到本地电脑上的影音资源。当然,搭建个人影音云盘只是cpolar应用场景的一个方面,我们还能使用其他网页或软件与cpolar配合,构建出其他应用场景,让我们的生活工作更加方便。
相关文章:
家庭私人影院 - Windows搭建Emby媒体库服务器并远程访问 「无公网IP」
文章目录 1.前言2. Emby网站搭建2.1. Emby下载和安装2.2 Emby网页测试 3. 本地网页发布3.1 注册并安装cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar内网穿透本地设置 4.公网访问测试5.结语 1.前言 在现代五花八门的网络应用场景中,观看视频绝对是主力应用场景之一&…...
核心舱在轨飞行VR沉浸式互动体验满足大家宇宙探险的心愿
近日神州十七号载人飞船迎来发射,随着我国载人航天工程进入空间站应用与发展阶段,在轨航天探索和运维工作进入常态化阶段,然而每次出征都牵动着亿万人民的心,对航天航空的好奇和向往也越来越强烈。为了让普通人也能体验乘坐飞船上…...
k8s集群中namespace状态一直显示Terminating
一、问题现象 今天在做测试时,在一个namespace下无法启动pod,查看ns状态一直显示Terminating [rootnode1 ~]# kubectl get ns NAME STATUS AGE configmap Terminating 135d default Active …...
数据库高速缓存配置
数据库一般都配置数据高速缓存,并且可以高速缓存中按页大小分不同的缓冲池。 Oracle: db_cache_size是指db_block_size对应的缓冲池,也可以指定非db_block_size的缓冲池,一般也都会再配置一个32K的缓冲池,两个缓冲池加…...
性能优化之懒加载 - 基于观察者模式和单例模式的实现
一、引入 在前端性能优化中,关于图片/视频等内容的懒加载一直都是优化利器。当用户看到对应的视图模块时,才去请求加载对应的图像。 原理也很简单,通过浏览器提供的 IntersectionObserver - Web API 接口参考 | MDN (mozilla.org),…...
【LeetCode刷题-链表】--1290.二进制链表转整数
1290.二进制链表转整数 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }*…...
搭建Radius认证服务器 安当加密
搭建Radius认证服务器需要完成以下步骤: 安装Radius服务器软件。可以选择使用FreeRadius、Radiusd或WinRadius等开源软件,也可以选择使用商业软件如Cisco或安当ASP等。配置认证数据库。在Radius服务器上配置认证数据库,用于存储用户信息和认…...
Windows11恢复组策略编辑器功能的方法
原因分析 日常工作学习中,对 Windows 计算机上的问题进行故障排除时,有些高级用户经常使用组策略编辑器轻松修复它。通过其分层结构,您可以快速调整应用于用户或计算机的设置。如果搜索结果中缺少组策略编辑器,则可能必须使用注册表编辑器作为疑难解答工具,这是一种更复杂…...
Django实战项目-学习任务系统-查询列表分页显示
接着上期代码框架,6个主要功能基本实现,剩下的就是细节点的完善优化了。 接着优化查询列表分页显示功能,有很多菜单功能都有查询列表显示页面情况,如果数据量多,不分页显示的话,页面展示效果就不太好。 本…...
Git 拉取指定TAG/分支的代码
像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。 1.创建 tag 标签 $ git tag <tagname&…...
2-爬虫-代理池搭建、代理池使用(搭建django后端测试)、爬取某视频网站、爬取某视频网站、bs4介绍和遍历文档树
1 代理池搭建 2 代理池使用 2.1 搭建django后端测试 3 爬取某视频网站 4爬取某视频网站 5 bs4介绍和遍历文档树 1 代理池搭建 # ip代理-每个设备都会有自己的IP地址-电脑有ip地址---》访问一个网站---》访问太频繁---》封ip-收费:靠谱稳定--提供api-免费ÿ…...
动手学深度学习——残差网络ResNet(原理解释+代码详解)
残差网络ResNet 1. 函数类2. 残差块3. ResNet模型4. 训练模型 ResNet为了解决“新添加的层如何提升神经网络的性能”,它在2015年的ImageNet图像识别挑战赛夺魁 它深刻影响了后来的深度神经网络的设计,ResNet的被引用量更是达到了19万。 1. 函数类 假…...
MYSQL 8.0 配置CDC(binlog)
CDC(Change Data Capture)即数据变更抓取,通过源端数据源开启CDC,ROMA Connect 可实现数据源的实时数据同步以及物理表的物理删除同步。这里介绍通过开启Binlog模式CDC功能。 注意:1、使用MYSQL8.0及以上版本。 2、不…...
软件测试/测试开发丨ChatGPT能否成为PPT最佳伴侣
点此获取更多相关资料 简介 PPT 已经渗透到我们的日常工作中,无论是工作汇报、商务报告、学术演讲、培训材料都常常要求编写一个正式的 PPT,协助完成一次汇报或一次演讲。PPT相比于传统文本的就是有布局、图片、动画效果等,可以给到观众更好…...
java对象的创建过程
一.类的加载与检查 当我们new了一个对象的时候,首先会去检查一下这个指令是否在常量池中存在符号引用,并且检查这个符号引用代表的对象是否被加载,解析初始化过,如果没有就要先去进行类加载过程 二.分配内存 我们通过第一步的检…...
Salesforce创建一个页面,能够配置各种提示语,而不需要修改代码
在Salesforce中创建一个页面,并使其能够配置各种提示语,可以使用自定义设置、自定义对象或自定义标签等方法来实现。以下是一种常见的方法: 自定义对象或自定义设置:您可以创建一个自定义对象或自定义设置来存储各种提示语的信息。…...
轻松管理MySQL权限:Python脚本带你飞
数据库管理是 IT 专家和开发者日常工作中的重要组成部分。一个合适的用户权限管理系统不仅确保了数据的安全性,还能确保数据能够按照预期的方式被正确地访问和修改。在本文中,我们将探讨如何使用 Python 脚本来管理和查询 MySQL 数据库中的用户权限。 用户权限管理:创建或修…...
Py之transformers_stream_generator:transformers_stream_generator的简介、安装、使用方法之详细攻略
Py之transformers_stream_generator:transformers_stream_generator的简介、安装、使用方法之详细攻略 目录 transformers_stream_generator的简介 1、Web Demo T1、original T2、stream transformers_stream_generator的安装 transformers_stream_generator的…...
2023年Zotero最新同步教程-使用TeraCloud的25G免费空间实时跨设备同步文献
文章目录 1. 前言2.1. 注册账号2.1.1. 填写注册信息2.1.2. 创建账号成功2.1.3. 注意2.2. 扩容空间2.3. 打开WebDAV 3. Zotero配置WebDAV同步3.1. 设置网址3.2. 验证服务器3.3. 文件同步成功 4. 结语 1. 前言 Zotero免费版的存储空间是300m,一个图文PDF动辄两三M&am…...
面试题:用宏定义写出swap(x,y),即交换两数。
鼠标选中查看答案↓: #define swap(x,y) do{(x)(x)(y);(y)(x)-(y);(x)(x)-(y);}while(0) 这个题考查宏定义的语法,尤其是多行代码的宏定义,加上do{}while(),,可以保证这些语句只执行一次。...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...
Redis上篇--知识点总结
Redis上篇–解析 本文大部分知识整理自网上,在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库,Redis 的键值对中的 key 就是字符串对象,而 val…...
