ARTICLE DETAIL

资讯详情

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

Sunshine 游戏串流服务器:从零装到调出60fps的实操手册

Sunshine 游戏串流服务器:从零装到调出60fps的实操手册 Sunshine 游戏串流服务器从零装到调出60fps的实操手册【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine周五晚上你瘫在沙发上卧室那台配了 RTX 4070 的机器还开着你却不想爬起来换地方。要是能把它的画质和帧率原样搬到客厅这台 75 寸电视上那就完美了。Sunshine 就是干这个的一个跑在你自己电脑上的游戏串流服务器Moonlight 客户端连上它画面和声音实时推到你手里的任何一块屏幕上。它到底是个什么东西Sunshine 是一个开源的自托管串流服务端装在跑游戏的那台电脑上电视、平板、手机上装配套的 Moonlight 客户端就能把主机画面连同声音、按键一起搬过去。和别的方案比它有几个实在的好处不用交月费软件完全免费数据不出你家门画面走的是你自己家局域网N 卡、A 卡、U 卡的硬件编码都支持老机器也能跑客户端生态全手机、平板、电视盒子、树莓派都有 Moonlight顺带说一句老玩家熟悉的 NVIDIA GameStream 已经从 GeForce Experience 里撤掉了Sunshine 是它的开源继任者而且不挑显卡品牌。一帧画面是怎么跑到你屏幕上的串流听起来玄乎其实链路很短。你按下一键开始游戏之后游戏照常在主机上跑GPU 渲染出画面GPU 顺手把这帧画面压缩成视频流。这就是硬件编码——GPU 扛下编码这桩脏活CPU 能歇着延迟也压得住视频流加上 Opus 编码的音频通过 RTSP 协商、UDP 传输走局域网发出去。UDP 是丢了就丢的协议适合这种宁可丢帧不能等画面的场景Moonlight 客户端收到后用自家显卡解码、显示你的按键则走另一条路反向传回主机。全程大概就是一帧来回几百毫秒的事比人眨一下眼睛快得多。想看代码的话视频编码核心在 src/video.cpp连接协商和传输在 src/rtsp.cpp音频抓取在 src/audio.cpp。上图是 Sunshine 自带的应用管理界面你可以把 Steam、游戏或者整个桌面都登记成一个应用Moonlight 端点一下就串。三步把它跑起来路径 A装官方安装包90% 的人选这个适合想最快玩起来的人。从项目 Release 页下载对应系统的安装包Windows 是 MSI、Debian/Ubuntu 是 .deb、macOS 是 dmg。以 Ubuntu 为例下载好 deb 之后一条命令装完sudo dpkg -i ./sunshine_*.deb sudo apt install -f # 缺依赖的话补一下装完自动注册成系统服务开机自启。打开浏览器访问localhost:47990能看到设置界面并设置密码就成了。路径 BDocker玩容器、想隔离环境的选它注意官方文档提醒过Docker 方案对大多数用户不是首选因为要把显卡设备直接捅进容器配置比安装包多几步。但如果你习惯用容器管理一切下面这个 compose 文件够用了它做的事是拉起官方镜像、把 GPU 设备直通进去、映射好串流需要的端口。services: sunshine: image: lizardbyte/sunshine:latest-ubuntu-24.04 container_name: sunshine restart: unless-stopped ipc: host volumes: - ./config:/config devices: - /dev/dri:/dev/dri ports: - 47984-47990:47984-47990/tcp - 48010:48010 - 47998-48000:47998-48000/udpdocker compose up -d然后还是访问localhost:47990。容器里/config对应宿主机的./config配置文件就落在那里方便备份。路径 C源码编译想改代码的选它适合开发者。依赖装齐之后大致是标准的 CMake 三步git clone https://gitcode.com/GitHub_Trending/su/Sunshine cd Sunshine mkdir build cd build cmake .. make -j$(nproc) sudo make installLinux 下编译需要 FFmpeg、各平台显示相关开发库具体清单可以看 docs/building.md。这步要是卡住了十有八九是依赖没装全先别怀疑人生。装完别急着开玩先调这几个参数打开localhost:47990的配置页顶部有搜索框直接搜参数名就能跳过去比翻配置文件快得多。真正影响体感的就下面这几项参数推荐值为什么重要分辨率 / 帧率1080p/60 起步客户端按这个要画面超了显卡和网络都扛不住编码格式N 卡选 H.265其他 H.264H.265 同画质省 30% 带宽但吃一点客户端解码视频码率25 Mbps 起低于 20M 画面开始塑料感4K 再往上加音频通道立体声 2 通道想听 5.1 环绕再开 6 通道普通游戏双声道够了UPnP建议开着自动在路由器上打洞省得手动放行端口改完点保存Sunshine 会自动重启服务生效不用手动操作。两种典型玩法参数照着抄就行客厅电视 4K 党电视和主机都走网线这是底线无线串 4K 基本别想。分辨率 4K、60fps码率拉到 50~60 Mbps编码 H.265码率分配策略选质量优先电视端 Moonlight 开硬件解码老电视盒子可能顶不住 4K H.265先拿 1080p 试音频开 6 通道主机侧把 5.1 输出指给对应声卡iPad / 手机便携党我一般 1080p 给 25Mbps5GHz WiFi 够跑你要是 4K 电视码率拉到 50M 但必须走网线。分辨率 1080p、60fps码率 20~25 Mbps编码 H.264兼容性最好老手机也能硬解尽量连 5GHz 频段信号弱就先降码率再降帧率触屏设备在 Moonlight 里把虚拟控制器布局调好再玩卡住了看这里你看到的现象大概率原因一条命令或操作Moonlight 搜不到主机路由器没放行端口配置页里打开 UPnP或手动放行 47984~47990 TCP、47998~48000 UDP串起来画面糊码率太低视频码率加到 30 Mbps 以上再对比有画面没声音抓取设备选错配置页音频里把输入设备切到你想用的声卡按了开始没反应/卡住显卡驱动太久没更新更新显卡驱动后重启 Sunshine 服务不知道哪错了看日志打开localhost:47990的日志页或直接翻~/.config/sunshine下的日志文件日志页会实时滚动打印运行状态编码器初始化失败、端口被占这类问题都能直接看到比盲猜快。最后把 Sunshine 装起来其实就半小时的事挑一条路径装好打开 47990 配一下码率和编码Moonlight 一连客厅就是你的游戏机房了。现在就按上面三步把它跑起来先装一把串起来再回来调参数。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表