Добрый день,
пишу софт под андроид для управления arduino+led лентой. Хочу сделать аналог Ambilight/Kodi+Boblight/etc
Пытаюсь сделать скрин экрана, получить цвет нужных пикселей и передать через serial на arduino. Скрины делаю с помощью screencap -p /filename
Столкнулся со следующими проблемами:
1) скрины отличаются цветами от изображения на экране, как-будто инвертированы. (Например, дефлотовый цвет MenuBar в аднроиде - синий, на скрине красный)
2) скрины делаются медленно 2+ сек. Для нормального "эмбилайта" хотелось бы выжать ~10fps. Посоветуйте решение
Прощу помочь или показать куда копать и что курить! Заранее спасибо за помощь.
О деактивации форума Eltex
Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.
Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.
Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.
Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.
Android Screenshot / Ambilight / Arduino
Re: Android Screenshot / Ambilight / Arduino
gfif писал(а):Добрый день,
пишу софт под андроид для управления arduino+led лентой. Хочу сделать аналог Ambilight/Kodi+Boblight/etc
Пытаюсь сделать скрин экрана, получить цвет нужных пикселей и передать через serial на arduino. Скрины делаю с помощью screencap -p /filename
Столкнулся со следующими проблемами:
1) скрины отличаются цветами от изображения на экране, как-будто инвертированы. (Например, дефлотовый цвет MenuBar в аднроиде - синий, на скрине красный)
2) скрины делаются медленно 2+ сек. Для нормального "эмбилайта" хотелось бы выжать ~10fps. Посоветуйте решение
Прощу помочь или показать куда копать и что курить! Заранее спасибо за помощь.
Добрый день,
1. Уточните версию ПО, модель приставки.
2. Команду запускаете по ssh ?
3. Различие цветов проявляется на всех скринах во всех меню и приложениях?
4. Скрин куда сохраняете, на флешку и на внутреннюю память, может из-за этого задержка такая?
Алексей Синкин / Элтекс / Сервисный центр STB / techsupp@eltex.nsk.ru
Re: Android Screenshot / Ambilight / Arduino
1. nv 501 wac. Сброка revA-nv501wac-1.0.18-b46
2. В самом Андроид приложении, но через adb shell так же
3.
Да. Открываю на ТВ картинку залитую синим. Делаю скриншот - красный. Такое впечатление что в screencap не RGB, а BGR. Пока решил именно таким способом - читаю цвет пикселя и меню синий с красным местами.
4. Сохраняю в RAM- чуть быстрее флешки.
Тормоза скорее в самом получении/сжатии изображения на экране.
Вариант со скрином заведомо медленный, в идеале нужно что-то вроде:
В интернет видел, что можно через openGL ES делать glReadPixel, но не разобрался/не заработало - тут не специалист. Возможно есть какой-нибудь интерфейс для получения цвета/пикселя/"быстрого" скриншота?
Update: если на экране ТОЛЬКО видео, без меню, прогресс бара и тп, то через screencap скриншот получается черный.
2. В самом Андроид приложении, но через adb shell так же
Код: Выделить всё
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec("/system/bin/screencap -p " + screen);
ps.waitFor();
3.
Различие цветов проявляется на всех скринах во всех меню и приложениях?
Да. Открываю на ТВ картинку залитую синим. Делаю скриншот - красный. Такое впечатление что в screencap не RGB, а BGR. Пока решил именно таким способом - читаю цвет пикселя и меню синий с красным местами.
4. Сохраняю в RAM- чуть быстрее флешки.
Код: Выделить всё
mount -t tmpfs tmpfs /sdcard/tmpfs/screen.png
Тормоза скорее в самом получении/сжатии изображения на экране.
Вариант со скрином заведомо медленный, в идеале нужно что-то вроде:
Код: Выделить всё
int pixel = framebuffer.getPixelColor(x,y);
В интернет видел, что можно через openGL ES делать glReadPixel, но не разобрался/не заработало - тут не специалист. Возможно есть какой-нибудь интерфейс для получения цвета/пикселя/"быстрого" скриншота?
Update: если на экране ТОЛЬКО видео, без меню, прогресс бара и тп, то через screencap скриншот получается черный.
Re: Android Screenshot / Ambilight / Arduino
В данном случае вам действительно screencap не подойдёт т.к. её скорость не высока для такого применения. Основное назначение это запись скринов для отчёт появляющихся проблем, но проблем с перемешиванием цветов не замечалось.
Проверьте пожалуйста открытие изображения в других приложения для просмотра/редактирования, будет ли там наблюдаться что-то подобное?
Проверьте пожалуйста открытие изображения в других приложения для просмотра/редактирования, будет ли там наблюдаться что-то подобное?
Алексей Синкин / Элтекс / Сервисный центр STB / techsupp@eltex.nsk.ru
Re: Android Screenshot / Ambilight / Arduino
sau писал(а):Проверьте пожалуйста открытие изображения в других приложения для просмотра/редактирования, будет ли там наблюдаться что-то подобное?
Синие изображения открываются нормально, проблема именно с изображения созданными через screencap.
Копирую так:
Код: Выделить всё
adb pull /sdcard/tmpfs/screen.png C:\Users\user\Desktop
Открываю через стандартный просмотр фото.
Re: Android Screenshot / Ambilight / Arduino
gfif писал(а):Синие изображения открываются нормально, проблема именно с изображения созданными через screencap.
Что-то не понял, можете приложить примеры скринов с описанием? Можно в личку.
Алексей Синкин / Элтекс / Сервисный центр STB / techsupp@eltex.nsk.ru
Re: Android Screenshot / Ambilight / Arduino
sau писал(а):gfif писал(а):Синие изображения открываются нормально, проблема именно с изображения созданными через screencap.
Что-то не понял, можете приложить примеры скринов с описанием? Можно в личку.
Присоеденил скрин через screencap и фото экрана


Последний раз редактировалось gfif 10 янв 2017 10:55, всего редактировалось 1 раз.
Re: Android Screenshot / Ambilight / Arduino
gfif писал(а):sau писал(а):gfif писал(а):Синие изображения открываются нормально, проблема именно с изображения созданными через screencap.
Что-то не понял, можете приложить примеры скринов с описанием? Можно в личку.
Присоеденил скрин через screencap и фото экрана
Просмотреть не удалось, изображения недоступны. Попробуйте ещё раз.
Алексей Синкин / Элтекс / Сервисный центр STB / techsupp@eltex.nsk.ru
Re: Android Screenshot / Ambilight / Arduino
Вы пишете, что сборка revA-nv501wac-1.0.18-b46, а релиз был revA-nv501wac-1.0.18-b44.
Пробовали ли на релизе и что именно в вашей сборке изменено?
Пробовали ли на релизе и что именно в вашей сборке изменено?
Алексей Синкин / Элтекс / Сервисный центр STB / techsupp@eltex.nsk.ru
Re: Android Screenshot / Ambilight / Arduino
sau писал(а):Вы пишете, что сборка revA-nv501wac-1.0.18-b46, а релиз был revA-nv501wac-1.0.18-b44.
Пробовали ли на релизе и что именно в вашей сборке изменено?
Обновление revA-nv501wac-1.0.18-b44 от провайдера еще не приходило. Прошивка от Электронного города, сам ничего не менял.
Re: Android Screenshot / Ambilight / Arduino
gfif писал(а):sau писал(а):Вы пишете, что сборка revA-nv501wac-1.0.18-b46, а релиз был revA-nv501wac-1.0.18-b44.
Пробовали ли на релизе и что именно в вашей сборке изменено?
Обновление revA-nv501wac-1.0.18-b44 от провайдера еще не приходило. Прошивка от Электронного города, сам ничего не менял.
Попробовал на revA-nv501wac-1.0.18-b46. такой проблемы нет. Попробуйте сбросить настройки приставки.
Алексей Синкин / Элтекс / Сервисный центр STB / techsupp@eltex.nsk.ru
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 14 гостей