ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Sunshine 自托管游戏串流 30 分钟跑通:从安装到第一帧画面

Sunshine 自托管游戏串流 30 分钟跑通:从安装到第一帧画面 Sunshine 自托管游戏串流 30 分钟跑通从安装到第一帧画面【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/SunshineSunshine 是开源免费、自托管的 Moonlight 串流主机它把本机画面采集后走硬件编码NVENC、QuickSync、VAAPI 等推送到局域网里的 Moonlight 客户端无云、无订阅。照本指南装完、配对完你的手机、平板或电视盒上就能串出主机桌面的第一帧实时画面。它是什么画面编码留在你自己机器里Sunshine 是 Moonlight 生态的服务端主机端负责屏幕采集、硬件编码、音频回传与输入注入客户端设备只负责解码播放。它跑在 Windows、Linux、macOS实验性和 FreeBSD 上编码通路覆盖 NVENC、QuickSync、AMF、VAAPI、Vulkan Video、VideoToolbox外加 CPU 软编码兜底默认自动选第一个可用的编码器。与云端串流服务最本质的区别只有一句话编码跑在你自己的显卡上画质上限和隐私都留在局域网里。三步跑通安装 → 启动 → 配对出第一帧Step 1安装 Sunshine 主机端 按你的系统取对应安装包WindowsRelease 页下载Sunshine-Windows-AMD64-installer.msi双击安装防火墙规则由安装器自动写入无需手动放行。Linux按发行版选 deb、copr 或 pacman 包源码构建方法见 docs/building.md。macOS把 DMG 里的Sunshine.app拖进 Applications。Flatpak 用户多一步装完必须执行下面的命令补装输入依赖否则键鼠注入缺组件flatpak run --commandadditional-install.sh dev.lizardbyte.app.Sunshine验证点安装程序正常退出、无报错弹窗。Step 2启动 Sunshine 服务 Windows 的 MSI 已把 Sunshine 注册为系统服务并开机自启这步直接跳过。Linux 手动拉起并设为开机自启systemctl --user start app-dev.lizardbyte.app.Sunshine systemctl --user --now enable app-dev.lizardbyte.app.SunshinemacOS 首次启动会弹屏幕录制与麦克风授权两项都要点允许拒绝就等于采不到画面。验证点你应该看到服务处于 running 状态。Linux 执行systemctl --user status app-dev.lizardbyte.app.Sunshine确认即可。Step 3创建管理员账号 浏览器打开https://localhost:47990进入 Web 管理界面。页面提示不安全是自签名证书所致点继续即可。首次进入会让你设置管理员用户名和密码——这组凭据是后续所有设备配对的钥匙务必记牢。验证点你应该看到欢迎页消失进入正常的管理面板。Step 4用 Moonlight 完成配对串出第一帧 ✅在客户端设备打开 Moonlight它会自动扫到局域网里的主机。首次连接会弹出一个四位 PIN 码回到 Web UI 的 PIN 页输入顺手给这台设备起个名字出现成功提示即配对完成。然后在 Moonlight 列表里点自带的Desktop条目——它串的是整个桌面、不启动任何程序。验证点你应该看到客户端屏幕上出现主机桌面的实时画面鼠标移动有响应声音同步到达。第一帧串出来了。易踩的坑六条默认行为先记住Steam 这类启动命令立即退出的程序应用配置里必须勾detached脱离式启动否则流刚开就断。Flatpak 里串宿主程序命令必须加flatpak-spawn --host前缀不然沙箱内找不到目标进程。同一时间全局只有一条流新串流会直接终止上一个在跑的应用多人共用就是谁连着谁用。macOS 端是实验性支持且不支持手柄模拟手柄党主机选 Windows 或 Linux。想串流时静音主机扬声器别改audio_sink它决定采哪个声卡改用virtual_sink指向虚拟声卡。多声卡时Linux 先用pactl info | grep Sink查出设备名再填应用路径支持$(HOME)这类环境变量别把路径写死。配置速查四个最常动的参数Web UI 配置页顶部有搜索框几百个设置项直接输bitrate就能定位不用翻菜单。参数默认值含义什么时候才动手encoder自动第一个可用指定硬件编码通路可填nvenc、amdvce、vaapi、vulkan、software等自动选错了才手动指定日常留空max_bitrate0编码码率上限Kbps0 完全由 Moonlight 请求决定只在主机端要给带宽封顶时填数如5000nvenc_preset1NVENC 预设1 最快 → 7 压缩率最高数字越大延迟越高网络或客户端解码顶不住时才调大多数情况下提码率比调它划算upnpdisabled是否自动开端口以便走出局域网串流要跨网段/公网连接前必须改成enabledaudio_sink系统默认设备采集哪个声卡的声音多声卡选错设备时再改总原则拿不准的参数一律留默认排障时再逐项手动覆盖改一项验证一项。三个真实用法书房主机 客厅大屏主机当编码源电视盒子或手机只做解码端。客户端分辨率按自身屏幕设即可max_bitrate保持0让 Moonlight 自己要码率。主机当家庭影音节点不玩游戏只串 Desktop 到电视放本地片源、看网页。静态内容带宽占用很小码率参数全留默认。一家人共用一台主机每个成员在自己的 Moonlight 设备上独立配对Web UI 里各记各的设备名。约束只有一条同一时间只有一条流用完主动退出。卡住了先查这张表症状最可能原因一条修复动作https://localhost:47990打不开防火墙拦了 47990 端口Windows 先确认 MSI 写入的防火墙规则还在临时关防火墙验证一次通了再补放行 47990Moonlight 发现不了主机服务没跑或不在同一局域网systemctl --user status app-dev.lizardbyte.app.Sunshine确认 running再核对两台设备同网段串流卡顿、掉帧大概率是网络问题跑 iPerf3 体检命令见下目标丢包 5%、抖动 1ms忘了管理员密码凭据丢失不用重装sunshine --creds {新用户名} {新密码}直接重置网络体检主机端起服务客户端反向 UDP 测 60 秒iperf3 -s iperf3 -c 主机IP -t 60 -u -R -b 50M丢包高常见于两头速度不匹配比如 2.5G 有线配 WiFi 客户端降一档网卡速率或把主机端改回有线通常立刻见效。日志与告警Web UI 的 Troubleshooting 页内置日志导航Windows%ProgramFiles%\Sunshine\config\sunshine.logLinux / macOS / FreeBSD~/.config/sunshine/sunshine.logDockerdocker logs sunshine。收尾要点与下一步编码器拿不准就留空自动选择日常够用手动指定只留给排障。max_bitrate为 0 意味着码率听 Moonlight 的只有想给带宽封顶才去填数。upnp默认disabled走出局域网前确认改成enabled否则公网连不进来。下一步动作现在就拿第二台设备完成配对再往应用列表里加一条真实游戏写法参考 docs/app_examples.md完整走一遍配对 → 启动 → 串流 → 退出。想深入完整上手流程在 docs/getting_started.md全部参数表在 docs/configuration.md疑难杂症索引在 docs/troubleshooting.md各平台采集与编码实现在 src/platform/。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表