桌面捕获

本文介绍了虚拟投影仪系统的实现方案,对比了GDI、DirectX、镜像驱动及DXGI等方式在不同操作系统版本下的性能表现,并针对4K屏幕场景进行了实践验证。文中还探讨了编码优化的可能性以及系统架构的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要做一个虚拟投影仪系统,类似远程桌面,用到桌面捕获,小结如下:

1 GDI方式,直接画桌面,通用性最好,效率最差,win8下耗时60ms

2 DirectX方式,需要注册一个DX的filter(网上有源码,需配置是否捕获鼠标),win8下耗时60ms,(win7和XP要比GDI方式快)。

3  镜像驱动(mirror dirver),VNC的远程桌面技术,需要装一个驱动,win8下不能用,(win7和XP极快,1ms)。

4 win8下只有用DXGI方式来提高速度,耗时10ms。注意的是,当桌面没有变化,或捕获失败,因此需要备份上次的桌面来直接使用。

由于要编码,1/2种方式可以借用ffmpeg,最后通过UDP等传输出去。

经实测,对于4K屏幕,发送端做到实时完全无压力。接收端解码显示,流畅清晰。

其实,编码部分还可优化,用intel的media sdk,速度和cpu占用率会大幅改进。

系统X86架构,是从PC端到Linux端。

变种:PC-手机,手机-PC,手机-手机(一个同学在做这个)

有朋友建议,通过标准协议,自动搜索联网移动设备。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值