Как быстро делать скриншоты вне Activity?

Я ищю способ как можно быстро делать скриншоты вне activity приложения, желательно получить эти скриншоты в bitmap. Единсвтенный способ, который я нашел - это делать скриншоты с помощью утилиты screencap:

/system/bin/screencap -p /storage/emulated/0/screenshot.png

Этот способ мне не подходит, так как он слишком медленный (около секунды на один скриншот).

Есть ли альтернативный способ, который будет работать быстрей?


Ответы (1 шт):

Автор решения: Vadik

Если есть возможность использовать adb и ffmpeg, то можно сначала записать видео, потом разбить видео на необходимое количество кадров.

Записываем 1 секунду видео с экрана:

timeout 1 adb shell screenrecord /sdcard/record.mp4

Скачиваем видео:

adb pull /sdcard/record.mp4

Извлекаем кадры из видео с частотой 24 кадра в секунду:

ffmpeg -i record.mp4 -r 24 output_%d.png
→ Ссылка