实现方案:
方案是传输图像,游戏在服务端运行,再通过一定的方法把游戏图像获取出来,在服务端进行视频编码压缩然后传输到客户端,客户端进行解码播放显示,发送的是一个视频流和音频流。客户端获取鼠标、键盘、手柄等设备的控制事件传输到服务端控制游戏。
技术挑战:
- 延迟: < 100ms;
- 视频质量: > 25(PSNR);
- 刷新率: >= 60fps;
- 分辨率:>= 1080p;
- 带宽:带宽越低越好。
难点:高质量和低延迟之间的平衡,高质量的游戏效果,带宽的使用就会增加,对于服务器的性能要求也就更高,若要尽快地把服务端的图像发送到客户端,就需要在低延时与高质量之间做权衡。
WebRTC 应用:
WebRTC提供低延迟、点到点的通信,很适合云游戏这种应用场景。
特点:
- 低延时,实时;
- 跨平台;
- 打开浏览器就能玩,不需要安装插件。
- 开发的标准
几点优化:
1、支持DXGI画面采集;
2、H264编码支持GPU加速;
3、PacketSender优化加速;
4、解码端画面支持GPU渲染。