
Sunshine 游戏串流主机 30 分钟从安装到串出第一帧画面【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine场景切入 一句话定位客厅电视很大主机却塞在书房抬过来太沉跨房间拉 HDMI 太乱再买一块显示硬件更贵。你只想把主机画面推到电视上坐在沙发上把昨晚的进度续完。Sunshine 是一个自托管游戏串流主机self-hosted game stream host装在这台主机上负责采集画面、硬件编码把流推到局域网里任意一台 Moonlight 客户端上。跑通标准带着目标往下看三条全部满足才算成功在客户端设备手机、平板、电视盒子都行打开 Moonlight主机出现在设备列表里。点进列表里自带的Desktop条目客户端屏幕上出现主机桌面的实时画面键鼠操作有响应。主机端装完服务后不需要你做任何额外操作它在那儿待命。三条都做到说明采集、编码、传输、配对四条链路全部打通后面只是加应用和调参数。事实速查维度内容主机端平台Windows、Linux、FreeBSDmacOS 实验性且不支持手柄编码通路NVENC、QuickSync、AMF、VAAPI、Vulkan Video、VideoToolboxCPU 软编码兜底默认自动选第一个可用画面采集Windows 走桌面复制 APILinux 可选 NvFBC、KMS、X11、Wayland、KWin、Portal 后端macOS 走系统屏幕录制管理入口浏览器 Web UI地址https://localhost:47990费用开源免费、自托管无账号无订阅与云端串流的本质区别一句话编码跑在你自己的机器上画质上限留在局域网里隐私和钱都不经过第三方。最短路径阶段一装主机端软件 Step 1按系统拿安装包Windows到 Release 页面下Sunshine-Windows-AMD64-installer.msi双击安装防火墙规则由安装器自动写入不用手动加。Linux按发行版选 deb、copr 或 pacman 包。macOS把 DMG 里的Sunshine.app拖进 Applications。官方安装包已经把采集后端、编码库、输入驱动都打包好了你不用自己挑依赖。 Step 2Flatpak 用户补一步Flatpak 装完必须再执行下面这条补装输入依赖否则键鼠注入会缺组件flatpak run --commandadditional-install.sh dev.lizardbyte.app.Sunshine检查点安装程序正常退出无报错弹窗。阶段二把服务跑起来 Step 3启动服务Windows 上 MSI 已把 Sunshine 注册成系统服务并开机自启这步直接跳过。Linux 手动拉起systemctl --user start app-dev.lizardbyte.app.Sunshine想开机自启再加一条systemctl --user --now enable app-dev.lizardbyte.app.SunshinemacOS 首次启动会弹屏幕录制和麦克风授权两个都点允许否则后面采集不到画面。检查点进程在后台活着。Linux 用systemctl --user status app-dev.lizardbyte.app.Sunshine确认状态为 running。阶段三建账号、配对、出画面 Step 4建管理员账号浏览器打开https://localhost:47990。页面报不安全是正常的自签名证书所致忽略即可。首次进入会让你设置管理员用户名和密码——记好配对全靠它。 Step 5Moonlight 端配对客户端设备打开 Moonlight它会自动扫到局域网里的主机。首次连接 Moonlight 会弹一个四位 PIN 码回到 Web UI 顶部导航的 PIN 页输入顺手给设备起个名字看到成功提示即配对完成。配对建立的是 Moonlight 与主机的信任关系之后的连接不再要码。检查点Moonlight 里点 Desktop客户端屏幕出现主机桌面画面和声音都到位。第一帧串出来了。隐性坑点同一时间全局只有一条流新串流启动会默认终止上一个在跑的应用同时只有一条。共用时谁在串谁用用完退出会话。Steam 这类启动命令别直写Steam 进程会立即退出流刚开就断。在应用配置里勾上detached脱离式启动。Flatpak 环境忘加前缀沙箱里找不到宿主程序命令必须加flatpak-spawn --host前缀。应用路径别写死路径支持$(HOME)这类环境变量写法写死路径换用户就失效。想静音主机扬声器别动audio_sink它决定采哪个声卡改了就换了采集源。改用virtual_sink指向虚拟声卡。新应用在这一页添加。三个关键参数只在需要时动max_bitrate默认0含义是码率完全由 Moonlight 请求说了算 → 只有想在主机端给带宽封顶时才改 → 比如5000Kbps。encoder默认自动选第一个可用编码器 → 只有排障时才手动指定nvenc、amdvce、vaapi、vulkan、software→ 日常留空。nvenc_preset1最快到7压缩率最高默认1→ 只有网络或客户端解码顶不住时才调大 → 多数情况下提高码率比调 preset 划算。配置页顶部有搜索框几百个设置项直接输bitrate就能定位不用翻菜单。对号入座如果你是轻薄本显卡带不动 3A 的人用它当解码显示端串流书房主机跑游戏。前提两台设备同一局域网且网络稳定客户端分辨率按自身屏幕设即可。如果你不玩游戏、只想要一块大屏主机当家庭影音节点把 Desktop 串到电视上放本地片源。不用动编码参数静态内容带宽占用很小。如果你是一家人共用一台主机每个成员在自己的 Moonlight 设备上独立配对Web UI 里各记各的设备名。前提所有人同一局域网。故障速查症状最可能原因一条修复动作验证方式https://localhost:47990打不开防火墙拦了 47990Windows 先确认 MSI 写入的防火墙规则还在临时关防火墙验证一次重新开启防火墙后页面仍可打开Moonlight 发现不了主机不在同一局域网或服务没在跑Linux 执行systemctl --user status app-dev.lizardbyte.app.Sunshine确认 running再核对两台设备同网段Moonlight 设备列表出现主机串流卡顿、掉帧大概率是网络不是 Sunshine跑 iPerf3 体检命令见下丢包低于 5%、抖动低于 1ms忘了管理员密码凭据丢失sunshine --creds {新用户名} {新密码}直接重置用新凭据登录 Web UI体检先在主机端起服务端iperf3 -s客户端侧测速把主机 IP 换进去UDP 反向测 60 秒iperf3 -c 主机IP -t 60 -u -R -b 50M目标值丢包低于 5%、抖动低于 1ms。丢包高的典型诱因是两头速度不匹配比如 2.5G 网卡配 WiFi 客户端降一档网卡速率或把主机改回有线通常立刻见效。还不解看日志Web UI 的 Troubleshooting 页内置日志与告警导航日志文件 Windows 在%ProgramFiles%\Sunshine\config\sunshine.logLinux/macOS/FreeBSD 在~/.config/sunshine/sunshine.logDocker 用docker logs sunshine。收尾 下一步稳定性比峰值带宽更决定体验动手调画质之前先跑一次 iPerf3。编码器自动选择日常够用手动指定只留给排障场景。码率 0 等于听客户端的只有要封顶带宽才去碰max_bitrate。想走出局域网先开门upnp默认disabled公网连不进来确认改成enabled。现在就拿第二台设备配一次对再往应用列表里加一条真实游戏完整走一遍配对 → 启动 → 串流 → 退出。想深入完整参数表见 docs/configuration.md疑难杂症索引见 docs/troubleshooting.md各平台采集与编码实现在 src/platform/ 目录。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考