-->

I can't capture android screen using adb scree

2020-07-08 06:31发布

问题:

I have a nexus 4 with android KitKat.

I tried screen recording using the following commands:

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

adb shell screenrecord --bit-rate 8000000 --time-limit 30 /sdcard/kitkat.mp4

Both times, the commands returned this message:

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

In the debug console I had open in AndroidStudio, the following log messages were shown:

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)

Does anybody got any idea on how to solve this? (I tried smaller resolutions, but with no success)

回答1:

I got the same problem...and succeed to solve it...but I do not know how...

When I ran:

$>adb.exe shell screenrecord --verbose /sdcard/kitkat.mp4

I got this error:

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

And to solve my problem, I first lowered the bitrate:

$>adb.exe shell screenrecord --bit-rate 1000000 --time-limit 30 --verbose /sdcard/kitkat.mp4

And then when I ran the default command...:

$>adb.exe shell screenrecord --verbose /sdcard/kitkat.mp4

It works...

Maybe because I also re-start the adb server after the first error...

Very strange...



回答2:

Rebooted my phone after having the :

ERROR: unable to create video/avc codec instance

Then it worked...



回答3:

for anyone that might still be experiencing this issue, I had this exact same problem. I couldn't find anything online that would help me fix it.

Anyhow, at some point I opened up the Camera application on my Nexus 4 and I found out that for some reason, I couldn't record videos anymore -- the feature just wouldn't work.

At this point I figured that something may be corrupted. I did a factory data reset of the phone and when the reset completed, I attempted to use screenrecord again and the problem was gone. I was able to record the screen on my phone with no problems at all.

I still have no idea what was causing the problem, or if it has anything to do with the issue that I had with the video recording feature of the Camera application, but resetting my phone to factory settings solved this problem for me.

I hope this helps!



回答4:

I don't know if this will be of much help but:

Despite the error, the device should be actually recording. So ignore the warning and check the /sdcard, your recording should be there.

Also try this (without any of the other stuff)

adb shell screenrecord /sdcard/demo.mp4

This should work. If you get the error

ERROR: unable to configure codec (err-2147483648)
WARNING: failed at ___x___,retrying at ___x___

Don't worry about it.

Just a side note (I'm sure you have this all set), double check your drivers are installed properly and paths are configured, etc.

I'm working on a little project for recording Nexus/KitKat devices: http://goo.gl/LEALYL (Blog post on the project: http://goo.gl/BnBzNw)



回答5:

Try turning off power save mode. Samsung's power save mode lowers the screen rate, screenrecord does not account for this discrepancy. Other ROMs also use this feature.