1 引言
串流是什么?简单来说就是通过网络将电脑的画面和声音实时传输到平板或手机上,同时可以远程操控电脑。根据网络环境的不同,串流可分为局域网串流和公网串流。局域网是指本地网络,通常覆盖范围较小,比如你家的Wi-Fi或手机热点。公网则是指互联网,覆盖范围很广,你能看到这篇文章就说明连接上了公网。局域网串流和公网串流的区别在于你能躺在哪里玩电脑。躺在自家沙发上、床上,甚至是浴缸里,这是局域网串流。不仅可以躺在自家,还可以躺在出差的首旅宜家、过年过节回的家,甚至是小女友家,这是公网串流。
串流的应用场景之丰富绝对不枉你的一番折腾。如果你是大学生,可以在宿舍打开电脑,在教室或图书馆用平板进行公网串流,搭配无线键鼠便可获得轻便、安静、相对完整的电脑体验。如果你是台式玩家,有了公网串流,过年回家时就不用再费心搬运那笨重的主机了。如果你是酷币打工人,有了公网串流,出差时就不必再背着笔记本电脑了。如果你有小女友,公网串流还能让你们同屏追剧、看电影以及玩联机游戏,岂不美哉。当然,如果你和我一样仅仅只是想躺在自家床上用平板和手柄玩Steam上的游戏,那么局域网串流就能完美实现这个愿望。无论你是出于何种目的想要远程访问自己的电脑,这篇文章都能帮你实现这个目标。
你可能会对标题中的极低成本、T0等产生怀疑,大可以放心,通过这篇文章以及你自己的努力,局域网串流的成本为0,公网串流的成本也不过一杯蜜雪冰城,其实甚至是可以实现零成本的。本文部署的流程以里程碑的形式展现,你可以在第3个里程碑后实现局域网串流,在第6个里程碑后实现公网串流。
本文通过公网串流完成撰写
2 技术栈
2.1 局域网串流(Moonlight+Sunshine)
· Moonlight是一款跨平台串流软件,早期基于NVIDIA GameStream协议,现通过Sunshine服务端支持AMD、Intel等多硬件平台,它开源免费且性能优异,同时有许多版本,本文选用iOS砖家版和安卓威力加强版进行演示。Moonlight将作为客户端工作在你的平板或手机等设备上。
· Sunshine是供Moonlight使用的自建游戏串流服务,它也开源免费且性能优异,同时也有许多版本,本文选用基地版进行演示。Sunshine将作为服务端工作在你的Windows电脑等设备上。
Moonlight+Sunshine
2.2 公网串流(+IPv6+Lucky)
· Moonlight+Sunshine的局域网串流方案应该是目前最优方案之一,公网串流方案就仁者见仁智者见智了。当前的公网串流方案主要包括公网IPv4/v6和内网穿透技术(如网易UU远程、Zerotier、TailScale和皎月连等),它们优劣势各不相同,你可以自行尝试。IPv6的优势在于普及率高易获取、直连且延迟低、带宽更大更稳定、安全性高以及成本极低等,劣势在于部署比较复杂。
· Lucky是一款跨平台网络管理工具,基于Golang开发并集成端口转发、动态域名解析ddns和内网穿透等多种功能。Lucky将工作在你的Windows电脑等设备上并为你提供动态域名解析服务。
3 链接
3.1 Moonlight
3.1.1 Moonlight iOS砖家版项目地址
查看链接
3.1.2 Moonlight iOS砖家版下载地址
法1:登录外区AppleID后打开下面的链接:查看链接
法2:Apple Store搜索并安装TestFlight后打开下面的链接:查看链接
3.1.3 Moonlight iOS砖家版开发者b站社区支持
查看链接
3.1.4 Moonlight 安卓威力加强版项目地址
查看链接
3.1.5 Moonlight 安卓威力加强版下载地址
查看链接
3.2 Sunshine
3.2.1 Sunshine 基地版项目地址
查看链接
3.2.2 Sunshine 基地版下载地址
查看链接
3.2.3 Sunshine 基地版官方教程
查看链接
3.3 公网串流
3.3.1 IPv6连接测试
查看链接
3.3.2 本机IPv6地址
查看链接
3.3.3 腾讯云域名购买
查看链接
3.3.4 Lucky项目地址
查看链接
3.3.5 Lucky下载地址
查看链接
4 里程碑
4.1 里程碑1——安装并配置Sunshine
查看3.2.2下载地址和3.2.3官方教程。请注意,务必查看官方教程,楼主因为没有查看官方教程在这里踩了很多坑。另外,若出现黑屏且官方教程中的方法失效,可以尝试按Win+Ctrl+Shift+B重启显卡驱动,也可通过重启电脑进入安全模式卸载虚拟显示器解决。
Sunshine请安装在C盘默认路径,否则会导致部分功能失效。
安装完成后在任务栏中右键Sunshine点击Open Sunshine进行配置。
Configuration——General——Locale——简体中文——保存应用,关闭Sunshine再重新打开即可切换至中文。
配置——Audio/Video——适配器名称选择你的独立显卡。
输出显示器指定——就是要用虚拟显示器~。
串流时显示器组合状态设定——禁用其他显示器,只启用指定显示器。
在虚拟显示器支持分辨率中添加平板或手机的分辨率,分辨率如何获取将在下文中介绍,请注意如图所示的2732x2048中的x不是乘号而是字母,添加好后点击保存应用。
配置——Network——启用UPnP。
IP 地址族——IPv4+IPv6。
允许的Web UI访问来源——任何人都可以访问Web UI。
禁用公网加密模式——保存应用。
4.2 里程碑2——安装并配置Moonlight
iOS用户查看3.1.2下载地址,安卓用户查看3.1.5下载地址,安装完成后进行配置。
4.2.1 iOS配置
下图中的全屏分辨率是楼主平板的分辨率,需要将它添加到上文的Sunshine虚拟显示器支持分辨率中。
启用优化游戏设置以实现自动修改游戏分辨率。
4.2.2 安卓配置
下图中的原生全屏分辨率是楼主安卓手机的分辨率,需要将它添加到上文的Sunshine虚拟显示器支持分辨率中。
启用优化游戏设置以实现自动修改游戏分辨率。
4.3 里程碑3——PIN码配对
4.3.1 iOS配对
将你的iOS设备与电脑连在同一局域网中,然后在Windows设置中获取电脑局域网地址,下图中楼主电脑的局域网地址为192.168.31.160。
在Moonlight手动添加远程主机中输入电脑局域网地址。
点击锁会弹出PIN码,将该PIN码输入到Sunshine的PIN码配对中再点击发送。
点击DESKTOP进行局域网串流。
局域网串流在平板上的效果展示,延迟能保持在10ms以内。
请注意,键鼠手柄耳机等设备连接平板即可。若要退出串流请点击DESKTOP退出应用,此时电脑屏幕便会亮起。
4.3.2 安卓配对
将你的安卓设备与电脑连在同一局域网中,然后在Windows设置中获取电脑局域网地址,下图中楼主电脑的局域网地址为192.168.31.160。
在Moonlight手动添加电脑中输入电脑局域网地址。
点击锁会弹出PIN码,将该PIN码输入到Sunshine的PIN码配对中再点击发送。
点击DESKTOP进行局域网串流。
局域网串流在安卓手机上的效果展示,延迟能保持在20ms以内。
请注意,键鼠手柄耳机等设备连接手机即可。若要退出串流请左滑点击断开并退出串流,此时电脑屏幕便会亮起。
4.4 里程碑4——光猫及路由器配置
为了进行公网IPv6串流,你需要将你家的光猫从默认的路由模式切换至桥接模式,同时使用你家的路由器进行拨号上网。桥接模式可以简单理解为将光猫仅作为光电转换器而不再承担处理功能,这使得我们既可以方便的控制防火墙,也能大幅提升网络性能。在进行配置前你需要知道家中的宽带账号密码,请提前查询清楚。默认账号一般是电话号码,密码一般是123456、123123或手机号后6位,若密码错误可以在运营商APP上重置。
4.4.1 实现光猫桥接+路由器拨号模式
楼主家的光猫是中兴的移动老光猫f663n,路由器是红米AX3000。为了实现光猫桥接,你需要知道你家光猫的超级密码,目前三大运营商均已采用动态超密,获取比较困难,
这里提供两种思路:思路1.根据网上重置光猫的教程搭配常用的默认超密来登录管理员后台。常用的默认超密如下,
电信超级账号:telecomadmin 超级密码:nE7jA%m或admintelecom
移动超级账号:CMCCAdmin 超级密码:aDmH%MdA
联通超级账号:超级管理员或CUAdmin 超级密码:CUAdmin
思路2.询问装你家光猫的装维人员或者在闲鱼上从装维人员处获取。楼主在网上找了一圈也没找到f663n的默认超密,最后是在闲鱼花费3元从装维处获得动态超密。
下面的配置过程你可以作为参考。
获取到超密后,你需要通过光猫WiFi或网线连接上光猫,在浏览器中输入默认配置地址192.168.1.1,输入超级账号密码进行登录。
管理——设备管理——强推配置——关闭强推。
你需要将LOID、PASSWORD和SN认证码复制到记事本中保存,这三个参数非常重要。
网络——宽带设置——Internet连接——连接名称选择INTERNET_R_VID——记下VLAN ID——删除。
新建WAN连接——IP协议版本选IPv4/v6——模式选Bridge——端口根据自己情况绑定——业务模式选INTERNET——VLAN模式选改写(tag)——填写VLAN ID——创建。
网络——远程管理——LOID认证——填写LOID——确定。
PASSWORD认证——填写Password——确定。
SN认证——填写SN——确定——等待重启。
登录路由器后台——常用设置——上网设置——上网方式选PPPoE——填写宽带账号密码——应用。
4.4.2 关闭路由器IPv6防火墙
常用设置——上网设置——打开IPv6网络设置——选择Native方式——关闭防火墙——应用。
4.5 里程碑5——IPv6地址串流
4.5.1 禁用IPv6临时地址
在电脑上按Win+R弹出运行后输入cmd,再按Ctrl+Shift+Enter以管理员身份运行cmd,输入下面的代码并按回车,重启电脑。
netsh interface ipv6 set privacy state=disable
4.5.2 配置电脑防火墙
为了网络安全最好不要完全关闭电脑防火墙,我们可以选择开放某些特定端口供串流使用。在电脑上按Win+R弹出运行后输入cmd,再按Ctrl+Shift+Enter以管理员身份运行cmd,分别输入下面两段代码并按回车。
netsh advfirewall firewall add rule name='sunshine_udp' dir=in protocol=udp localport=47998,47999,48000 action=allow
netsh advfirewall firewall add rule name='sunshine_tcp' dir=in protocol=tcp localport=47984,47989,47990,48010 action=allow
4.5.3 使用IPv6地址进行串流
打开3.3.1IPv6连接测试链接:查看链接。
打开3.3.2本机IPv6地址获取链接:查看链接,复制该地址。
关闭手机WiFi并使用5G网络,在Moonlight手动添加远程主机中输入:[IPv6地址],注意一定要加中括号,顺利的话会显示主机信息已更新,现在即可进行公网串流。
4.6 里程碑6——动态域名解析
使用IPv6地址进行串流会面临一个无法回避的问题,即IPv6地址的前缀会因为运营商的动态分配而发生变化,为了解决这个问题你需要通过动态域名解析ddns服务来将本机IPv6地址与域名进行绑定,然后我们在Moonlight中添加域名即可进行公网串流。
4.6.1 购买并配置域名
注册并实名制腾讯云,打开3.3.3域名购买链接:查看链接,注意实名制需要身份证。下图是楼主购买的域名,花费1.43元。
腾讯云搜索栏——搜索访问管理——访问密钥——API密钥管理——新建密钥,将SecretId和SecretKey复制到记事本中保存。
腾讯云搜索框——搜索我的解析——解析。
添加记录——主机记录填写@——记录类型选择AAAA——记录值填写本机IPv6地址——确认。
4.6.2 配置Lucky服务
查看3.3.5下载地址,下载解压后双击lucky.exe运行。
在任务栏中右键Lucky,设置开机启动,点击打开Lucky后台进行配置。
动态域名——添加任务——服务商选择腾讯云——填写你之前保存在记事本中的SecretId和SecretKey——类型选IPv6——通过接口获取——域名填写你购买的域名——添加任务。
若获取到公网IP则说明解析成功。
4.6.3 使用域名进行串流
关闭手机WiFi并使用5G网络,在Moonlight手动添加远程主机中输入你购买的域名。
下面两张图片分别是楼主的iOS设备和安卓设备在IPv6公网串流中的效果展示,延迟均能保持在100ms以内。请注意,若使用5G进行串流可以适当降低码率以节省流量。
5 选做
5.1 光猫开启telnet、删除tr069和关闭rms服务
防止运营商修改超级密码以及将光猫桥接模式改回路由模式。
5.2 远程开机
设置BIOS通电开机,再买个智能插座。
折腾Wake On Lan。
6 @酷安小编 #电脑玩家# #串流#
|