Russian Qt Forum
Ноябрь 24, 2024, 02:51
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Android скриншоты
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Android скриншоты (Прочитано 13549 раз)
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Android скриншоты
«
:
Март 10, 2020, 22:22 »
Доброго времени суток!
Понадобилось делать скриншоты с экрана смартфона с целью анализировать их на компьютере.
Не проблема: с помощью QProcess и кода
Код:
adb exec-out screencap -p
получаю скриншот, всё ОК.
Но вот беда - на 1 снимок уходит больше 2 секунд. А хотелось бы хотя бы 4 кадра в секунду.
Как это можно сделать?
Телефон не рутованный, ставить какие-то дополнительные программы на него не хотелось бы.
Записан
Digital Art
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Android скриншоты
«
Ответ #1 :
Март 11, 2020, 00:14 »
можно запустить несколько процессов параллельно
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Android скриншоты
«
Ответ #2 :
Март 11, 2020, 01:54 »
Даже если это и получится (я проверю, конечно), то рассинхронизация в те же 2+ секунд никуда не денется. Самый первый то кадр всё равно придёт через 2+ секунд...
Хитрее надо как то.
Записан
Digital Art
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Android скриншоты
«
Ответ #3 :
Март 11, 2020, 11:24 »
а если прямо из консоли выполнять эту команду, то нет задержки?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Android скриншоты
«
Ответ #4 :
Март 11, 2020, 11:33 »
Есть, конечно. 2 секунды - достаточный срок, чтобы видеть даже "на глаз".
Записан
Digital Art
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Android скриншоты
«
Ответ #5 :
Март 11, 2020, 13:44 »
значит, дело не в QProcess
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
qate
Супер
Offline
Сообщений: 1177
Re: Android скриншоты
«
Ответ #6 :
Март 11, 2020, 14:02 »
если делать screencap в сыром виде и не передавать по adb линку, то будет быстрее
если это медленно - надо искать замену screencap
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Android скриншоты
«
Ответ #7 :
Март 11, 2020, 14:32 »
Цитата: qate от Март 11, 2020, 14:02
если делать screencap в сыром виде и не передавать по adb линку, то будет быстрее
Вы про "создать скриншот внутри телефона и наружу передать файл"? Я так делал - выгода разве что в экономии около 0.5 секунд, убыток - в том, что можно довольно быстро затереть флешку телефона. Screencap то выдаёт картинку в бинарном виде, которую можно на компьютере просто создавать в /dev/shm
А какая может быть замена screencap?
«
Последнее редактирование: Март 11, 2020, 14:41 от tux
»
Записан
Digital Art
qate
Супер
Offline
Сообщений: 1177
Re: Android скриншоты
«
Ответ #8 :
Март 11, 2020, 15:55 »
1. можно хранить последние 100 от screencap (срипт должен чистить). а забирать потом
2. альтернативой может быть или имеющиеся скриншоттеры из gplay или свой написать )
2.1 даже используя быстрый скриншотер может быть затык в передачи png-файла по adb или wifi
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Android скриншоты
«
Ответ #9 :
Март 11, 2020, 16:35 »
1) Хранить X скриншотов и забирать их потом - всё равно будет задержка получения первого скришнота.
2) Написать свой - может быть вполне вариант, только я вряд ли без рута смогу получить доступ к фреймбуферу
3) Так затык и есть. В передаче хоть сырых данных, хоть в виде png
Или всё таки можно до фреймбуфера без рута добраться?
P.S. Есть ещё один вариант, конечно - использовать внешнюю web-камеру
«
Последнее редактирование: Март 11, 2020, 16:37 от tux
»
Записан
Digital Art
qate
Супер
Offline
Сообщений: 1177
Re: Android скриншоты
«
Ответ #10 :
Март 11, 2020, 17:02 »
вроде есть скришотеры без рута на gplay, но проверять не буду и не смогу т.к. рут у меня есть
Записан
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Android скриншоты
«
Ответ #11 :
Март 11, 2020, 21:01 »
Цитата: qate от Март 11, 2020, 17:02
вроде есть скришотеры без рута на gplay, но проверять не буду и не смогу т.к. рут у меня есть
Та даже если и есть - что с того? Ставить что-то дополнительное на смартфон я не хочу, о чём и говорил в начале темы. Вопрос о фреймбуфере был чисто любопытным.
Пока что, вариант съёма скриншотов без установки дополнительных программ и без тормозов остаётся только web-камера.
Но, есть надежда, что кто-то что-то подскажет...
Записан
Digital Art
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Android скриншоты
«
Ответ #12 :
Март 11, 2020, 22:11 »
а в чем состоит глобальная задача? может можно придумать другой подход?
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Android скриншоты
«
Ответ #13 :
Март 11, 2020, 23:01 »
Цитата: kambala от Март 11, 2020, 22:11
а в чем состоит глобальная задача? может можно придумать другой подход?
Задача - простая. Имитировать человека, не прибегая ко всяким дополнительным программам на устройстве.
Попробую обьяснить. Лет 5 назад была подобная задача, правда на компьютере (for fun) - есть некое графическое приложение (сама ОС в данном случае не важна). Нужно в определенный момент времени кликать в определенной области экрана. Для чего - не так важно.
В результате получился небольшой компьютер с камерой, смотрящей на экран другого компьютера. Было реализовано распознавание целей с помощью OpenCV. Сам "клик" реализовывался с помошью "ардуинки" (то, что было на тот момент), которая "притворялась" мышью. Управление оной осуществлялась через UART. Естественно, добавлялись разные случайные задержки и случайно "сбивались" координаты клика. Само графическое приложение, естественно, ничего подозрительного не заметило.
Теперь захотелось что-то подобное сделать на андроиде, только без камеры...
Записан
Digital Art
qate
Супер
Offline
Сообщений: 1177
Re: Android скриншоты
«
Ответ #14 :
Март 12, 2020, 08:59 »
почему запрет установить стороннею быструю программу скриншотера (или написать свою) так принципиален ?
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...