Я не могу захватить экран андроида, используя инструмент записи экрана adb

У меня есть nexus 4 с андроидом KitKat.

Я попробовал запись на экране с помощью следующих команд:

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

Оба раза команды вернули это сообщение:

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

На консоли отладки, которую я открыл в 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) 

Кто-нибудь понял, как это решить? (Я пробовал меньшие разрешения, но без успеха)

У меня такая же проблема … и мне удалось ее решить … но я не знаю, как …

Когда я побежал:

$> Adb.exe shell screenrecord –verbose /sdcard/kitkat.mp4

Я получил эту ошибку:

Основной дисплей – 768×1280 @ 60,00fps (ориентация = 0). Настройка рекордера для видео 768×1280 при 4.00Mbp. ОШИБКА: невозможно создать экземпляр видео / avc-кодека.

И чтобы решить мою проблему, я сначала понизил скорость передачи:

$> Adb.exe shell screenrecord – бит-скорость 1000000 – время-ограничение 30 –verbose /sdcard/kitkat.mp4

И затем, когда я выполнил команду по умолчанию …:

$> Adb.exe shell screenrecord –verbose /sdcard/kitkat.mp4

Оно работает…

Возможно, потому, что я снова запустил сервер adb после первой ошибки …

Очень странно…

Перезагрузите мой телефон после того, как:

 ERROR: unable to create video/avc codec instance 

Тогда это сработало …

Для тех, кто все еще может столкнуться с этой проблемой, у меня была такая же проблема. Я не мог найти что-либо в Интернете, которое поможет мне исправить это.

Во всяком случае, в какой-то момент я открыл приложение Camera на своем Nexus 4, и я узнал, что по какой-то причине я больше не мог записывать видео – функция просто не сработала.

В этот момент я подумал, что что-то может быть повреждено. Я выполнил сброс данных по заводским настройкам телефона, и когда завершился сброс, я снова попытался использовать screenrecord, и проблема исчезла. Я смог записать экран на свой телефон без каких-либо проблем.

Я до сих пор не знаю, что вызвало проблему, или если это имеет какое-то отношение к проблеме, которую я имел с функцией видеозаписи приложения Camera, но сброс моего телефона до заводских настроек позволил мне решить эту проблему.

Надеюсь, это поможет!

Я не знаю, поможет ли это, но:

Несмотря на ошибку, устройство должно фактически записывать. Поэтому игнорируйте предупреждение и проверьте / sdcard, ваша запись должна быть там.

Также попробуйте это (без каких-либо других вещей)

 adb shell screenrecord /sdcard/demo.mp4 

Это должно сработать. Если вы получите ошибку

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

Не беспокойтесь об этом.

Просто примечание (я уверен, что у вас все это установлено), дважды проверьте правильность установки драйверов и настроены пути и т. Д.

Я работаю над небольшим проектом для записи устройств Nexus / KitKat: http://goo.gl/LEALYL (сообщение в блоге по проекту: http://goo.gl/BnBzNw )

Попробуйте отключить режим энергосбережения. Режим экономии энергии Samsung снижает скорость экрана, screenrecord не учитывает это несоответствие. Другие ПЗУ также используют эту функцию.