云电脑、云游戏 集群架构

云电脑、云游戏 集群架构

云电脑、云游戏 集群架构


前言

最近在弄云电脑厂家的远程控制服务架构搭建

上面是云电脑一个架构图、公安系统的接入没有画, 其实是在中转服务上接入的。据说整机房建设10万台的机器,目前已经建设好了一万台机器、目前云服务架构挑战还是非常大的

难点:

  1. 低延迟 (100ms)
  2. 基本已经决定使用中转模式(后台可以进行用户登录录像储备功能)
  3. 并发量暂时支持一万台机器的转发的能力

一、云电脑整个系统服务

1、被控制端(win)

2、控制端(win/android/ios)

3、打洞服务器

4、媒体和鼠标转发服务

5、信令服务

6、设备管理服务

7、后台的监控桌面

二、被控端核心技术点

1、桌面采集技术(dxgi)

2、win系统音频采集

3、视频编码(H264/H265/AV1), 音频编码(opus)

4、视频编码硬件加速适配(NVIDIA、Intel)

5、鼠标和键盘事件透传(DataChannel)

6、网络传输技术采用RTC

7、P2p和媒体转发

8、鼠标事件和键盘(系统事件函数mouse_event/驱动/ViGEm技术)

9、显示器(驱动/displaydevice)

10、键盘、鼠标、游戏手柄的统一管理和信号转换,适配Xbox 360、DualShock 4等主流协议(inputtino/ViGEmClient)

11、服务管理(system/server/ui)

三、控制端

1、视频加速解码适配各个厂家显卡(nvidia、inter、AMD)

2、鼠标事件、键盘和文件的拷贝Hook系统事件(钩子)

3、文件传输(RTC中DataChannel通道)

四、打洞服务器

1、 RTC做公网映射提高p2p打洞成功率

五、信令服务

1、作为p2p的信令的协议交换的中转

六、媒体和鼠标转发服务

1、正常p2p打洞失败走媒体转发服务连接

2、后台设备查看被控制画面和鼠标事件

3、鼠标/键盘/文件传输(透传)

4、多用户同时连接控制同一台电脑

七、设备管理服务

1、管理设备(注册/登录)

2、用户管理

3、设备与用户关联

总结

项目使用到协议部分:https://github.com/chensongpoixs/libmedia_transfer_protocol

相关推荐
java_logo1 小时前
Docker 部署 SRS:轻松搭建实时音视频流媒体平台
docker·容器·webrtc·实时音视频·rtmp·http-flv·轩辕镜像
wjcroom15 小时前
一个可以在线多人玩的五子棋开发与布署方法-WebRTC和WebSocket的测试方法
websocket·网络协议·webrtc
cuijiecheng20184 天前
RK3588 WebRTC 实时流卡顿优化:从视频桥接到 H.264 PTS 回退
音视频·webrtc·h.264
贝锐5 天前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
从入门到退休6 天前
企业远程控制选型:向日葵SDK vs RustDesk自建,谁是更务实的选择?
运维·服务器·网络·远程工作·远程控制
SendTomo6 天前
send.wang:基于浏览器WebRTC实现无客户端文件互传
网络·python·网络协议·webrtc·p2p
是Dream呀10 天前
5人设计组远程连工作站靠抢?用ToDesk团队设计版搭_数位板映射+多屏+权限_协同工作流
人工智能·ai·远程工作·todesk
应用市场12 天前
无线控制与图传协议全景:从 S.BUS 到 WebRTC,一篇讲透遥控、数传与视频链路
音视频·webrtc
福大大架构师每日一题12 天前
webrtc-rs/webrtc v0.20.3更新:Android 网络切换后 ICE Restart 卡死约 10 秒的问题终于解决
android·网络·webrtc
SendTomo13 天前
P2P传输中IP交换的可控性实现
webrtc·p2p