![通过 LAN 进行游戏,VNC 替代品?](https://linux22.com/image/1374208/%E9%80%9A%E8%BF%87%20LAN%20%E8%BF%9B%E8%A1%8C%E6%B8%B8%E6%88%8F%EF%BC%8CVNC%20%E6%9B%BF%E4%BB%A3%E5%93%81%EF%BC%9F.png)
好吧,我对此做了不少功课,并开始认为世界在某种程度上反对这个想法。
我家里有一台笔记本电脑,SB Core i3 配备 GMA HD GPU,这对于所有视觉效果来说都非常糟糕,我想从我的 3D 台式机上流式传输视频(排除 RDP 和其他基于挂钩的协议)。
大多数人对类似帖子的第一反应要么是带宽,要么是处理能力。我首先尝试使用千兆局域网,我的台式机有超频的 3930k,所以我认为应该在 CPU 负载和带宽之间取得平衡,这样我才能获得至少 20FPS 的全屏刷新率。到目前为止,我无法使用 TightVNC,通过在主机上全屏播放视频进行测试。
总而言之,有了超过 30 倍的 OnLive 带宽,我究竟如何才能在自己家里通过 LAN 创造均匀流畅的视频传输?这可能吗?如何做到?
答案1
软件解决方案本质上会包含很多滞后,原因如下:
- 从 GPU 的帧缓冲区读取数据非常慢。
- 即使目标比特率约为千兆以太网的 80%(由于饱和导致的损害,您不希望 100% 的利用率),大多数视频编解码器也会消耗巨大的实时编码 1080p 所需的 CPU 数量。即使您有 GPU 辅助编码,您也会消耗渲染游戏的设备本身的处理能力,这可能会大大降低游戏的帧速率,因为大多数 GPU 在独立程序之间进行多任务处理的能力较差。
- 持续的千兆以太网 I/O 本身(仅通过网络发送完成的数据)会因中断而消耗大量 CPU。虽然会造成一定的延迟,但您可以使用中断调节(较新的服务器以太网芯片组的一个功能)来降低 CPU 使用率。
如果您希望它流畅且令人愉快,您应该使用采集卡。
以下是此类设备的一个示例:http://www.epiphan.com/products/frame-grabbers/vga2ethernet/
该设备的总体概念是:
- 您将设备插入显卡
- 你将显示器插入设备
- 将设备的以太网输出插入计算机或路由器
- 你可以通过以太网访问设备的网络界面,并且可以观看流媒体视频、无损视频、全屏视频(如果你愿意的话)
由于该设备使用专用硬件对帧进行编码并通过以太网传输,因此它将非常流畅、FPS 高且可靠。它还大大简化了您的软件设置,无需在您的游戏设备上使用昂贵的管道解决方案。
如果您不想花钱,并且可以忍受极度延迟和极低的 FPS,您可以尝试在 Gstreamer 或 VideoLAN (VLC) 中编写管道来捕获本地帧缓冲区,使用某些视频编解码器对其进行编码,然后通过 Shout 或 RTP 或 RTSP 或类似的流媒体协议进行流式传输,然后从速度较慢的计算机上下载/流式传输。但正如我警告过您的那样,这会很慢。
答案2
您可以使用 Steam 进行家庭流媒体播放。我的台式机通过千兆局域网连接,笔记本电脑使用 5Ghz AC,效果非常好。只需记住检查设置并选中复选框以在流媒体播放时优先处理 Steam 流量。
答案3
Steam 远程畅玩绝对是一个选择。玩过很多次,例如 Rocket League。如果双方都有良好的 LAN 连接,那么一切就都好了。甚至可以将游戏手柄插入笔记本电脑。
答案4
现在还有更多选择。如果您有最新的 Nvidia 显卡,您可以享受硬件加速捕获的好处,而无需额外的硬件。它被称为“Gamestream”。您可以购买支持该协议的 Nvidia 设备之一,也可以下载名为“Moonlight”的开源应用程序http://moonlight-stream.com