无法获得三星Galaxy Note 10.1(N8010)帧缓冲区,fb0仅显示顶部栏

时间:2018-12-02 10:11:56

标签: android framebuffer galaxy

我的最终目标是非常快地在真实的android设备屏幕上获取某些像素值,我希望我可以通过分析像素值并相应地通过adb执行触摸操作来自动执行某些应用/游戏。

使用Using ADB to capture the screen之类的常规屏幕捕获程序太慢。另外,我不需要读取和转换所有屏幕像素,只需要读取一个或几个像素的值即可。

这应该可以工作:How can I get the color of a screen pixel THROUGH ADB,但是似乎当我从我的Galaxy note 10.1中读取fb0时,只有前48行像素存储在fb0中。

当我这样做时:

cat /dev/graphics/fb0 > /sdcard/screen.raw

生成的文件只有245,760字节(等于1280x800x4x48)。当我使用ffmpeg将此文件转换为

ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 1280x48 -i screen -f image2 -vcodec png image.png

结果是这样的: converted image from fb0

当我使用以下命令将随机值插入fb0时:

cat /dev/urandom > /dev/graphics/fb0

我只能看到屏幕顶部充满了随机值。

我确实在/ dev / graphics中看到了一个fb12文件,大小为1701000字节,但是我不知道如何转换它,因为它不是1280屏幕尺寸的倍数,所以我不能使用ffmpeg命令。

我找到了此链接:https://github.com/meefik/linuxdeploy/wiki/Framebuffer-notes,该人员说fb3是其设备的正确帧缓冲区,但我测试了图形文件夹中的所有fbX,但都不正确。

有人知道要从Galaxy Note 10.1 N8010获取帧缓冲区吗?

0 个答案:

没有答案