资讯动态

Sunshine 游戏串流主机搭建:一晚上装好,串出第一帧

发布时间:2026/9/16 11:07:01 来源:尧图企业网站定制
Sunshine 游戏串流主机搭建一晚上装好串出第一帧【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/SunshineSunshine 是一套自托管的游戏串流主机与 Moonlight 客户端配对把本机画面采集、硬件编码后送到局域网另一台设备。读完你能独立完成把主机服务跑起来、在客户端完成配对、把选好的应用串出第一帧。它到底在干嘛画面采集。Sunshine 先把主机当前屏幕抓成原始视频帧。Windows 走桌面复制 APILinux 可选 NvFBC、KMS、X11 等后端macOS 走系统屏幕录制。硬件编码。原始帧太大没法直接发出去要先经 GPU 上的硬件编码器压成码流。NVENCNVIDIA 显卡内置编码器、QuickSyncIntel 对应方案都在这一步。系统会自动挑第一个可用的编码器你不用管。传输与解码。码流经局域网送到 Moonlight装在客户端设备上的解码播放端由它解码渲染。鼠标、键盘等操作反方向传回主机。管理界面。配对、加应用、改参数、看日志全在浏览器的 Web UI 里完成基本不碰命令行。一句话定位它把画面换块屏从搬硬件的活儿变成配一次对的活儿。从零到第一帧3.1 安装主机端动作在主机上装好 Sunshine 主机端程序。操作Windows从 Release 页下载Sunshine-Windows-AMD64-installer.msi并运行。安装器会自动写入防火墙规则。LinuxDebian/Ubuntusudo apt install sunshine装 Flatpak 版的话装完再补跑一次输入依赖flatpak run --commandadditional-install.sh dev.lizardbyte.app.SunshinemacOS下载对应架构的 DMG把Sunshine.app拖进 Applications。macOS 属实验性手柄模拟暂不支持。确认安装流程走完、没有错误弹窗即通过。3.2 启动服务动作让 Sunshine 以后台服务方式常驻。操作Windows 的 MSI 已注册为服务并随开机启动。Linux 执行systemctl --user start app-dev.lizardbyte.app.Sunshine确认执行systemctl --user status app-dev.lizardbyte.app.Sunshine看到 activerunning状态。3.3 建管理员账号动作浏览器打开 Web UI创建第一个管理员账号。操作访问https://localhost:47990。浏览器提示不安全是自签名证书所致忽略即可。首次进入会要求设置管理员用户名和密码记牢它。确认页面出现欢迎页即通过。3.4 配对 Moonlight动作把目标设备上的 Moonlight 与主机配对。操作打开 Moonlight它会自动发现局域网内的 Sunshine。首次连接会显示四位 PIN。登录 Web UI在顶部导航找到 PIN 入口输入这四位数字再给设备起个名字。确认PIN 页显示成功提示且 Moonlight 列表里出现这台主机和内置的 Desktop 应用。3.5 添加第一个应用动作在应用列表里加一条游戏。操作进 Applications 页新增一条填可执行路径、工作目录、启动参数$(HOME)这类写法会替换为环境变量。Steam 这类拉起常驻进程的程序启动方式选detached否则秒退就断流。应用装在 Flatpak 沙箱里的命令前加flatpak-spawn --host前缀。确认列表里出现这条新应用即通过。3.6 串出第一帧动作从 Moonlight 发起串流。操作在 Moonlight 里选刚添加的应用点开始。新串流会结束上一个应用同一时间只有一条串流。确认客户端出现主机画面且鼠标、键盘可操作。被拉起的应用关闭后串流随之结束。调到你顺手配置页顶部有搜索框输关键词就能直达对应项。下面四个参数最容易碰到。encoder字符串默认自动使用第一个可用的编码器。 需要锁定特定通路或逐一排查时才填nvenc、quicksync、amdvce、vaapi、vulkan、software之一。 改完观察 CPU 占用和串流画面是否稳定。max_bitrateKbps默认0表示主机不设上限实际码率由客户端决定。 想限制主机发出的带宽时填一个具体数值比如5000。 改完观察客户端是否掉帧、码率是否被压住。nvenc_preset整数1–7默认1延迟最低。 数值越大压缩越好、延迟越高只在网络或解码端顶不住时再调。想提画质提高码率更划算。 改完观察输入延迟有没有变长。audio_sink字符串默认使用系统默认音频设备。 主机有多块声卡、声音走错设备时填入正确设备名Linux 执行pactl info | grep Sink可列出设备。 希望串流时主机扬声器保持安静改填virtual_sink并指定一块虚拟声卡。拿不准的项一律留默认自动选择已覆盖绝大多数场景。三种用法切换瘦终端跑 3A。高性能主机放书房串给轻薄本客户端只管解码显示省电、机身凉快。前提两台设备同在一个局域网网络稳定客户端按自己屏幕的分辨率设置即可。注意客户端网络偏弱时先降帧率再谈码率。客厅即桌面。直接串内置的 Desktop 应用在电视或平板上把主机当浏览器、播放器、办公机用。它不启动任何程序静态画面的带宽占用很小max_bitrate不用动。注意输入精度不如本地键鼠适合轻任务。跨网远程串流。要跨网络时把upnp配置改为enabled默认值是disabled。开启后路由器会自动转发 47990 等串流端口。每个成员在自己的设备上独立配对设备名在 Web UI 里分别登记。注意NAT 无法自动转发时要手动配置端口转发。排障速查现象最可能原因一条命令或操作47990 页面打不开防火墙拦了端口在防火墙里放行 47990客户端发现不了主机服务没跑或不在同一网段重启服务和路由器确认两端同网段串流卡顿、掉帧网络路径丢包、抖动主机侧iperf3 -s客户端侧iperf3 -c {主机IP} -t 60 -u -R -b 50M丢包应低于 5%串流没有声音音频设备选错填对 audio_sink 的设备名Linux 查名命令见参数一节忘了 Web UI 密码凭据丢失用下一段的--creds命令重置手柄无响应Linux用户不在 input 组把用户加入 input 组注销后重新登录都不行就翻日志。Web UI 的 Troubleshooting 页内置了日志与告警条目。日志路径Windows 为%ProgramFiles%\Sunshine\config\sunshine.logLinux 与 macOS 为~/.config/sunshine/sunshine.logDocker 环境直接看docker logs sunshine的输出。忘记密码不用重装sunshine --creds {new-username} {new-password}收尾主机端安装、配对、串流这条流程一个晚上能做完。参数保持默认遇到明确瓶颈再改。今晚拿一台装了 Moonlight 的设备配对一次把内置 Desktop 完整串一遍验证全链路。延伸资源完整参数表docs/configuration.md疑难杂症索引docs/troubleshooting.md安装与快速上手docs/getting_started.md【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价