Android,Native OpenGL / OpenMAX,屏幕截图

时间:2014-12-10 06:53:46

标签: android opengl-es-2.0 android-source openmax

用例

使用USB将Android屏幕镜像到PC

潜在(本地)实施方法

  1. 使用Android开源,根据需要修改screenrecord并使用ADB在Android设备上重新安装
  2. 使用众所周知的原生API(例如OpenGL / OpenMAX来捕获屏幕
  3. 讨论

    方法#1 肯定会工作(在shell帐户下),然而,每次更新Android操作系统时,自定义代码都需要更新以保持随着操作系统的变化,方法#2 API保持不变,无需担心操作系统的变化,问题是是否可以单独使用OpenGL / OpenMAX实现镜像?

    问题

    如上所述,通过USB镜像android屏幕的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

Android 5.0" Lollipop"附带的screenrecord可以通过ADB发送原始H.264。命令行如下所示:

adb shell screenrecord --output-format=h264 - | <player>

bigflake page上有一些细节。我已经用它将屏幕镜像到Linux工作站上,但不幸的是我没有保存VLC / mplayer命令行。一些玩家的建议是here

您可以尝试执行未压缩的帧(--output-format=raw-frames),但是即使屏幕很小,也能以不错的帧速率轻松击败ADB连接。

源代码为here

答案 1 :(得分:0)

根据fadden的建议,我最终修补sreeenrecord禁用时间限制并添加了我自己的一些代码(通过USB路由启用ADB),它可以工作,但是,每个都需要维护操作系统更新的时间,我希望有一种方法可以将Android Java框架用作ADB Shell工具,因为这会大大减少我所按压的未记录按钮的数量......