在自建游戏串流这条路上,Sunshine 与 Moonlight 是出现频率最高的开源组合。一份围绕这两款工具展开的完整指南近日整理完成,内容覆盖主机端配置、客户端选择、延迟优化,以及自建方案与商业串流、加速服务之间的取舍。
先看分工。Sunshine 承担主机端角色,运行在负责渲染和编码的机器上,把游戏画面压缩成视频流推出去;Moonlight 承担客户端角色,装在接收端,负责解码、显示,并把操作指令传回主机。两者职责不能对调,整套方案的画质与延迟上限,主要由主机端决定。
主机端首先要处理的是编码。硬件编码器是首选,显卡自带的编码单元效率远高于软件编码,CPU 占用和延迟都更可控。不同显卡厂商提供的编码路径并不相同,走哪一条,取决于主机上装的是什么卡。编码参数里,码率与分辨率直接决定画质,帧率决定流畅度,三者互相牵制:码率给低了画面发糊,给高了网络扛不住。指南给出的思路是先锁定分辨率和帧率,再按实际网络条件反推码率。
主机端还有一件容易被忽略的事:网络位置。主机用有线接入路由器,是这套方案里最基础的一条纪律。无线连接会引入抖动,而串流对抖动的敏感度高于对带宽的敏感度。
客户端的选择面比主机端宽。Moonlight 在桌面系统、移动端、电视盒子等多个平台上都有对应版本,不同平台的解码能力、手柄支持和显示输出各不相同。指南把客户端按使用场景射、震动反馈,也都在客户端这一层解决。
延迟优化是整份指南篇幅最重的部分。延迟由几段叠加而成:主机端采集与编码、网络传输、客户端解码与显示,再加上输入指令回传。任何一段拖后腿,体感都会变差。可调的手段包括降低编码负载、减少中间网络跳数、关掉客户端上的后处理、把显示设备切到低延迟模式。指南强调逐段排查,而不是一次性把所有参数拉满——参数堆得太高,反而会把瓶颈推到网络那一段。
最后是取舍。商业串流服务的优势在于省事,主机不用自己维护,游戏库和服务器由服务方提供,代价是订阅费用、可用游戏范围受限制,以及机房与用户之间的物理距离无法改变。自建方案的优势在于自由,硬件是自己的,游戏是自己的,局域网内可以把延迟压得很低,代价是配置门槛、长期维护成本,以及离开家庭网络之后的链路质量不可控。加速服务解决的是另一类问题,它优化的是公网路径,弥补不了主机端编码和客户端解码上的短板。
这两类方案并不互斥。局域网内自建、出门用商业服务,是不少玩家实际采用的组合。判断标准也很直接:如果大部分时间在同一张桌子前玩游戏,自建的收益最大;如果经常在外部网络下、设备也不固定,商业方案省下的时间更值钱。
微信扫描下方的二维码阅读本文