2012-07-24 46 views
0

我正在从web浏览器的遥控器android的东西。像帆布或闪光灯会绘制Android设备的屏幕,我希望它非常顺利。如何将android屏幕实时渲染到网页

据我所知,我们可以使用帧缓冲区捕捉android屏幕。有很多关于这方面的文章。但是,fps非常多,最多4〜5 fbs。有什么方法可以改进吗?

将类似的ffmpeg的帮助?

回答

0

,你将永远无法实时操作。总会有一些延迟。这是由于一些因素,如互联网连接,设备硬件速度,屏幕截图延迟等。有几家公司在全球范围内成功地完成了这项工作,但并非没有拖延。

+0

延迟是可以接受的。我只想要一种方法来减少它。我认为一旦套接字请求接受,当前屏幕捕获方法从帧缓冲读取图像不够好。 – 2012-07-24 13:24:44

+0

测量延迟的一种方法是在屏幕上执行任何操作后,您应该能够在1/1.5秒的延迟时间内看到它。如果你能够实现它,假设你的代码是好的。如果没有,那么发布你的代码,我们可能会帮助你。 – Shafi 2012-07-24 13:30:11

+0

好吧,我认为1/1.5可能是可以接受的网站刷新或单张图片刷新,但不适用于远程控制。它应该像视频一样。速度接近20 fps,不仅有4〜5个。目前的代码可能是这样的:code.google.com/p/androidscreencast/ – 2012-07-24 13:39:07

0

我的确认为你需要编写一个虚拟驱动程序(.so)并安装它,所有像“droid VNC server”这样的应用程序都需要root访问级别。

+0

我使用droid vnc服务器。但不幸的是,它不适用于我的华为u8800 +设备。 – 2012-07-24 13:41:35

0

您是否执行基于ARM NEON的优化?它应该超过4〜5 fps。我正在做一个显示记录器应用程序,可以很容易地做25fps。但是,这不是远程处理,而是将捕获的视频保存到本地存储。

至于类似VNC的解决方案,关键不是循环,而是捕获帧,它应该只在视频缓冲区更新时执行。

您还可以测试我们的vnc服务器是否适用于您的设备。 VMLite VNC服务器是第一个不需要root的vnc服务器,但您需要使用USB连接来启动服务器。

https://play.google.com/store/apps/details?id=com.vmlite.vncserver

+0

很高兴捕捉视频高达25帧/秒。你会与我们分享你是如何做到的?你有免费版本的VMLite VNC服务器吗? – 2012-08-16 02:02:06