当前位置: 首页 > news >正文

Sunshine:自己搭一个游戏串流服务器,延迟低到离谱

文章目录

  • Sunshine:自己搭一个游戏串流服务器,延迟低到离谱
    • 解决了什么问题
    • 技术上做了什么
    • 部署方式
    • 和其他方案的对比
    • 一些注意事项
    • 适合谁用

Sunshine:自己搭一个游戏串流服务器,延迟低到离谱

38000 多 Star 的开源项目,做的事情就一件:让你在家里的任何设备上玩主机游戏,而且体验接近本地。

这个项目叫 Sunshine,是 Moonlight 串流方案的服务端。Moonlight 负责在客户端接收画面,Sunshine 负责在主机上采集屏幕、编码、推流。两者配合,实现跨设备游戏串流。

解决了什么问题

很多人家里有一台性能不错的台式机,但想在客厅电视、卧室平板、甚至手机上玩游戏。传统方案要么搬电脑,要么用 Steam Remote Play 之类的服务,延迟和画质经常不达标。

Sunshine 的思路是直接在主机端做硬件编码,利用 GPU 的编码能力把画面压缩后通过局域网传出去。AMD、Intel、Nvidia 三家显卡都支持硬件编码,没独显也能用软件编码兜底。

实际体验下来,局域网内延迟基本感觉不到。5GHz WiFi 环境下,1080p 60fps 没什么压力。有线网络的话,4K 也能跑。

技术上做了什么

Sunshine 支持的编码方式覆盖面很广:

  • AMD 显卡用 AMF 编码
  • Nvidia 显卡用 NVENC
  • Intel 显卡用 QuickSync
  • Linux 上还能走 VAAPI
  • macOS 用 Video Toolbox
  • 实在没有硬件编码,就用软件编码

屏幕采集这块,Windows 上用 DXGI Desktop Duplication,Linux 上支持 KMS/DRM、X11、Wayland 等多种方式,macOS 用 ScreenCaptureKit。基本上主流系统都能找到合适的采集方案。

手柄兼容性也不错。Xbox 360、Xbox One/Series、DualShock 4、DualSense、Nintendo Switch Pro 都能在不同平台上模拟。客户端连上手柄,主机端能识别成对应的虚拟手柄,玩起来和坐在电脑前没区别。

部署方式

Sunshine 提供了多种安装方式。Windows 用户直接装 exe 或者用 winget 命令行安装。Linux 用户可以选 deb 包、rpm 包、Flatpak、Docker。Docker 镜像在 Docker Hub 和 GitHub Container Registry 都有,拉下来就能跑。

装好之后,浏览器打开本地地址就能进 Web 界面。所有配置都在网页上完成,包括添加客户端设备、调整编码参数、设置分辨率和帧率。客户端配对也是在网页上操作,输入 PIN 码就行。

和其他方案的对比

Steam 自带的 Remote Play 也能串流,但只能串 Steam 游戏。Sunshine 没有这个限制,桌面上能看到的东西都能串。想串个模拟器、串个浏览器、串个视频播放器,都可以。

Parsec 也是常用的串流方案,但它是商业产品,高级功能要付费。Sunshine 完全开源,MIT 协议,想怎么改怎么改,部署到自己服务器也没问题。

一些注意事项

硬件要求不算高,但也不是随便什么机器都能跑。GPU 至少得支持硬件编码,AMD 的 VCE 1.0 以上、Intel 的 Skylake 以上、Nvidia 的 NVENC 卡都行。CPU 方面,Ryzen 3 或 Core i3 起步。内存 4GB 够用。

网络环境很关键。WiFi 的话建议 5GHz 频段,802.11ac 以上。想跑 4K 的话,有线网络是必须的。局域网内体验最好,跨网络串流需要公网 IP 或者做内网穿透,延迟会明显增加。

系统支持方面,Windows 11、macOS 14.2 以上、主流 Linux 发行版都能用。FreeBSD 也支持,不过用户群比较小。

适合谁用

有台性能不错的主机,又想在其他设备上玩游戏的人,可以试试。特别是家里有多台设备、不想每台都装游戏的情况,一套 Sunshine 加 Moonlight 就够了。

做游戏开发的也适合,改完代码想在平板上测试效果,不用每次都跑到电脑前。

开源社区的活跃度很高,文档齐全,遇到问题基本能在 Issue 里找到答案。

平板上测试效果,不用每次都跑到电脑前。

开源社区的活跃度很高,文档齐全,遇到问题基本能在 Issue 里找到答案。

http://www.cnnetsun.cn/news/3099828.html

相关文章:

  • 明日叶:神话中的长生草,现代人的健康宝藏!
  • Flume日志采集简介
  • 哔咔漫画下载器:5分钟打造个人离线漫画图书馆的终极指南
  • 揭秘IntelliJ IDEA内联变量真相:90%开发者忽略的性能陷阱与避坑指南
  • Ai驱动结合蛋白设计:Bindcraft全流程教学
  • 重构前必看!IDEA 2023.3+接口抽取的3大隐性风险与2个强制校验步骤,错过=技术债翻倍
  • HTTP/2快速重置攻击漏洞修复实战:从原理到Nginx、F5 BIG-IP修复方案
  • DownKyi:B站视频批量下载的终极解决方案
  • Win11Debloat终极指南:一键清理Windows系统垃圾,性能提升51%的完整教程
  • 为什么资深架构师严禁盲目内联变量?——基于200+企业级项目重构审计数据的反模式警示
  • CAD图纸版本管理噩梦:设计院用32维权限3天解决
  • 如何快速解锁加密音乐:免费音频解密工具完整指南
  • RAG与微调在领域专业化中的协同路径与实操决策
  • 虚幻引擎脚本系统完整指南:从零开始掌握UE4SS的强大功能
  • 实现状态栏透明
  • 三步实现百度文库文档免费获取:技术原理与实践指南
  • 第一次去医院资料别临时翻
  • 手把手教你怎么安装Bruker DataAnalysis 4.4 质谱数据处理软件下载安装教程
  • 格式转换一键搞定!视频、音频、图片、文档轻松互转!
  • 向日葵CLI如何赋能批量设备远程运维管理?附AI自动化管理实战
  • 5分钟快速上手PPTist:免费网页版PPT制作工具的终极指南
  • 私域直播SaaS横向测评:保利威、诺云、悦邻,谁更懂“社区门店”的生意逻辑?
  • 计步器算法原理及数据分析
  • PPTist免费网页版PPT制作工具:告别Office束缚,打造专业演示文稿的终极指南
  • 瑞芯微RV1126B开发板(EASY-EAI-PI2) 人员检测
  • 电子电路与PCBA:从概念到可制造组装
  • edis 单线程真的是单线程吗?源码角度全面解析
  • 【EI会议征稿进行中】第六届电子通信与计算机科学技术国际学术会议(ECCST 2026)
  • 光模块耦合,到底 “耦合” 了什么?
  • ESP芯片烧录终极指南:从零开始掌握esptool.py完整操作流程