Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建一个Java;屏幕共享“;应用_Java_Screenshot_Screen Capture - Fatal编程技术网

如何创建一个Java;屏幕共享“;应用

如何创建一个Java;屏幕共享“;应用,java,screenshot,screen-capture,Java,Screenshot,Screen Capture,我目前有一个半工作的screenshare应用程序,它执行以下操作: 客户端: 使用机器人捕获用户屏幕 检测自上次屏幕截图以来已更改的像素 通过压缩流发送差异图像 服务器: 解压缩差分图像 将图像覆盖到用户的上一个屏幕上 现在,这是可行的,但速度非常慢。处理1920x1080屏幕需要200毫秒 我还可以使用哪些其他技术来提高效率?还有什么方法可以把多个图像编码成.h264流或类似的东西吗?是否有任何有用的库可以更快地比较这两个图像?可能是在GPU上而不是CPU上?您确定瓶颈了吗?如果不是,你应

我目前有一个半工作的screenshare应用程序,它执行以下操作:

客户端

使用
机器人捕获用户屏幕

检测自上次屏幕截图以来已更改的像素

通过压缩流发送差异图像

服务器

解压缩差分图像

将图像覆盖到用户的上一个屏幕上


现在,这是可行的,但速度非常慢。处理1920x1080屏幕需要200毫秒


我还可以使用哪些其他技术来提高效率?还有什么方法可以把多个图像编码成.h264流或类似的东西吗?是否有任何有用的库可以更快地比较这两个图像?可能是在GPU上而不是CPU上?

您确定瓶颈了吗?如果不是,你应该在考虑h264或GPU的东西之前这样做,因为如果它们不在瓶颈的话,它们不会有帮助。你是如何读取像素的?7参数BuffereImage.getRGB可能比2参数BuffereImage.getRGB快。直接访问DataBuffer可能比getRGB或getRGB都要快。@Siguza读取像素和比较图像需要一半的时间,压缩需要一半的时间it@VGR当我回家后,我会尝试使用数据缓冲,看看是否有任何显著的改进100毫秒来压缩或比较图像?哈,天知道那可以走得更快。。。您使用的是哪种压缩方式?什么样的数据结构?