Moonlight 您所在的位置:网站首页 远程串流parsec Moonlight

Moonlight

2023-06-06 21:20| 来源: 网络整理| 查看: 265

虽然网上已经有很多相关介绍,但随着版本更替,很多教程已经过时,例如手柄驱动、音频驱动,都是不需要的。最主要的是Sunshine版本发生了很大变动,Windows版本现在直接通过exe安装。

Moonlight是NVIDIA的GameStream协议的开源实现,可以方便的将Windows电脑画面传输到各主流操作系统的客户端软件上,甚至可以直接传输至谷歌浏览器。画面方面最高支持4K120帧,且支持HDR(需要显卡支持);交互方面支持键鼠和手柄,就像用自己的电脑一样使用远程电脑。该方案无广告,完全免费,这也是相对商业软件Parsec的最大优势。

通过Moonlight,你可以实现很多功能,例如:

在宿舍运行主机,在教室用平板串流,搭配键鼠即可获得完整电脑体验;

远程同屏追剧、看电影;

通过串流游玩单机双人游戏,也可以避免部分游戏自带联机功能网络不佳的情况;

当作自己的云主机,随时随地用轻小设备访问。

Moonlight官网地址:https://moonlight-stream.org。在网页顶部的CLIENT DOWNLOADS中可以选择各平台的客户端进行下载。客户端指的是观看画面的设备,主机则指产生画面的设备,下面先介绍主机配置。

主机配置

如果使用英伟达的较新显卡(具体要求如下),则可以直接在Geforce Experience软件中开启GameStream功能。但现在已经不建议使用这种方式,直接采用后面的Sunshine开源方案是更好的选择。

英伟达串流要求开启GameStream功能

Geforce Experience会自动扫描游戏,串流时点击一个游戏会自动打开,退出串流时会自动退出游戏。直接串流桌面更加的方便,默认并没有这个选项,需要手动添加这个位置C:\Windows\System32\mstsc.exe。这时会多出一个名为“mstsc”的应用,可以编辑名称改为“桌面”。

添加桌面

但由于英伟达的串流服务已经退出中国市场,因此在正常网络环境下不会出现SHIELD选项。需要使用加速器或Clash TUN模式在任务管理器中重启NvContainerLocalSystem服务,再打开Geforce Experience即可暂时恢复该选项(重启后会再次消失)。想方便可以写一个批处理文件,具体步骤为:新建一个文本文档,写入下述代码,保存并重命名为Restart the NvContainer service.bat,注意要包括后缀,如果看不到文本文档的.txt后缀则要在“查看”选项中选中“文件扩展名”。运行该文件即可自动完成重启服务操作。

@echo off

%1 mshta vbscript:createobject("shell.application").shellexecute("%~s0","::","","runas",1)(window.close)&exit

net stop "NvContainerLocalSystem"

net start "NvContainerLocalSystem"

pause

显示文件扩展名

根据英伟达官方的通知https://nvidia.custhelp.com/app/answers/detail/a_id/5436,GameStream服务将完全终止。虽然Geforce Experience还未删除GameStream功能,但该功能随时可能在之后的更新中删除。

如果不满足显卡要求或网络要求,或者GameStream已经被删除,Moonlight官网还提供了Sunshine主机端以代替Geforce Experience的GameStream功能,这使得任意显卡均能使用串流功能。根据开发者描述,从 Sunshine v0.18 开始,它在许多配置中的串流性能已经达到或超过 GeForce Experience。Sunshine的发布地址为https://github.com/LizardByte/Sunshine/releases,在最新版本下方的Assets中找到sunshine-windows-installer.exe并下载安装,如果找不到就选择Show all。

Sunshine发布页面

按照默认设置安装完成之后,开始菜单会多出Sunshine图标,打开会转到https://localhost:47990/(也可以直接浏览器访问该地址),该网页即Sunshine配置页面,由于服务器使用https但无证书,因此浏览器会提示隐私错误,继续访问即可。

Sunshine配置页面

进入Sunshine页面之后需要注册,然后使用账号密码登录该网页。在配置页面顶部选择PIN,就来到了配对页面。当有新的客户端需要进行串流时,就需要将客户端上的验证码输入在这里并点击Send,即可配对成功。

Sunshine配对页面

主机需要连接显示器才能正常串流,如果是笔记本则不能合盖。要在无显示器状态下串流,可以买一个显卡欺骗器接在电脑上,效果相当于外接一台显示器。另一种办法是虚拟显示器,效果未经验证,性能表现可能更差。

当主机连接了多个显示器时,Moonlight客户端默认连接主显示器。

客户端配置

如果使用电脑作为客户端,在https://github.com/moonlight-stream/moonlight-qt/releases根据自己的系统选择对应的版本即可。

如果使用iphone作为客户端,直接在App store下载Moonlight即可,不过只有英文,暂时不能调整语言。

如果使用安卓手机作为客户端,如果无法使用Play商店,可以在https://apkpremier.com/download/com-limelight下载apk安装包。

保持主机和客户端在同一局域网内,打开客户端软件,应该能够看到主机的计算机名。点击会弹出4位PIN码,如果主机使用Geforce Experience,电脑会弹出输入框;如果主机使用Sunshine,则需要在网页中输入PIN码。建立连接后,点击桌面(DESKTOP)将启动桌面串流。

在客户端设置中,可以调整分辨率、帧数、码率等设置,但要注意分辨率越高,延迟也会增加(主要因为编解码时间增加),而帧数增加可以减小一点显示延迟(不超过主机和客户端刷新率的情况下)。使用Windows客户端要牢记Ctrl+shift+alt+q是退出串流的快捷方式,全屏状态下各种操作都会视为对远程电脑的操作。

默认情况下,串流开始后,只在客户端播放声音。这里有一个小问题,如果主机使用Geforce Experience进行串流,退出串流后主机依然没有声音,需要长按应用/游戏彻底结束串流才能恢复(针对安卓客户端,其他平台未测试)。如果想要在客户端和主机同时播放声音,在客户端设置中开启“在电脑上播放声音”即可。

远程串流

由于Geforce Experience和Sunshine默认只在本地网络监听端口,客户端和主机位于同一局域网内才能连接成功,如果要真正实现远程连接,最简单稳定的方法是公网直连。

如果主机拥有公网IPv4地址或主机和客户端都有公网IPv6地址,则可以进行远程串流。

如果不知道是否拥有公网IPv4地址,则基本不可能有公网IPv4地址。

如果不知道是否拥有公网IPv6地址,可以访问https://ip.sb/,如果在IPv6栏显示Supported则代表拥有公网IPv6地址。

Sunshine项目开发者介绍只需打开配置网页中的UPnP就可自动将端口转发到公网IP地址,但实测无效(测试基于IPv6),暂时不清楚原因。

因此,不管通过Geforce Experience还是Sunshine进行串流,都需要下载额外的端口转发工具,下载链接为https://github.com/moonlight-stream/Internet-Hosting-Tool/releases,点击下载InternetHostingToolSetup-vx.x.exe(选最新版即可)并安装,即可通过互联网进行远程串流。

如果客户端依然显示主机离线,往往是因为光猫或路由器打开了IPv6防火墙,需要手动关闭。例如我的光猫型号为HS8145X6,默认情况下是打开IPv6防火墙的。注意如果没有配对过,但又不方便局域网配对,则只能手动输入IP地址来添加主机,在cmd(命令提示符)中输入ipconfig即可查看IP地址。

关闭IPv6防火墙

值得说明的是,目前各大运营商已经全面支持IPv6,校园网和移动数据基本都支持IPv6。家庭宽带如果无法获得IPv6地址,一般是由于光猫或路由器型号太旧。另外,代理默认情况下一般不支持IPv6,串流时需注意关闭代理。

如果实在没有公网IP地址,可以使用ZeroTier实现异地组网,但是延迟会更高,使用方式可以参见网上教程,下载地址为https://www.zerotier.com/download/。组网后无需额外设置,可以直接像局域网一样串流。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有