
点击下方【IT学习日记】 "关注"、选择 "设为标星"
每天三分钟、打卡阅读
最快获取全网学习干货、行业资讯
大家好,我是日记!
前段时间在家里搞了台配置不错的电脑,装了不少游戏,想着丰富业余生活,平时只有晚上能偶尔玩一会,有时候人在公司,午休时也想玩两把,于是试了试几款常见的远程控制软件,体验下来画面和操作延迟总觉得差点意思。
于是我在社区找了一款开源的远程控制替代方案-Sunshine,它具备低延迟、高清晰的特点,可实现远程游戏的随时随地畅玩,提供“跟本地使用一样的流畅体验”,今天把它也安利给大家。
Sunshine是一款功能强大的开源自托管游戏串流主机服务,专为云游戏 + 远程控制场景使用设计,是 NVIDIA GameStream 停更后开源最成熟的社区替代方案。系统集成硬件编码调度、屏幕捕获、手柄模拟、PIN配对、Web管理、Docker部署等功能于一体,可帮助用户把任何一台游戏PC变成私有串流主机。
简单来讲,就是在高性能电脑上安装Sunshine之后,就可以把这台电脑的画面、声音和游戏操作实时串流到手机、平板、笔记本、电视盒子等设备上,实现“高配电脑负责运行,其他设备负责显示和操作”。

它跟Moonlight可搭配使用,Sunshine负责服务端,Moonlight负责客户端,两者搭配可实现超低延迟和高清的桌面和游戏串流体验。他们实现的原理也很简单:
Sunshine:运行在你需要被远程访问的那台电脑上(称之为"主机"),它会捕获GPU的画面,实时编码成视频流。
Moonlight:运行在你的客户端设备(手机、平板、笔记本、甚至电视)上,用来接收并解码这个视频流,同时将你的鼠标和键盘操作回传给主机。
官方服务端停服:
NVIDIA在2023年关停了GameStream服务,Moonlight客户端好用却没有配套的官方服务端可用,闭源方案不稳定,随时说停就停,用户毫无办法。
该系统是NVIDIA GameStream停更后最成熟的社区替代方案,源码完全开放,支持二次开发,服务端运行在自己机器上,无需担心被卡脖子风险。
主流远程控制团建提供不了流畅的游戏体验:
市面上主流的远程控制软件如:xxDesk等设计之初就是优先保证画面传输而非帧率(用于办公),使用它们玩动作游戏有明显的输入延迟,解锁高码率还需要额外付费。
该系统采用显卡硬件编码模式实现游戏级低延迟,局域网有线环境延迟通常在几毫秒到二十毫秒之间,画质可以达到4K@60fps,支持HDR,畅玩动作游戏完全无压力。
串流方案绑N卡:
传统串流服务端方案基于是围绕NVIDIA的NVENC和GameStream协议打造,但NVIDIA在2023年关停了GameStream服务,A卡和Intel用户没有像样的选择。
该系统的编码调度覆盖NVENC、AMF、QuickSync、VAAPI、Video Toolbox,三家GPU全部兼容,满足不同用户的使用体验。
编码管理:
支持NVENC(N卡)、AMF(A卡Windows)、QuickSync(Intel Windows)、VAAPI(Linux/FreeBSD)、Video Toolbox(macOS)、Vulkan Video等多套硬件编码API,满足不同用户的使用需求。
内置软件编码兜底,任何平台都可用。
支持编码API按GPU厂商和操作系统自动匹配,Web界面可查看当前生效的编码器,直观明了。
屏幕捕获:
支持DXGI Desktop Duplication(Windows)、ScreenCaptureKit(macOS)两套系统级捕获方案。
Linux下支持KMS/DRM、X11、Wayland(wlroots)、XDG Desktop Portal、KWin Screencast、NvFBC多种捕获方式。
控制器模拟:
支持Generic、DualShock 4、DualSense 5、Nintendo Switch Pro、Xbox 360、Xbox One、Xbox Series手柄协议模拟。
Linux和Windows原生支持全部协议,macOS采用Virtual HID Broker实现。
配对管理:
支持客户端使用PIN码发起配对,Web界面输码确认,未配对设备无法建立串流会话,确保配对安全可靠。
首次运行强制设置管理界面的用户名密码,防止局域网内陌生人接管主机,全方位保障用户使用安全。
Web配置:
默认监听https://localhost:47990,自签名SSL证书。
支持关键词快速搜索配置项,无需逐页翻找。
内置多套界面主题,可一键切换,满足用户个性化需求。
应用管理:
支持添加自定义游戏和应用程序,配置启动命令即可串流单个应用,简单方便。
支持精选应用列表,常用平台可开箱即用。
支持串流完整桌面,把主机当成远程工作站使用。
日志排查:
支持在Web界面直接查看运行日志,方便用户快速排查和定位问题。
内置常见故障排查问题解决方案,Windows的ViGEmBus驱动可一键安装。
容器部署:
多渠道安装:
游戏串流:


配置界面:

分辨率选择:

PIN码配对:

设备管理:

精选应用:

应用管理:


配置搜索:

日志排查:

项目结构:
├── src/ # C++核心源码│ ├── main.cpp # 程序入口│ ├── video.cpp # 视频编码调度(含HDR色彩空间)│ ├── audio.cpp # 音频捕获│ ├── input.cpp # 键鼠输入与手柄模拟│ ├── rtsp.cpp # RTSP流媒体会话│ ├── stream.cpp # 串流会话管理│ ├── nvhttp.cpp # Moonlight协议HTTP服务│ ├── confighttp.cpp # Web管理界面服务(47990端口)│ ├── upnp.cpp # UPnP端口自动映射│ ├── crypto.cpp # 证书与加密│ ├── process.cpp # 应用进程管理│ ├── system_tray.cpp # 系统托盘│ └── platform/ # 各平台适配层(Windows/Linux/macOS/FreeBSD)├── src_assets/ # 打包资源文件├── docker/ # Docker构建与运行配置├── packaging/ # 各平台打包脚本├── docs/ # 文档源文件(Read the Docs)├── scripts/ # CI与工具脚本├── tools/ # 开发辅助工具├── tests/ # 测试套件├── third-party/ # 第三方依赖├── CMakeLists.txt # CMake构建入口└── package.json # Web UI前端依赖(npm)技术栈:
服务端: 开发语言: C++( 流媒体协议: RTSP 兼容协议: Moonlight(GameStream协议生态) 硬件编码: NVENC / AMF / QuickSync / VAAPI / Video Toolbox / Vulkan Video 软件编码: FFmpegWeb管理端: 界面形态: 浏览器Web UI(https://localhost:47990,自签名SSL) 配置方式: 网页表单 + sunshine.conf配置文件客户端: 生态: Moonlight(Windows / macOS / Linux / Android / iOS) 设备: Steam Deck / 树莓派 / Android TV 配对: PIN码部署: Windows: 安装包 / Winget(系统要求Windows 11+) macOS: 安装包(14.2+) Linux: Flatpak / 软件包(Ubuntu 22.04+ / Debian 13+ / Fedora 43+) FreeBSD: 15.1+ 容器: Docker Hub / GHCR官方镜像 硬件门槛: 最低Ryzen 3或i3 + 4GB内存;4K建议Ryzen 5或i5 + CAT5e有线1、环境准备: 一台游戏PC做主机,支持Windows 11+、macOS 14.2+、Ubuntu 22.04+等系统。GPU带硬件编码即可,A卡I卡N卡都行,最低4GB内存。
系统:Windows 11+ / macOS 14.2+ / Ubuntu 22.04+GPU:任意带硬件编码的AMD / Intel / Nvidia显卡2、安装服务端: Windows用安装包或Winget装,Linux用Flatpak或发行版包,Docker玩家使用官方镜像。
winget install LizardByte.Sunshineflatpak install flathub dev.lizardbyte.app.Sunshinedocker pull lizardbyte/sunshine3、初始化Web界面: 浏览器访问管理界面,首次运行设置用户名密码,之后所有配置都在这里改。
https://localhost:479904、客户端配对: 任意设备装Moonlight,输入主机IP发起连接,把客户端显示的PIN码填进Web界面的PIN页完成配对。
Moonlight → 输入主机IP → 复制PIN码 → Web界面PIN页确认5、验证编码链路: 开一局游戏测试串流,在Web界面确认当前编码器是NVENC、AMF还是QuickSync,再对比软件编码的CPU占用差异。如果使用手柄没反应就到故障排查页重装ViGEmBus。
Web界面 → Configuration → 查看编码器Windows手柄:Troubleshooting → 安装ViGEmBus → 重启6、进阶玩法: 局域网跑通后可做远程访问
远程:Tailscale组网 + Moonlight直连主机内网IP无头:SSH启动 sunshine <conf路径>/sunshine.conf1000+优质开源项目更新进度:596/1000。如需更多类型优质项目推荐,请在文章后留言。
格式工厂的完美代替!一款开源免费的万能文件转换器,支持图片、PDF、Word、音视频所有主流格式,可离线使用无任何广告
95%的人还不知道如何正确使用AI!一款 GitHub 爆火的 Skill,让AI生成的页面质感拉满
AI应用百亿市场!强烈安利一款AI智能作业批改系统,释放教师双手,打通批改、错题分析、学情诊断全流程
获取更多精彩内容和开源项目 ,请关注微信公众号!
1、本文所分享的软件、代码或资源,均来自开源社区,遵循其原始许可证(如MIT、GPL等)。仅供学习和研究使用,严禁用于任何违法行为。2、使用者在下载、部署或使用本项目(或文中提及的软件)时,需自行判断其适用性与合法性,由此产生的一切风险与责任均由使用者自行承担。3、我们尊重原作者的知识产权,已在文中注明来源及原始作者(如有遗漏,请联系我们及时更正或删除)。4、本文不对开源软件的安全性、可用性或完整性做任何保证,亦不承担由其引发的任何直接或间接损失责任。5、若您为相关软件/资源的版权方,对内容有异议,请联系我们,我们将在第一时间处理商务合作、软件开发、项目推广,请联系:
关注就是赚到!新开了一个账号,主要分享一些更接地气、可落地,可商用的优质开源项目,有兴趣的可以关注下: