Apollo 桌面流媒体完整上手指南
【免费下载链接】ApolloSunshine fork - The easiest way to stream with the native resolution of your client device项目地址: https://gitcode.com/gh_mirrors/apollo18/Apollo
把电脑桌面串流到手机、平板时,固定分辨率经常让画面被拉伸或出现黑边,每次还得手动改分辨率。Apollo 是一款基于 Sunshine 的开源桌面流媒体工具,能自动匹配客户端设备的原生分辨率,让你用浏览器就能管理低延迟的远程桌面与屏幕共享服务。
Apollo 是什么
Apollo 是一个自托管的桌面流媒体主机端:它把本机当"流媒体服务器",采集屏幕画面并编码后推送给 Artemis(Moonlight Noir)等客户端设备。它支持 AMD、Intel、Nvidia 显卡的硬件编码,也提供软件编码兜底,适合云游戏、远程办公和跨设备串流场景。
🧭 核心能力解析
原生分辨率自适应:画面不拉伸、不黑边,省掉手动调分辨率的麻烦
Apollo 内置虚拟显示器,会随客户端的分辨率和刷新率自动匹配:串流开始时创建对应参数的虚拟显示,退出时自动移除,你可以把客户端设备当成一台专用的即插即用显示器来用,且每台设备的显示配置都会被自动记住。比如用平板玩 PC 游戏,画面按平板原生分辨率铺满屏幕,无需提前改桌面分辨率。相关实现可参考 src/video.cpp 与 src/display_device.cpp。
Web 管理界面:浏览器里完成配对与设置
首次启动会看到欢迎页,引导你创建控制台账号密码;之后在浏览器里就能完成客户端配对、音频视频参数和应用快捷方式管理。界面配置页面源码位于 src_assets/common/assets/web/configs/,高级选项也能在这里手动调整。
客户端权限管理:不同设备各给各的权限
第一个配对的客户端自动获得完整权限,之后新配对的设备默认只有"查看串流"和"列出应用"。如果新设备无法启动应用或操控键鼠,只需为它单独授予对应权限,家用主机上多台设备的权限就可以各管各的、互不干扰。
跨平台远程桌面:Windows、macOS、Linux 一套习惯走天下
主机端覆盖三大系统,采集管线各不相同:Windows 走 DirectX 与 WGC 捕获(见 src/platform/windows/),macOS 通过 AVFoundation 处理音视频(见 src/platform/macos/),Linux 则支持 X11 与 Wayland(见 src/platform/linux/)。把主机从 Windows 换到 Linux,客户端的使用方式完全不用变。
低延迟硬件编码:按自家显卡挑编码器
内置 NVIDIA NVENC、Intel Quick Sync、AMD AMF 硬件编码方案,另附软件编码兜底,NVENC 的核心实现在 src/nvenc/。低带宽下玩游戏、做远程协作时,用硬件编码能稳定压住帧率。
🚀 第一次上手
克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/apollo18/Apollo按 docs/building.md 的说明搭建环境并编译,也可以用 Docker 构建(见 docker/ 目录下的 Dockerfile)。
启动服务后,在浏览器打开 Web 控制台(默认地址 localhost:47990)。
在欢迎页创建用户名和密码,随后用平板或手机完成客户端配对。
🛠️ 进阶定制与扩展
基础使用跑通后,可以进入 docs/configuration.md 逐项了解每个配置参数的含义与默认值;配置解析逻辑在 src/config.cpp,Web 界面的 Vue 页面在 src_assets/common/assets/web/configs/,想扩展自己的选项可以从这里入手。双显卡笔记本的独显直出、虚拟显示器 HDR 等玩法,详见 README.md 中的说明。
Apollo 仍在持续迭代,想参与贡献可以看 docs/contributing.md,遇到问题也可以先翻 docs/ 下的故障排查指南。
【免费下载链接】ApolloSunshine fork - The easiest way to stream with the native resolution of your client device项目地址: https://gitcode.com/gh_mirrors/apollo18/Apollo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考