深入理解鎏光云游戏引擎:服务端与客户端协同工作的技术细节 深入理解鎏光云游戏引擎服务端与客户端协同工作的技术细节【免费下载链接】liuguang鎏光云游戏引擎项目地址: https://gitcode.com/gh_mirrors/li/liuguang鎏光云游戏引擎是金山云边缘计算团队开发的一套服务于云游戏场景的技术集合它创新性地将普通游戏云化通过服务端与客户端的高效协同为用户带来流畅的云端游戏体验。作为国产开源项目的佼佼者鎏光云游戏引擎正在重新定义云游戏技术的边界。云游戏引擎的核心架构服务端与客户端的完美配合云游戏引擎本质上是将传统游戏运行在云端服务器通过网络将音视频流传输到客户端的技术方案。鎏光云游戏引擎分为服务端引擎和客户端引擎两大部分其中服务端最为复杂目前已率先开源。上图展示了鎏光云游戏引擎的核心数据流程从游戏画面捕获到最终在客户端呈现的完整链路。服务端负责游戏运行、音视频捕获与编码客户端则专注于解码和用户输入处理两者通过网络紧密协作共同构成云游戏体验的基础。服务端引擎云游戏的强大核心cgh游戏画面捕获的关键组件服务端的核心组件之一是cgh它使用Hook技术捕获游戏画面支持大多数DirectX游戏如《赛博朋克2077》《街头霸王》等热门游戏。cgh通过注入到游戏进程中的Hook DLL实现画面捕获这一技术确保了高效的游戏画面采集是云游戏体验的基础。cge音视频编码的核心引擎cgeCloud Gaming Engine是服务端的核心引擎它使用FFmpeg将采集到的声音和cgh捕获的游戏画面编码成多媒体流。cge提供了丰富的配置选项包括视频编解码器选择h264、h265/hevc、比特率控制、硬件加速编码等可通过命令行参数进行灵活配置。KSYUN Edge Cloud Gaming Engine v0.4 Beta Usage: -h [ --help ] Produce help message --audio-bitrate arg (128000) Set audio bitrate --audio-codec arg (libopus) Set audio codec. Select one of {libopus, aac, opus} --hardware-encoder arg Set video hardware encoder. Select one of {amf, nvenc, qsv} --video-bitrate arg (1000000) Set video bitrate --video-codec arg (h264) Set video codec. Select one of {h264, h265, hevc}, h265 hevccgi进程注入的得力助手cgi是一个命令行工具用于将Hook DLL注入到游戏进程。它支持动态注入、指定可执行文件路径和参数等功能是连接游戏进程与cgh捕获模块的重要桥梁。客户端引擎打造流畅的用户体验cgc轻量级客户端解决方案cgc是与cge配套的简易客户端它使用FFmpeg解码音视频流并用SDL2播放。客户端支持硬件解码、全屏显示、音量控制等功能确保用户能够获得流畅的游戏体验。Ksyun Edge Cloud Gaming Client v0.3 Beta Usage: -h [ --help ] Produce help message -d [ --hardware-decoder ] arg Set hardware decoder -r [ --remote-host ] arg (127.0.0.1) Set remote host -p [ --remote-port ] arg (8080) Set remote port --volume arg (100) Set volume, [0, 100]服务端与客户端的协同工作流程组件交互无缝衔接的技术架构鎏光云游戏引擎的各个组件通过精心设计的接口协同工作形成一个高效的云游戏系统。服务端的cge与客户端的cgc通过网络连接实现音视频流和控制指令的双向传输。从图中可以看到cge作为服务端核心同时与cgh画面捕获、regame-user-service用户服务和客户端cgc进行交互负责协调整个云游戏流程。认证流程安全可靠的用户验证鎏光云游戏引擎实现了完善的用户认证机制确保只有授权用户能够访问云游戏服务。认证流程涉及客户端、服务端和认证服务器的多方协作。认证流程如下客户端cgc发送登录请求到服务端cgecge将请求重定向到regame-authenticatorregame-authenticator验证用户身份并返回结果验证通过后cge允许客户端连接到云游戏服务快速体验鎏光云游戏引擎要开始体验鎏光云游戏引擎只需简单几步在服务器上运行cge在服务器上运行video_source测试工具生成测试图像在客户端上运行cgc -r server_address将server_address替换为实际服务器地址对于游戏测试还需要在服务器上安装cgvhid驱动运行cge时指定输入重放方式cge --keyboard-replaycgvhid --gamepad-replayvigem使用cgi注入游戏进程cgi -d true -e 游戏可执行文件路径 -i 游戏进程名 --lx86 captureyuv.dll系统要求与环境配置服务端配置要求目标最小化建议操作系统Windows 7 或以上Windows 10, 11GPUNVIDIA GPU已测试 GTX 1080Ti, RTX 2070S软件GeForce Experience最新的 GeForce Experience驱动GeForce Game Ready Driver最新的 GeForce Game Ready Driver客户端配置要求目标最小化建议操作系统Windows 7 或以上Windows 10, 11CPU任意amd64开发环境搭建要编译鎏光云游戏引擎需要配置以下开发环境Visual Studio推荐使用VS2022驱动开发需VS2019Boost设置BOOST_ROOT环境变量编译命令参考.\b2 --address-model64 runtime-linkstaticFFmpeg设置FFMPEG_ROOT环境变量建议采用LGPL shared版本SDL设置SDL2_ROOT环境变量同时配置SDL_ttf获取与参与鎏光云游戏引擎的源代码可以通过以下命令获取git clone https://gitcode.com/gh_mirrors/li/liuguang cd liuguang git submodule update --init项目还提供了详细的编译和测试文档帮助开发者快速上手。如果您对云游戏技术感兴趣欢迎加入鎏光社区一起推动国产云游戏引擎的发展结语鎏光云游戏引擎通过精心设计的服务端与客户端协同工作机制为用户提供了高质量的云游戏体验。其模块化的架构设计不仅保证了系统的灵活性和可扩展性也为开发者提供了良好的二次开发基础。随着云游戏技术的不断发展鎏光云游戏引擎有望在未来发挥更大的作用为游戏行业带来更多创新可能。【免费下载链接】liuguang鎏光云游戏引擎项目地址: https://gitcode.com/gh_mirrors/li/liuguang创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考