网络应用

手机玩电脑游戏?浅谈Nvidia串流

前言

何为游戏串流
简单来说就是通过网络用客户端去“遥控”服务端进行游戏。用手机和电脑做例子,电脑把游戏画面传送给手机,手机把用户输入回传给电脑,实现实时互动。

为何选择Nvidia串流?

  1. 显卡驱动原生功能,稳定高效(最高支持4k60帧100mbps码率串流,或是较低分辨率下120帧串流);
  2. 可以运行任何软件(不仅是游戏),远程办公不是问题;
  3. 客户端支持广泛,包括Nvidia Shield设备、iOS、安卓、win、Mac,甚至是装了自制系统的psvita。

需要的设备
服务端:
一台搭载了gtx660或以上Geforce系列显卡的Windows电脑(只支持n卡,只支持Windows);
客户端:
任意一部安卓设备、iOS设备、电脑或者安装了自制系统的psvita;
网络:
局域网下串流,建议配备支持802.11ac或以上的无线路由器;
广域网串流,请保证服务端上行网速至少20mbps,客户端下行网速至少20mbps,并且服务端跟客户端之间的ping值小于40ms。


配置教程:视频


配置教程:基础篇

——本篇将介绍如何实现局域网下串流
第一步
检查服务端是否安装了GeforceExperience。如果没有,请至Nvidia官网下载最新显卡驱动,在安装时记得勾选“安装驱动+GeforceExperience”;

第二步
在客户端下载moonlight game streaming

第三步
确保服务端跟客户端连接了同一个网络。如果你使用的是公用网络,比如公司或学校的网络,防火墙可能会阻止客户端互相访问。这种情况下,请参见本文进阶篇;

第四步
在服务端打开GeforceExperience(可能会要求你注册并登陆账号),在右上角找到设置,点击并找到shield选项,开启gamestream;客户端打开moonlight,会自动找到服务端,点击并配对即可;

GeForce01.PNG

GeForce02.PNG

第五步
GeforceExperience默认只会自动搜索到服务端安装的游戏,不过用户可以在设置-shield界面手动添加应用。比如,添加“C:WindowsSystem32mstsc.exe”即可在串流中直接进入电脑桌面,实现远程办公。

总结
至此,你已经实现了在同一网络下串流。你尽可以通过机顶盒串流在客厅电视上进行游戏,或是躺在沙发上用手机游玩。


配置教程:进阶篇

——本篇将介绍如何实现广域网串流
第一步
检查自己是否拥有公网IP:如果有路由的管理权限,请登陆路由控制面板查看路由获得的IP地址,再在搜索引擎中搜索“IP”来查看自己的网络出口IP,如二者一致则说明路由拥有公网IP;二者不一致,或是根本没有路由管理权限(如使用公司或学校等公共网络时),请直接参考第三步;

第二步
如果拥有公网IP,请通过端口映射将服务端串流需要用到的端口映射到广域网。如果是服务端电脑直接拨号上网(这种情况很少见),那么基本上什么都不用做,确保防火墙打开即可;如果服务端连接家用路由器上网,请访问路由器控制面板(通常是http://192.168.1.1)并按照下图设置端口映射

ports.png

设置完成后可以点击此处检查端口是否成功映射,依次输入八个端口并点击check port即可;

第三步
如果没有公网IP,则建议使用内网穿透。本文推荐使用frp

第四步
在客户端打开moonlight,手动添加服务端(广域网范围太大无法自动搜索到),在弹出的窗口中输入你的公网IP(如果你拥有公网IP并做好端口映射),或是内网穿透服务器的IP(如果你使用内网穿透);

总结
至此,你已经可以在任何有稳定网络连接的地方进行串流了。不论是在咖啡厅、朋友家,甚至是公交车上,都可以随时享受游戏。


配置教程:高级篇

——本篇包括Nvidia串流的各种疑难解答,如何通过网络远程启动服务端,以及通过EXSi虚拟化搭建大型的串流服务器

解决Nvidia串流与Windows远程桌面不兼容问题
作为一个系统级应用,当客户端连接至Windows远程桌面时,当前在本地登陆的账户将自动登出。(我并不清楚Windows远程桌面的工作原理,不过显然在连接启动的时候,电脑将进入某种“远程状态”并导致部分功能不可用,如DirectX。)即使在断开远程桌面连接后,账户也不会自动在本地登录,Windows将会保持在锁屏状态。这显然会影响到游戏串流的运行。

目前的解决方案有两个。其一,设置Windows开机自动登陆,具体方法参见第三方教程。设置好之后,在每次使用完Windows远程桌面后,点击重启计算机,稍等片刻,在系统重启并自动登陆后,就能在moonlight中看到服务端恢复“online”状态了。

第二个解决方案,通过破解补丁允许多账户同时登陆Windows,方法参考第三方教程。设置完毕后,在Windows中新增一个本地账户,然后在本地登陆这个子账户;接下来,由于我们仍然使用主账户连接远程桌面服务,且Windows已经允许多账户同时登陆,在启用远程桌面后本地子账户不会自动登出,Nvidia串流也就可以一直正常使用了。要注意的是,一定要确保本地登陆的是子账户而不是主账户(如果本地登陆了主账户,远程桌面启动时仍会被自动登出);另外,Nvidia串流是运行在子账户上面的,请注意在子账户配置好GeforeExperience,并手动同步游戏存档。

//正在施工中

回复

  1. Tom Tom
    Chrome 71 10

    在广域网串流的阻力就是公网ip和延时了......如果不是同城并且同运营商,体验可能不是很好;而且现阶段还受运营商上行带宽的限制。不过还是很看好串流玩游戏这种方式,希望有一天真的可以随时随地进行大游戏而不必带着厚重的游戏本

This is just a placeholder img.