我无法使用adb屏幕录制工具捕获android屏幕

jma*_*edo 8 android screen-recording mediacodec

我有一个带有android KitKat的nexus 4.

我使用以下命令尝试了屏幕录制:

adb shell screenrecord --verbose /sdcard/demo.mp4

adb shell screenrecord --bit-rate 8000000 --time-limit 30 /sdcard/kitkat.mp4
Run Code Online (Sandbox Code Playgroud)

两次,命令都返回此消息:

Main display is 768x1280 @60.00fps (orientation=0)
Configuring recorder for 768x1280 video at 4.00Mbps
ERROR: unable to create video/avc codec instance
Run Code Online (Sandbox Code Playgroud)

在AndroidStudio中打开的调试控制台中,显示了以下日志消息:

02-02 18:16:29.058     176-4045/? E/OMX-VENC-720p? Is component secure 0
02-02 18:16:29.058     176-4045/? E/OMX-VENC-720p? ERROR: Omx_venc::Comp Init Returning failure
02-02 18:16:29.058     176-4045/? E/OMX-VENC-720p? ERROR: venc_open failed
02-02 18:16:29.058     176-4045/? E/OMX-VENC-720p? Destroy C2D instance
02-02 18:16:29.058  11072-11086/? E/ACodec? Unable to instantiate a decoder for type 'video/avc'.
02-02 18:16:29.058  11072-11085/? E/MediaCodec? Codec reported an error. (omx error 0x80001003, internalError -2147483648)
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何解决这个问题?(我试过较小的分辨率,但没有成功)

小智 0

我不知道这是否会有很大帮助,但是:

尽管出现错误,设备实际上应该正在录制。因此,忽略警告并检查 /sdcard,您的录音应该在那里。

也试试这个(没有任何其他东西)

adb shell screenrecord /sdcard/demo.mp4
Run Code Online (Sandbox Code Playgroud)

这应该有效。如果出现错误

ERROR: unable to configure codec (err-2147483648)
WARNING: failed at ___x___,retrying at ___x___
Run Code Online (Sandbox Code Playgroud)

别担心。

只是附注(我确定您已全部设置完毕),请仔细检查您的驱动程序是否已正确安装以及路径是否已配置等。

我正在开发一个用于录制 Nexus/KitKat 设备的小项目:http://goo.gl/LEALYL (有关该项目的博客文章:http://goo.gl/BnBzNw