Sunshine 游戏串流完整指南:30分钟从零搭建自托管 Moonlight 串流主机

发布时间:2026/9/11 3:55:16

Sunshine 游戏串流完整指南:30分钟从零搭建自托管 Moonlight 串流主机 Sunshine 游戏串流完整指南30分钟从零搭建自托管 Moonlight 串流主机【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/SunshineSunshine 是一款免费、开源的自托管游戏串流服务器和 Moonlight 客户端配套使用把你自己电脑上的桌面和游戏画面实时送到手机、平板或电视上。读完本文你能在 30 分钟内完成安装、配对和首次串流并掌握编码器选择、远程接入与故障排查的完整方法。快速上手完成安装、配对并启动第一次串流这一节做完你的手机或另一台设备上就能看到串流画面了。安装 Sunshine。主流 Linux 发行版用包管理器一条命令装完依赖和服务会自动处理sudo apt install sunshineWindows 和 macOS 用户直接下载官方安装包按向导完成即可。创建管理员账户。服务启动后浏览器打开https://localhost:47990首次访问会要求设置用户名和密码。这是管理界面的访问凭证也是后续配对的安全基础建议记好。用 Moonlight 配对。在接收端设备手机、平板、电视或另一台电脑上安装 Moonlight 客户端打开后通常会自动发现局域网内的主机找不到就手动输入主机 IP。选择配对主机 Web 界面会弹出一个四位 PIN 码把它填进 Moonlight 的配对框双向信任就建立了。添加要串流的应用。Web 界面的 Applications 页面点 Add New填入应用名称、可执行文件路径和启动参数。默认配置里一般已有桌面Desktop和 Steam 大屏幕模式够你先跑起来。两种备选装法想掌控每个依赖可以 git clone https://link.gitcode.com/i/633fbd9e1a0cd272c859cbd28403eb89 后用 CMake 编译各平台的依赖清单见 docs/building.md不想动主机环境则用 Docker 运行关键是把 47984-47990/tcp、48010 和 47998-48000/udp 映射出去并挂载配置目录完整参数在 DOCKER_README.md 里有示例。30秒看懂原理串流的四步链路这一节看完你就知道卡顿和马赛克分别该找谁问罪。画面从主机到你手里的设备要经过四个环节捕捉通过系统级接口截取屏幕——Windows 用 DXGILinux 走 KMS/DRM 或 WaylandmacOS 用原生屏幕捕获编码把画面压成 H.264、HEVC 或 AV1 视频流音频一并编码进去传输经网络把视频和你的键鼠、手柄指令双向送到对端渲染Moonlight 解码播放你的操作沿原路返回主机。编码速度决定延迟网络质量决定清晰度——后面所有调优都围绕这两点展开。想深挖实现可以看 src/video.cpp 和 src/nvenc/ 这两个视频编码核心模块。家里怎么串得爽按显卡选编码器并调参这一节做完你在客厅沙发上拿到的画面质量会明显上一个台阶。Sunshine 能识别显卡并自动启用对应硬件编码先按你的硬件对号入座显卡WindowsLinuxmacOSNVIDIANVENCNVENCCUDA软件编码AMDAMFVAAPI / Vulkan Video软件编码IntelQuickSyncVAAPIVideo Toolbox没有可用硬件编码时会退回软件编码功能不受影响但 CPU 占用会明显上升。编码器确定后三项参数决定最终体验分辨率与帧率先看接收端屏幕的实际规格不必盲目上 4K。射击、竞速优先保帧率剧情向优先保分辨率比特率有线局域网可以大胆给到 30Mbps 以上无线或远程则降一档避免花屏编码预设对延迟敏感的游戏选低延迟预设看画面为主选高质量预设。配置页项很多但支持直接搜索关键词找到比翻菜单快出门在外怎么串UPnP、TLS 与动态 DNS这一节做完你在外面也能连回家里的游戏主机。远程串流比局域网多三步准备端口转发路由器支持 UPnP 的话在 Network 配置里启用 upnpSunshine 会自动打开串流所需端口不支持就手动转发 47984-47990 与 47998-48000相关实现见 src/upnp.cppTLS 加密走公网务必启用 TLS避免画面和输入明文传输动态 DNS家用宽带多是动态 IP配一个 DDNS 服务IP 变了也能稳定找到主机。两套参数策略按场景切换场景建议局域网主机接网线客户端用 5GHz 频段打开 local_network_only 限制只在本网络内响应分辨率拉满比特率 30Mbps 起远程分辨率和比特率各降一档换稳定性公网的延迟和抖动远高于局域网稳比清晰更重要排查手册五类常见问题按顺序检查遇到故障别慌按下面的顺序逐项过一遍多数问题在前三步内就能定位。现象按顺序检查客户端找不到主机1) 主机上 Sunshine 服务是否在运行 → 2) 两端是否在同一局域网 → 3) 防火墙是否放行 47984-47990 → 4) 改为手动输入主机 IP卡顿、马赛克1) 网络是否稳定有线优先 → 2) 比特率是否过高降一档试试 → 3) 显卡驱动是否过旧硬件编码器很吃驱动版本串流没声音1) 主机是否有其他程序独占音频 → 2) 切换 Sunshine 的音频输出设备 → 3) 系统默认播放设备是否被静音输入延迟高1) 键鼠、手柄的省电模式是否开启 → 2) 接收端设备性能是否足够 → 3) 关掉后台下载、在线视频等占带宽的应用多个客户端画质不一致属正常行为主机端按最高规格送画面各客户端在自己端调整压缩参数互不影响排查时先看日志编码器加载失败、网络断流这类问题在 Logs 页面里通常写得明明白白行动清单用包管理器装好 Sunshine在localhost:47990创建管理员账户在 Moonlight 里输入四位 PIN 完成配对添加游戏应用先串流桌面验证链路需要远程时按上一节配好 UPnP、TLS 和 DDNS再对照排查表微调参数。更多平台客户端和配套工具可在 Web 界面的 Featured Apps 页面直接查看。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/11 3:55:16

工业上位机开发:C#与C++协同设计及OS兼容性实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 5:00:23

Redis常用命令全解析:从数据结构到实战场景

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码