简介这份资源是面向串流游戏与超低延迟应用场景的完整工具组合包含 Sunshine 服务端与 Moonlight 客户端覆盖 X86、X64 及 Android 平台适合希望搭建自建串流环境、追求低延迟高画质体验的玩家与开发者。压缩包共 2868 个文件约 64.79MB以 2023 个 svg、415 个 js、107 个 scss 等前端资源为主辅以 ts、flow、map 等工程文件以及 bat 安装脚本、exe 可执行程序、hlsl 着色器、json 配置与多语言字体等构成一套可部署、可调试的完整工程。资源同时提供 install-service、add-firewall-rule、migrate-config 等批处理脚本便于快速完成服务注册与网络配置。目前已有 16453 人学习下载说明该方案在串流社区具备较高认可度。通过这份资源读者可获取服务端与客户端配套文件、跨平台部署素材及工程目录结构用于搭建 AMD、NVIDIA 及 Intel 核显环境下的低延迟串流方案并借助 Android 客户端实现移动端接入。1. 串流这套组合拳Sunshine 服务端配 Moonlight 客户端到底能解决什么家里有台性能还行的台式机但你想在客厅电视、卧室平板或者出差带的轻薄本上接着玩 3A 大作这种场景下 Sunshine 加 Moonlight 就是目前最省心的自建串流方案。Sunshine 跑在装有显卡的那台主机上负责把画面编码成视频流推出去Moonlight 装在你要看的设备上负责解码显示并把键鼠手柄操作回传。它俩配合起来等于把主机的算力借给了另一块屏幕。这次拿到的资源包把服务端和客户端都打包齐了客户端覆盖 X86、X64 和安卓三种架构意味着你手头的 Windows 轻薄本、老款平板、安卓电视盒子基本都能找到对应安装包不用再满世界单独找某个平台的版本。适合谁适合有独立显卡主机、想低成本搭一套私有串流环境、又不想折腾复杂配置的从业者和玩家。下面我按实际拆包和配置的顺序把选型理由、参数设置和踩过的坑一条条讲清楚。2. 先搞懂 Sunshine 与 Moonlight 的分工为什么不是随便装个远程桌面2.1 串流和远程桌面的本质差别很多人第一反应是「我用远程桌面不就行了」但远程桌面协议是为办公场景设计的它优化的是文字和静态画面对帧率和延迟不敏感。你用它打游戏画面会糊成一团操作延迟能到几百毫秒。Sunshine 走的是视频编码推流的路子它调用显卡的硬件编码器NVIDIA 的 NVENC、AMD 的 AMF 或者 Intel 的 QuickSync把游戏画面实时压成 H.264 或 HEVC 视频流Moonlight 端再用硬件解码器还原。整个过程延迟可以压到十几毫秒画质能上 1080P 甚至 4K。这个差别决定了它俩不是替代远程桌面而是专门为低延迟高画质场景生的。2.2 资源包里三个平台客户端怎么选资源包里的客户端分了 X86、X64 和安卓三类这不是随便分的。X64 对应现在主流的 64 位 Windows 系统绝大多数台式机和近几年的笔记本都装这个X86 是给还在跑 32 位系统的老设备准备的比如一些老旧的 Windows 平板或者工控机虽然现在少见但确实还有存量安卓包则是给电视盒子、安卓平板和手机用的。选的时候先确认自己设备的系统架构Windows 上在「设置 → 系统 → 关于」里看「系统类型」安卓设备一般近几年的都是 arm64 架构直接装通用安卓包即可。装错了架构程序要么打不开要么跑起来直接闪退这是最常见的翻车点。2.3 服务端 Sunshine 的安装与首次配置Sunshine 服务端的安装不算复杂但首次配置有几个关键项必须设对。下载对应系统的安装包后一路下一步装完它会自动在后台起服务然后你需要在浏览器里打开它的管理页面默认监听本机某个端口安装完会提示。第一次进去要设置用户名和密码这个凭据是给管理页面和客户端配对用的别设太简单。进去之后重点看「Applications」和「Audio/Video」两块。Applications 里可以添加你要串流的游戏或程序Audio/Video 里选编码器和分辨率。下面这段是配置编码器时常见的参数调整思路用命令行方式演示如何确认本机支持的编码器# 查看 NVIDIA 显卡支持的编码器情况需装好驱动 nvidia-smi --query-gpuname,driver_version --formatcsv # 查看显卡编码器占用串流时可以用它确认是否走了硬件编码 nvidia-smi pmon -c 1第一行命令确认显卡型号和驱动版本驱动太老会导致 Sunshine 里选不到 NVENC 编码器。第二行在串流过程中执行如果看到编码器enc那一列有占用说明硬件编码生效了如果一直是 0那大概率是回退到了 CPU 软编画面会卡顿且 CPU 占用飙升。参数上编码器优先选硬件编码分辨率按你客户端屏幕的实际分辨率设帧率设 60码率根据网络情况在 20Mbps 到 50Mbps 之间调。局域网内可以拉高跨网络就要保守些。3. 客户端配对与串流参数调优从能连上到连得稳3.1 Moonlight 客户端添加主机的完整流程服务端配好后打开 Moonlight 客户端它会自动搜索局域网内的 Sunshine 主机。如果没搜到点「手动添加」输入主机的局域网 IP 地址。添加后会弹出一个四位数的配对码你需要回到 Sunshine 的管理页面在「PIN」那一栏输入这个码完成配对。配对成功后客户端会列出服务端配置好的应用列表点进去就能开始串流。这里有个细节主机 IP 建议在路由器里设成静态分配不然重启后 IP 变了客户端就得重新添加。安卓端和 Windows 端的操作逻辑一致只是界面布局略有不同。3.2 码率、分辨率和帧率的取舍串流质量的核心就三个参数分辨率、帧率、码率。分辨率决定画面清晰度帧率决定流畅度码率决定画面在运动时会不会糊。三者互相牵制网络带宽是总闸。我一般这么设局域网千兆环境下1080P 60帧 码率给到 30Mbps 到 40Mbps画面基本无瑕疵如果是 4K 60帧码率要拉到 80Mbps 以上对网络要求很高。跨网络串流时先测上传带宽码率设成上传带宽的六成左右比较稳。帧率方面如果客户端屏幕只有 60Hz设 60 帧就够设高了反而浪费带宽。下面这段是排查网络质量时常用的命令# 持续 ping 主机观察延迟和丢包 ping -t 192.168.1.100 # 用 iperf3 测客户端到主机的实际带宽需两端都装 iperf3 iperf3 -c 192.168.1.100 -t 30ping 命令看的是延迟稳定性如果延迟忽高忽低或者有丢包串流就会卡顿甚至花屏。iperf3 测的是实际吞吐如果测出来只有几十兆那码率就不能设太高。注意 iperf3 测的是 TCP 吞吐实际串流走 UDP数值仅供参考但能反映网络底子。3.3 手柄和键鼠的映射处理Moonlight 客户端支持手柄直连Xbox 手柄和 PlayStation 手柄插上客户端设备基本能即插即用。如果手柄是插在服务端主机上的那串流时操作的是主机本地客户端这边反而没反应这点要分清楚。键鼠方面Windows 客户端可以直接用安卓端接键鼠要看设备支持。遇到手柄识别不了的情况先确认客户端系统的手柄驱动是否正常再看 Moonlight 的输入设置里有没有选对设备。有些安卓盒子对蓝牙手柄兼容性一般换成有线连接往往能解决。4. 避坑与排查那些让我重装了三遍的坑4.1 客户端闪退或提示缺少运行库现象是双击客户端图标后窗口一闪就没了或者弹窗提示缺少某个 dll 文件。原因通常是系统缺少必要的运行库比如 Visual C Redistributable 或者 .NET 框架。解决方法是根据提示装对应的运行库Windows 上可以装一个合集包省事。安卓端闪退则多半是架构不匹配比如把 X86 的包装到了 arm 设备上换对应架构的包即可。4.2 配对码输入后提示配对失败现象是在 Moonlight 里输入配对码后服务端管理页面显示配对失败或者一直转圈。原因一般是服务端和客户端不在同一网段或者主机的防火墙拦了配对请求。解决方法是确认两端 IP 前三段一致然后在服务端主机的防火墙里放行 Sunshine 相关的入站规则。如果是 Windows 防火墙第一次运行 Sunshine 时弹的网络访问提示要选「允许」当时点了「取消」的话就得手动去防火墙里加。4.3 串流画面卡顿但网络测速正常现象是 iperf3 测出来带宽充足ping 延迟也低但串流就是一顿一顿的。原因可能是服务端用了 CPU 软编而不是硬件编码或者客户端解码性能不够。解决方法是回服务端确认编码器选的是 NVENC/AMF/QuickSync然后在串流时看服务端 CPU 占用如果某个核心跑满基本就是软编了。客户端这边老设备的硬件解码器可能不支持高码率 HEVC把编码格式从 HEVC 换成 H.264 往往能缓解。4.4 声音在客户端但画面在主机现象是串流开始后客户端有声音但画面还是显示在主机显示器上或者反过来。原因是音频输出设备没跟着串流走。Sunshine 的音频设置里可以指定串流时使用的虚拟音频设备装好它自带的虚拟声卡驱动后在 Windows 声音设置里把默认输出切到那个虚拟设备串流时声音就会跟着视频流走。串流结束后记得切回原来的输出设备不然本地就没声音了。4.5 安卓端画面比例不对或黑边现象是安卓客户端上画面被拉伸或者四周有大黑边。原因是客户端的分辨率和服务端输出的分辨率不匹配。解决方法是在 Moonlight 客户端的设置里把显示模式改成「拉伸」或「保持宽高比」然后调整服务端的分辨率去适配客户端屏幕。电视盒子接的电视如果是 16:9服务端就设 1920x1080如果是带鱼屏就得设成对应的超宽分辨率不然怎么调都有黑边。5. 进阶玩法把串流延迟再压一压的几个实操技巧5.1 用有线网络替代 Wi-Fi这是提升串流稳定性最立竿见影的一招。Wi-Fi 受干扰因素太多隔一堵墙信号就掉一截串流对丢包又极其敏感。如果客户端设备支持网口直接插网线不支持的话用一个 USB 转网口的小配件也行。我实测过同一台设备Wi-Fi 下码率上到 30Mbps 就开始偶尔卡顿换成有线后 50Mbps 稳如老狗。如果实在没法有线那就把路由器换成支持 Wi-Fi 6 的并且让客户端和设备尽量在同一个房间减少穿墙。5.2 调整服务端的编码预设Sunshine 的编码器设置里有个「预设」选项一般有速度优先、质量优先、低延迟几档。默认通常是质量优先编码出来的画质好但延迟略高。如果你对延迟更敏感比如玩格斗或射击游戏可以切到低延迟预设代价是同等码率下画质会稍微降一点。这个取舍看你的游戏类型我一般动作游戏用低延迟角色扮演和策略游戏用质量优先。5.3 关闭主机的多余显示输出如果主机接了多个显示器串流时 Sunshine 会尝试捕获主显示器的画面但多显示器环境下有时候会捕获错或者分辨率对不上。稳妥的做法是串流前把其他显示器断开或者禁用只留一个主显示器。Windows 上可以在显示设置里把不用的显示器设成「断开此显示器」这样 Sunshine 捕获的画面就干净了。另外主机的屏幕分辨率最好和客户端的分辨率设成一致避免服务端做额外的缩放处理缩放本身也会引入延迟。5.4 用 H.264 还是 HEVC 的决策表对比项H.264HEVC (H.265)同等画质所需码率较高低约 30% 到 50%编码延迟较低略高客户端解码兼容性几乎全支持老设备可能不支持适用场景网络一般、设备较老网络好、设备较新选哪个看两点客户端设备新不新网络带宽够不够。设备新、带宽足就上 HEVC画质和带宽都划算设备老是老款盒子或者老笔记本老老实实 H.264兼容性优先。我一般先在客户端试 HEVC如果解码卡顿或者直接黑屏就切回 H.264不纠结。5.5 串流结束后的收尾习惯串流结束后有几个动作我每次都会做把 Windows 的默认音频输出切回本地声卡不然下次本地放视频没声音确认 Sunshine 服务还在正常运行有时候它会被系统休眠策略干掉如果改了分辨率把主机分辨率调回原生值。这些动作看着琐碎但少做一步下次用的时候就得花时间排查。从那以后我每次串流完都强制走一遍这个收尾流程省下来的排查时间远比这几秒钟多。希望帮到你。本文还有配套的精品资源点击获取