Адаптивная подсветка xiaomi mi tv что это

Опубликовано: 22.04.2024

Xiaomi телевизоры в настоящее время являются одним из самых интересных предложений в Smart TV сектор. У них очень хорошая цена, а такие разделы, как дизайн, качество изображения или звук, находятся на отличном уровне, учитывая, сколько они стоят. Хотя лучше всего то, что они интегрируют Android ТВ, и это дает гораздо больше возможностей. Так что вы можете получить максимум от вашего Xiaomi Mi LED TV .

Читы и советы для Xiaomi Mi LED TV

Советы и хитрости для телевизоров Xiaomi

Если вы думаете о покупке нового телевизора и не хотите много вкладывать, то хорошим вариантом будет Smart TV от Xiaomi. Его соотношение цены и качества очень привлекательно. Это правда, что немного больше вы можете найти другие варианты, от более известных производителей, которые также интересны, но, зная хорошую работу бренда, трудно устоять.

После нашего анализа Mi LED 4 мы более привычно использовали телевизор и собрали все те приемы и советы, с помощью которых вы можете извлечь из этого максимум пользы.

Улучшить качество изображения и звука

Существуют технические ограничения, которые не позволят вам улучшить качество изображения и звука сверх того, что предлагает панель. Тем не менее, вы можете убедиться, корректировки, с которыми вы можете заработать дополнительный в чем пользовательский опыт.

В случае изображения без плохой последовательной калибровки, правда в том, что если вы используете параметры калибровки, вы улучшите производительность еще больше. Аналогичным образом, если у вас нет опыта настройки параметров, таких как яркость или контрастность, используйте один из предварительно определенных профилей. Если вам нравятся яркие цвета, переходите в яркий режим, хотя наш любимый режим фильма .

Повысьте качество видеоигр

Ми светодиодный телевизор HDMI 2.0

Если вы используете телевизор с консолью или ПК, вы можете улучшить игровой процесс. Для этого перейдите в «Настройки»> «Настройки устройства». Теперь активируйте расширенный режим HDMI. Затем в настройках изображения перейдите в Advanced Видео и отключить шумоподавление, сглаживание видео и включить диапазон HDMI RGB.

Эти простые настройки позволят вам воспроизвести изображение, полученное с консоли или ПК, без каких-либо изменений при его отображении. Таким образом, вы получите качество и улучшения за счет уменьшения задержки между выполнением действия на контроллере и его отражением.

Отключить Patchwall

Patchwall - это программа запуска, похожая на собственный интерфейс Google, которая предлагает некоторые интересные детали, такие как возможность отображать телевизионный сигнал или другой источник видео в Режим PiP , например, консоль, подключенную через HDMI.

Тем не менее, если вы хотите запретить запуск этого интерфейса по умолчанию, вы можете это сделать. Для этого перейдите в Настройки> Настройки устройства> Patchwall , Первый вариант, который вы увидите, позволит вам выбрать, хотите ли вы использовать его в качестве интерфейса по умолчанию.

Настройте домашний экран


Если вы не привыкли использовать Android TV, вы, вероятно, включите телевизор и примете все как есть. Но ты не обязан, домашний экран можно настроить выбрать, что вы хотите показать или нет.

Например, если вам не нравится Гугл игры Рекомендации фильмов, их можно удалить. Вы также можете включить или отключить другие списки различных установленных служб. Для этого перейдите в «Настройки»> «Настройки устройства»> «Главный экран».

Здесь вы найдете различные варианты переставить приложения или настроить каналы , Интересно, что вы проводите некоторое время с ним, потому что вы получите гораздо более удобный и дружественный интерфейс.

Установите приложения за пределами Play Store

Если случайно вы хотите установить приложения, которые не доступны в магазине Play , вы можете сделать это, если активируете соответствующую опцию. Для этого перейдите в Настройки> Настройки устройства> Безопасность и ограничения.

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

Для поиска приложений за пределами Play Store одна из лучших рекомендаций - сделать это на Aptoide TV .

Расширить хранилище

По умолчанию Mi TV LED 4s предлагает довольно ограниченный объем памяти. Если вы намереваетесь установить большое количество приложений, игр и т. Д., Вам быстро не хватит места. Чтобы решить это, подключить внешний блок .

После подключения устройства перейдите в «Настройки»> «Настройки устройства»> «Память». Там вы увидите, что он указан. Нажмите «Удалить», и телевизор превратит его в полностью совместимый второй накопитель.

My Remote Controller, замена физического контроллера


Если пульт дистанционного управления телевизора выходит из строя или вы теряете его дома, вы можете использовать свой смартфон в качестве пульта дистанционного управления , Вам нужно только загрузить Mi Remote Controller применение. Это не единственное приложение такого типа, которое вы можете использовать, но вместе с официальным Google ( Android и Ios ) это лучшее для этого телевидения.

Подключите контроллер Bluetooth

Наконец, как и в случае с остальными устройствами Android, если вы хотите наслаждаться большим количеством различных игр, существующих для платформы, лучше всего подключить контроллер Bluetooth. Для этого поместите команду в режим сопряжения и в Настройки> Элементы управления и аксессуары вы введете параметр для добавления новых устройств, когда вы нажмете Добавьте аксессуар.

Последний идеально подходит для использования игровых опций, таких как RetrocArch, эмулятор, доступный для различных платформ, с помощью которого вы можете играть в игры со старых консолей и других развлекательных систем.

Итак, теперь вы знаете, с помощью этих простых советов вы получите больше пользы от своего телевизора Xiaomi. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии, и если вы знаете о каких-либо дополнительных хитростях, поделитесь.


Всем привет!
Думаю многие, интересующиеся умным домом или просто технологичным обустройством своего жилища, задумывались об «атмосферной» и нестандартной осветительной системе.

Один из способов такого «необычного» освещения комнаты во время просмотра фильмов предлагает компания Philips с технологией Ambilight, встроенной в особо навороченные телевизоры этого бренда.

В этой статье вы обнаружите реализацию подсветки Ambilight с помощью умных ламп Yeelight от Xiaomi!

Об Ambilight

Кто не знает – технология Ambilight представляет собой встроенную в телевизоры фоновую подсветку, которая, анализируя цветовую картинку кадра на экране телевизора, воспроизводит рассеянный свет по периметру телевизора.


  • создает соответствующую фильму обстановку, что увеличивает вовлеченность при просмотре;
  • визуально увеличивает размер изображения;
  • обеспечивает ненавязчивую подсветку комнаты, что позволяет снизить напряжение на глаза в сравнении с просмотром фильма в полной темноте.

В общем, Ambilight является довольно интересной технологией, и подтверждением данного факта является наличие большого количества разнообразных вариантов ее «кустарной» реализации, представленных в интернете. Однако все они в подавляющем большинстве основываются на использовании адресной светодиодной ленты, приклееной к тыльной части телевизора/монитора/крышки ноутбука. Для такой реализации необходимо иметь как минимум физический внешний контроллер, отвечающий за управление светодиодами. Это требует специфических знаний от человека, захотевшего установить подобную систему. Поэтому в альтернативу я предлагаю максимально «прогерский» и довольно простой вариант исполнения такой подсветки при помощи умных ламп.

Что за «умные» лампы?

Для создания этого варианта подсветки понадобится любое осветительное устройство бренда Yeelight (дочерняя компания Xiaomi) или Xiaomi (но только те, в названии которых присутствует упоминание Yeelight). Это означает, что устройство встраивается в экосистему умного дома Xiaomi и управляется через приложение Yeelight.


На мой взгляд, адаптивная подсветка – не та фишка, ради которой кто-то побежит покупать умную лампу Xiaomi (за существенные деньги кстати). Однако, как по мне, это хорошая возможность расширить функционал уже имеющейся дома лампы. В любом случае, как обладатель двух ламп Xiaomi, могу заявить, что от двух месяцев их использования у меня остались только приятные впечатления.

Приложении Yeelight играет немаловажную роль в реализации этого проекта, так как в нем присутствует один полезный параметр – Developer mode.



В последних обновлениях его переименовали на «Управление по LAN»

Современная экосистема умного дома основывается на обмене данными между устройствами по протоколу wi-fi. В каждое умное устройство встроен wi-fi модуль, позволяющий подключаться к локальной беспроводной сети. Благодаря этому осуществляется управление устройством через облачный сервис умного дома. Однако Developer mode позволяет связываться c устройством напрямую, отправляя запросы на выделенный устройству IP адрес (адрес устройства можно узнать в приложении Yeelight в информации об устройстве). Этот режим гарантирует прием данных с девайсов, находящихся в одной локальной сети с умной лампой. На сайте Yeelight присутствует небольшое демо функционала режима разработчика.

Благодаря этой опции возможно реализовать функцию адаптивной подсветки и встроить её в плеер с открытым исходным кодом.

Определение функционала

Дальнейший пост будет посвящен тому, с какими трудностями (и способами их решения) может столкнуться инженер, задумавшийся спроектировать подобное, а также общему прогрессу в реализации задуманного.

Если вас интересует исключительно готовая программа, то вы можете сразу перейти к пункту «Для тех, кто просто хочет пользоваться готовым плеером».

В первую очередь определимся с задачами, которые должен решать разрабатываемый проект. Основные пункты ТЗ для данного проекта:

  • Необходимо разработать функционал, позволяющий динамически изменять параметры (цвет или яркость/температура света в случае использования устройства без rgb светодиодов) умной лампы в зависимости от текущего изображения в окне медиаплеера.
  • Функционал должен поддерживать использование нескольких умных ламп разных моделей одновременно.
  • Функционал должен иметь механизм независимого анализа нескольких зон изображения, что позволит указывать зону «отслеживания» цвета для конкретной лампы.
  • Текущая конфигурация ламп должна сохраняться и загружаться при последующем использовании программы.
  • Функционал должен встраиваться в выбранный для проекта медиапроигрыватель.

Для тех, кто просто хочет пользоваться готовым плеером

Разработка

Выбор инструментов

Начальным этапом разработки проекта будет определение плеера для встраивания функции и библиотеки для связи с умной лампой.

Мой выбор пал на плеер vlcj player и библиотеку Yapi, написанные на языке Java. В качестве инструмента сборки был использован Maven.

Vlcj представляет собой фреймворк, позволяющий встраивать в приложение Java нативный плеер VLC, а так же управлять жизненным циклом плеера через java код. У автора фреймворка так же имеется демонстрационная версия плеера, который почти полностью повторяет интерфейс и функционал VLC плеера. Самая стабильная версия плеера на текущий момент является версия 3. Именно она будет использована в проекте.



Интерфейс плеера vlcj с открытыми дополнительными окнами

Преимущества vlcj плеера:

  • огромное количество поддерживаемых форматов видео, что является давнишней особенностью плеера VLC;
  • Java как ЯП, что позволяет открывать плеер на большом количестве операционных систем (в данном случае мы ограничены лишь реализацией VLC плеера, который неразрывно связан с java приложением).

Недостатки:

  • устарелый дизайн плеера, который решается собственной реализацией интерфейса;
  • перед использованием программы требуется установка VLC плеера и Java версии не ниже 8, что определенно тянет на недостаток.

Использование Yapi в качестве библиотеки для соединения с умными гаджетами Yeelight можно обосновать в первую очередь простотой, а во вторых – немногочисленностью готовых решений. На текущий момент существует не так много сторонних инструментов для управления умными лампами, тем более на языке Java.

Главный минус библиотеки Yapi состоит в том, что ни одной его версии не присутствует в репозитории Maven, так что перед компиляцией кода проекта требуется вручную установить Yapi в локальный репозиторий (вся установка описана в README файле в репозитории).

Алгоритм анализа изображения

Принцип работы динамического освещения будет основан на периодическом цветовом анализе текущего кадра.

В результате этапа проб и ошибок был разработан следующий принцип анализа картинки:

С указанной периодичностью программа делает скриншот медиаплеера и получает объект класса BufferedImage. Далее, самым быстрым встроенным алгоритмом, размер исходного изображения изменяется до размера 20x20 пикселей.

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

Далее алгоритм разбивает получившееся изображения на четыре «базовые» зоны (левая верхняя, левая нижняя и т.д.) размером 10x10 пикселей.



«Базовые» зоны

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

Затем для каждой зоны изображения высчитывается средний цвет путем вычисления среднего арифметического отдельно для трех составляющих цвета (красного, зеленого, синего) каждого пикселя и компоновки получившихся данных в единственном значении цвета.

Благодаря четырем получившимся значениям мы можем:

  • вычислить средний цвет 5 следующих зон: правой, левой, верхней, нижней и центральной зоны экрана (реализовано через вычисление среднего арифметического цвета включенных в искомую область «базовых» зон);
  • вычислить среднюю яркость выбранной зоны в процентах по формуле:

$(r * 0.2126 + g * 0.7152 + b * 0.0722) / 255 * 100$

где r, g, b – красная/зеленая/синяя составляющие цвета вычислить среднюю температуру цвета в процентах по придуманной на коленке формуле:

$$display$$\begin \begin 0, r\le b, \\ (r-b) / 255 * 100, r > b \end \end$$display$$

где r, b – красная/синяя составляющие цвета
Для эффективной и масштабируемой механики вычисления параметров изображения все дополнительные данные (не «базовые» зоны, температура и яркость цвета) вычисляются «лениво», т.е. по мере необходимости.

Весь код по обработке изображения вмещается в один класс ImageHandler:

Для того, чтобы частые мерцания лампы не раздражали глаз, был введен порог изменения параметров. Например, лампа изменит значение яркости только если текущая сцена фильма будет более чем на 10 процентов ярче предыдущей.

Cравнение с другим методом анализа

Вы можете спросить: «Почему бы просто не уменьшить изображение до размера 2x2 пикселя и не считать полученные значения?».
Ответ будет таков: «Исходя из проведенных мною опытов, алгоритм определения среднего цвета через уменьшение размера изображения (или его зон) проявил себя менее стабильно и менее достоверно (особенно при анализе темных участков изображения), чем алгоритм, основанный на определении среднего арифметического всех пикселей».

Были испробованы несколько методов изменения размера изображения. Можно было воспользоваться библиотекой openCV для более серьезной работы с изображением, однако я посчитал это оверинженерингом для данной задачи. Для сравнения, ниже представлен пример определения цвета с помощью встроенного быстрого скейлинга класса BufferedImage и вычисления среднего арифметического цвета. Думаю комментарии излишни.


Конфигурирование

На текущий момент программа конфигурируется при помощи файла формата json. В качестве библиотеки для парсинга конфигурационного файла использована JSON.simple.

Json файл необходимо назвать «config.json» и положить в одну папку с программой для автоматического определения конфигурации, иначе при включении функции адаптивной яркости программа предложит самостоятельно указать файл конфигурации, открыв окно выбора файлов. В файле необходимо указать ip адреса осветительных устройств, «отслеживаемые» зоны изображения для каждого девайса, коэффициенты яркости и температуры цвета, либо период их автоматической установки (о чем будет описано в следующем пункте). Правила заполнения json файла описаны в README файле проекта.



Все изменения в интерфейсе (кнопка лампочки). При нажатии кнопки применится доступный файл конфигурации или откроется окно его выбора

Коэффициенты необходимы для более четкой настройки анализа изображения, например, чтобы сделать лампу чуть темнее или, наоборот, светлее. Все эти параметры не являются обязательными. Единственным обязательным параметром здесь являются значения ip адресов осветительных приборов.

Автоматическое выставление коэффициентов

$l = 1 + x / 100$

где x – текущее значение яркости комнаты в процентах.

Включается эта функция с помощью прописывания специального тега в конфигурационном файле.

Пример работы функционала

Заключение

В результате решения поставленной задачи был разработан функционал, позволяющий использовать умные лампы Yeelight в качестве адаптивной подсветки медиафайлов. Дополнительно была реализована функция анализа текущей освещенности комнаты. Весь исходный код доступен по ссылке в моем репозитории github.

Телевизор Xiaomi Mi TV 4S 55 вышел летом 2019 года и быстро набрал популярность среди пользователей. Подкупали не только его характеристики: большой экран, поддержка 4к, фирменная оболочка Xiaomi PatchWall. Важным критерием стала цена — на старте продаж телевизор можно было купить всего за 30 000 рублей. Xiaomi решила повторить свой триумф и выпустила еще одно устройство в линейке 4S. Встречаем, Xiaomi Mi TV 4S 55 T2.

Характеристики телевизора Xiaomi Mi TV 4S 55 T2

  • Диагональ 55"
  • Разрешение 3840x2160
  • 4K Ultra HD
  • Угол обзора 178°
  • Яркость 300 кд/м2
  • Из авиационного алюминия
  • Процессор Сortex A53 до 1.5ГГц
  • Операционная система Android TV 9
  • Стереозвук 20 Вт Dolby Digital
  • 8 ГБ внутренней памяти
  • Поддержка Smart TV
  • Фирменное оформление Xiaomi PatchWall
  • Интеграция сервисов Google
  • Поддержка сторонних приложений
  • 3 USB 2.0
  • 3 порта HDMI
  • порт 3,5 мм

Распаковка телевизора Xiaomi Mi TV 4S 55 T2

Телевизор пришел в обычной картонной коробке. С одной стороны указано название и основные характеристики гаджета. С другой стороны коробки нас ждал сюрприз. Xiaomi не изменяет своим привычкам и вновь написала ободряющие слова. Быть может, новый телевизор — это и есть то прекрасное?

Полный обзор бюджетного телевизора от Xiaomi

Аппарат упакован в пенопласт и запечатан в пленку. Кроме телевизора в комплекте есть инструкция, пульт и ножки с креплениями.

Пластиковый пульт управления подключается к телевизору через Bluetooth 4.2. Он отличается от пульта предыдущей модели телевизора. Вместо девайса с набором из 12 кнопок у Mi TV 4S 55 T2 полноценный пульт с цифрами, кнопкой для переключения между разными каналами соединения, для вызова голосового помощника и настроек. Отдельно даже вынесена кнопка Netflix.

Полный обзор бюджетного телевизора от Xiaomi

Металлические ножки выглядят хрупкими и маленькими, но они легко выдерживают вес телевизора. Они прорезинены у основания, поэтому не скользят и устойчиво держатся на любой поверхности.

Полный обзор бюджетного телевизора от Xiaomi

Телевизор Xiaomi Mi TV 4S 55 T2

Внешний вид телевизора Xiaomi Mi TV 4S 55 T2

Устройство получило узкие металлические рамки по периметру. Они не бросаются в глаза — ширина боковых и верхней полосы составляет 8 мм, нижней с лого — 16 мм. Производитель особенно гордится тем, что использует специальную технологию обработки металла. С ней рамка получается бесшовной, что делает ее аккуратнее.

Телевизор оснащен дисплеем с IPS-матрицей от Sharp и LED-подсветкой по всей площади экрана. Его диагональ равна 55”, а разрешение — 3840x2160. Аппарат поддерживает файлы с разрешением 4к и HDR. Угол обзора составляет 178°, яркость — 300 нит. Это больше, чем у Mi TV 4S — его яркость всего 220 нит. Благодаря этим характеристикам изображения и видео на экране выглядят сочно и естественно, максимально детализировано. Все параметры экрана можно изменять в настройках телевизора.

Полный обзор бюджетного телевизора от Xiaomi

Задняя панель сделана из металла и пластика: верхняя часть металлическая и нижняя — пластиковая. У телевизора нет никаких кнопок на задней стороне, управление устройством ведется через пульт.

Полный обзор бюджетного телевизора от Xiaomi

На задней панели расположились все необходимые разъемы: 3 HDMI, 3 USB, 1 mini-jack для наушников, разъемы для подключения к интернету, телеприставке, колонкам и гнездо для подключения через кабель.

Полный обзор бюджетного телевизора от Xiaomi

Телевизор поддерживает технологии звука DTS и Dolby Digital, в него встроено два динамика мощностью 10 Вт каждый. 20 Вт в сумме и двух систем высококачественного звука достаточно, чтобы создать дома полноценный кинотеатр с яркой картинкой и объемным звуком.

Программное обеспечение телевизора Xiaomi Mi TV 4S 55 T2

Как и предыдущая модель, 4S T2 получила две оболочки: Android 9.0 и Xiaomi PatchWall. Андроид поддерживает сервисы онлайн-кинотеатров, такие, как IVI, OKKO, MeGoGo и другие, а также приложения от Google: Play Market, Youtube, Android TV и тд. Android TV — не тот же Андроид, что и на смартфоне. Эта версия предназначена специально для телевизора и управления с помощью пульта или голосового помощника. Приложений в Play Market не так много, как на смартфоне, но все они адаптированы под устройство.

Полный обзор бюджетного телевизора от Xiaomi

Xiaomi PatchWall — оболочка, активно продвигаемая компанией. Она представляет собой подборку интересных вам видео, фильмов и музыки со всех сервисов, которые поддерживаются телевизором — OKKO, IVI, Кинопоиск и тд. Подборка создается на основании ваших вкусов. Чем чаще вы обращаетесь к Xiaomi PatchWall, тем качественнее она будет.

Полный обзор бюджетного телевизора от Xiaomi

Главное отличие этого телевизора от предыдущего — наличие Т2-тюнера у младшей модели. В китайских версиях телевизоров без указания “Т2” поддерживаются только телечастоты Поднебесной. Обычная антенна не сможет подключить другое телевидение. Либо она подключит, но тогда картинка будет черно-белой. Чтобы вернуть себе российское кабельное и спокойно смотреть новости на НТВ, придется покупать дополнительный Т2-тюнер и подключать его. Или же сразу взять телевизор с этим приемником. :)

Телевизор Xiaomi Mi TV 4S 55 T2 — хорошая альтернатива дорогим аналогам с достойными характеристиками за небольшие деньги. Его главные преимущества — большой размер, ОС на базе Андроида, поддержка Xiaomi PatchWall и возможность смотреть обычное телевидение благодаря встроенному тюнеру.


Всем привет!
Думаю многие, интересующиеся умным домом или просто технологичным обустройством своего жилища, задумывались об «атмосферной» и нестандартной осветительной системе.

Один из способов такого «необычного» освещения комнаты во время просмотра фильмов предлагает компания Philips с технологией Ambilight, встроенной в особо навороченные телевизоры этого бренда.

В этой статье вы обнаружите реализацию подсветки Ambilight с помощью умных ламп Yeelight от Xiaomi!

Об Ambilight

Кто не знает – технология Ambilight представляет собой встроенную в телевизоры фоновую подсветку, которая, анализируя цветовую картинку кадра на экране телевизора, воспроизводит рассеянный свет по периметру телевизора.


  • создает соответствующую фильму обстановку, что увеличивает вовлеченность при просмотре;
  • визуально увеличивает размер изображения;
  • обеспечивает ненавязчивую подсветку комнаты, что позволяет снизить напряжение на глаза в сравнении с просмотром фильма в полной темноте.

В общем, Ambilight является довольно интересной технологией, и подтверждением данного факта является наличие большого количества разнообразных вариантов ее «кустарной» реализации, представленных в интернете. Однако все они в подавляющем большинстве основываются на использовании адресной светодиодной ленты, приклееной к тыльной части телевизора/монитора/крышки ноутбука. Для такой реализации необходимо иметь как минимум физический внешний контроллер, отвечающий за управление светодиодами. Это требует специфических знаний от человека, захотевшего установить подобную систему. Поэтому в альтернативу я предлагаю максимально «прогерский» и довольно простой вариант исполнения такой подсветки при помощи умных ламп.

Что за «умные» лампы?

Для создания этого варианта подсветки понадобится любое осветительное устройство бренда Yeelight (дочерняя компания Xiaomi) или Xiaomi (но только те, в названии которых присутствует упоминание Yeelight). Это означает, что устройство встраивается в экосистему умного дома Xiaomi и управляется через приложение Yeelight.


На мой взгляд, адаптивная подсветка – не та фишка, ради которой кто-то побежит покупать умную лампу Xiaomi (за существенные деньги кстати). Однако, как по мне, это хорошая возможность расширить функционал уже имеющейся дома лампы. В любом случае, как обладатель двух ламп Xiaomi, могу заявить, что от двух месяцев их использования у меня остались только приятные впечатления.

Приложении Yeelight играет немаловажную роль в реализации этого проекта, так как в нем присутствует один полезный параметр – Developer mode.



В последних обновлениях его переименовали на «Управление по LAN»

Современная экосистема умного дома основывается на обмене данными между устройствами по протоколу wi-fi. В каждое умное устройство встроен wi-fi модуль, позволяющий подключаться к локальной беспроводной сети. Благодаря этому осуществляется управление устройством через облачный сервис умного дома. Однако Developer mode позволяет связываться c устройством напрямую, отправляя запросы на выделенный устройству IP адрес (адрес устройства можно узнать в приложении Yeelight в информации об устройстве). Этот режим гарантирует прием данных с девайсов, находящихся в одной локальной сети с умной лампой. На сайте Yeelight присутствует небольшое демо функционала режима разработчика.

Благодаря этой опции возможно реализовать функцию адаптивной подсветки и встроить её в плеер с открытым исходным кодом.

Определение функционала

Дальнейший пост будет посвящен тому, с какими трудностями (и способами их решения) может столкнуться инженер, задумавшийся спроектировать подобное, а также общему прогрессу в реализации задуманного.

Если вас интересует исключительно готовая программа, то вы можете сразу перейти к пункту «Для тех, кто просто хочет пользоваться готовым плеером».

В первую очередь определимся с задачами, которые должен решать разрабатываемый проект. Основные пункты ТЗ для данного проекта:

  • Необходимо разработать функционал, позволяющий динамически изменять параметры (цвет или яркость/температура света в случае использования устройства без rgb светодиодов) умной лампы в зависимости от текущего изображения в окне медиаплеера.
  • Функционал должен поддерживать использование нескольких умных ламп разных моделей одновременно.
  • Функционал должен иметь механизм независимого анализа нескольких зон изображения, что позволит указывать зону «отслеживания» цвета для конкретной лампы.
  • Текущая конфигурация ламп должна сохраняться и загружаться при последующем использовании программы.
  • Функционал должен встраиваться в выбранный для проекта медиапроигрыватель.

Для тех, кто просто хочет пользоваться готовым плеером

Разработка

Выбор инструментов

Начальным этапом разработки проекта будет определение плеера для встраивания функции и библиотеки для связи с умной лампой.

Мой выбор пал на плеер vlcj player и библиотеку Yapi, написанные на языке Java. В качестве инструмента сборки был использован Maven.

Vlcj представляет собой фреймворк, позволяющий встраивать в приложение Java нативный плеер VLC, а так же управлять жизненным циклом плеера через java код. У автора фреймворка так же имеется демонстрационная версия плеера, который почти полностью повторяет интерфейс и функционал VLC плеера. Самая стабильная версия плеера на текущий момент является версия 3. Именно она будет использована в проекте.



Интерфейс плеера vlcj с открытыми дополнительными окнами

Преимущества vlcj плеера:

  • огромное количество поддерживаемых форматов видео, что является давнишней особенностью плеера VLC;
  • Java как ЯП, что позволяет открывать плеер на большом количестве операционных систем (в данном случае мы ограничены лишь реализацией VLC плеера, который неразрывно связан с java приложением).

Недостатки:

  • устарелый дизайн плеера, который решается собственной реализацией интерфейса;
  • перед использованием программы требуется установка VLC плеера и Java версии не ниже 8, что определенно тянет на недостаток.

Использование Yapi в качестве библиотеки для соединения с умными гаджетами Yeelight можно обосновать в первую очередь простотой, а во вторых – немногочисленностью готовых решений. На текущий момент существует не так много сторонних инструментов для управления умными лампами, тем более на языке Java.

Главный минус библиотеки Yapi состоит в том, что ни одной его версии не присутствует в репозитории Maven, так что перед компиляцией кода проекта требуется вручную установить Yapi в локальный репозиторий (вся установка описана в README файле в репозитории).

Алгоритм анализа изображения

Принцип работы динамического освещения будет основан на периодическом цветовом анализе текущего кадра.

В результате этапа проб и ошибок был разработан следующий принцип анализа картинки:

С указанной периодичностью программа делает скриншот медиаплеера и получает объект класса BufferedImage. Далее, самым быстрым встроенным алгоритмом, размер исходного изображения изменяется до размера 20x20 пикселей.

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

Далее алгоритм разбивает получившееся изображения на четыре «базовые» зоны (левая верхняя, левая нижняя и т.д.) размером 10x10 пикселей.



«Базовые» зоны

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

Затем для каждой зоны изображения высчитывается средний цвет путем вычисления среднего арифметического отдельно для трех составляющих цвета (красного, зеленого, синего) каждого пикселя и компоновки получившихся данных в единственном значении цвета.

Благодаря четырем получившимся значениям мы можем:

  • вычислить средний цвет 5 следующих зон: правой, левой, верхней, нижней и центральной зоны экрана (реализовано через вычисление среднего арифметического цвета включенных в искомую область «базовых» зон);
  • вычислить среднюю яркость выбранной зоны в процентах по формуле:

$(r * 0.2126 + g * 0.7152 + b * 0.0722) / 255 * 100$

где r, g, b – красная/зеленая/синяя составляющие цвета вычислить среднюю температуру цвета в процентах по придуманной на коленке формуле:

$$display$$\begin \begin 0, r\le b, \\ (r-b) / 255 * 100, r > b \end \end$$display$$

где r, b – красная/синяя составляющие цвета
Для эффективной и масштабируемой механики вычисления параметров изображения все дополнительные данные (не «базовые» зоны, температура и яркость цвета) вычисляются «лениво», т.е. по мере необходимости.

Весь код по обработке изображения вмещается в один класс ImageHandler:

Для того, чтобы частые мерцания лампы не раздражали глаз, был введен порог изменения параметров. Например, лампа изменит значение яркости только если текущая сцена фильма будет более чем на 10 процентов ярче предыдущей.

Cравнение с другим методом анализа

Вы можете спросить: «Почему бы просто не уменьшить изображение до размера 2x2 пикселя и не считать полученные значения?».
Ответ будет таков: «Исходя из проведенных мною опытов, алгоритм определения среднего цвета через уменьшение размера изображения (или его зон) проявил себя менее стабильно и менее достоверно (особенно при анализе темных участков изображения), чем алгоритм, основанный на определении среднего арифметического всех пикселей».

Были испробованы несколько методов изменения размера изображения. Можно было воспользоваться библиотекой openCV для более серьезной работы с изображением, однако я посчитал это оверинженерингом для данной задачи. Для сравнения, ниже представлен пример определения цвета с помощью встроенного быстрого скейлинга класса BufferedImage и вычисления среднего арифметического цвета. Думаю комментарии излишни.


Конфигурирование

На текущий момент программа конфигурируется при помощи файла формата json. В качестве библиотеки для парсинга конфигурационного файла использована JSON.simple.

Json файл необходимо назвать «config.json» и положить в одну папку с программой для автоматического определения конфигурации, иначе при включении функции адаптивной яркости программа предложит самостоятельно указать файл конфигурации, открыв окно выбора файлов. В файле необходимо указать ip адреса осветительных устройств, «отслеживаемые» зоны изображения для каждого девайса, коэффициенты яркости и температуры цвета, либо период их автоматической установки (о чем будет описано в следующем пункте). Правила заполнения json файла описаны в README файле проекта.



Все изменения в интерфейсе (кнопка лампочки). При нажатии кнопки применится доступный файл конфигурации или откроется окно его выбора

Коэффициенты необходимы для более четкой настройки анализа изображения, например, чтобы сделать лампу чуть темнее или, наоборот, светлее. Все эти параметры не являются обязательными. Единственным обязательным параметром здесь являются значения ip адресов осветительных приборов.

Автоматическое выставление коэффициентов

$l = 1 + x / 100$

где x – текущее значение яркости комнаты в процентах.

Включается эта функция с помощью прописывания специального тега в конфигурационном файле.

Пример работы функционала

Заключение

В результате решения поставленной задачи был разработан функционал, позволяющий использовать умные лампы Yeelight в качестве адаптивной подсветки медиафайлов. Дополнительно была реализована функция анализа текущей освещенности комнаты. Весь исходный код доступен по ссылке в моем репозитории github.

Small 9797afd02c
  • 06 сентября 2019, 13:28
  • Игорь Ставцев

© Игорь Ставцев/Коллаж/Ridus

С 2013 года Xiaomi продает свои телевизоры Mi TV. Большие, дешевые, на операционке Android и с поддержкой современных стандартов. В других странах, но не в России. Наши «охотники за удачей» заказывали их с доставкой из китайских магазинов и потом долго и мучительно пытались научить железку русскому языку.

Этим летом Xiaomi наконец представила свои телевизоры российскому потребителю. В продажу поступили три модели, диагональю 32, 43 и 55 дюймов. Все три работают на операционной системе Android, две старшие поддерживают разрешение 4k и расширенный динамический диапазон HDR, в подарок к покупке идет полгода подписок на онлайн-кинотеатры (если купили 32-дюймовочку — то три месяца подписок), и всё это за 12, 23 и 34 тысячи рублей. Это подозрительно дешево, и где тут подвох?

Просмотр обзоров в интернете не помог. Обзорщики почему-то ограничиваются тестами на цветовой диапазон, рассказывают о существовании PatchWall и о том, что игры работают в разрешении 4k. Это прекрасно, но, как показали обсуждения на форумах, покупателей интересует другое. Как это самое 4k включить, что можно править в настройках изображения, как активировать ту или иную подписку, и другой пользовательский опыт. Какой толк в том, что ты показал картинку с цветовым диапазоном, если твой читатель плачет. Редактору «Ридуса» Xiaomi на время предоставила топовый 55-дюймовый свеженький Mi TV 4S 55″, и мы готовы рассказать, что почем.

Распаковываем и настраиваем


Привезли вот такую коробку почти полтора метра шириной. Будьте готовы, что из-за размеров затаскивать эту махину придется вдвоем. Внутри, помимо пенопласта и самого телевизора, лежат две ножки к нему (прикручиваются двумя винтами каждая, готовьте крестовую отвертку). Ножки стоят по краям, и расстояние между ними почти метр, так что заранее предусмотрите достаточно широкую тумбу. Повесить тоже можно, но кронштейн vesa 300×300 приобретается отдельно.

На тумбе уместился впритык. Чтоб два раза не бегать, вот основные характеристики и отличия от младших версий.

На тумбе уместился впритык. Чтоб два раза не бегать, вот основные характеристики и отличия от младших версий

Характеристики выше взяты с официального сайта Xiaomi. Многих интересует тип матрицы. Производитель официально его не указывает, а сетевые эксперты разошлись во мнениях. iXBT и 3dNews уверенно пишут, что матрица *VA. DisplaySpecifications, Mobile-Review, и «Яндекс.Маркет» указывают матрицу как IPS. А пользователь форума 4PDA уверен, что телевизоры 55 дюймов бывают с разными матрицами.


Так что, если тип матрицы для вас критичен, изучайте вопрос и проверяйте тот конкретный телевизор, который собираетесь приобретать.


Размеры округлил в большую сторону. Все разъемы в середине, поэтому в полевых условиях до них сложно добраться. Если бы телевизор остался у меня, возможно, приобрел бы к нему USB-удлинитель, чтобы удобнее было подключать флешки и жесткие диски.

Кроме ножек и винтов, в комплекте идет Bluetooth-пульт, работающий от двух ААА-батареек (тоже в комплекте). В сравнении с телевизором пульт кажется игрушечным. Для такой крохи на удивление громко щелкает, а его сглаженные кнопки плохо угадываются на ощупь в темноте.

Да, так мало кнопок. Колёсико не крутится, как в iPod, это просто замаскированная крестовина. Штрихкод сзади за пару недель что-то приболел.

Да, так мало кнопок. Колесико не крутится, как в iPod, это просто замаскированная крестовина. Штрих-код сзади за пару недель что-то приболел

Во время первого включения (кнопка снизу под значком MI) телевизор предложит подключить пульт, выбрать язык системы, придумать пароль для просмотра режима «Для взрослых» (о нем ниже) и произвести настройку с помощью Android-телефона. Настройкой с телефона рекомендую воспользоваться.


Иначе вам предстоит вводить пароль от Wi-Fi и свою почту с помощью двух ужасных клавиатур, почему-то еще и разных.


Из-за нестандартных раскладок набирать на них даже простые слова долго, а уж если у вас сложный 12-значный пароль Wi-Fi с буквами разного размера и цифрами — удачи, хорошего настроения и здоровья.

Благо это Android, а значит, программные проблемы можно решить. Как новыми прошивками, так и своими силами. Кроме того, к телевизору можно подключить и обычную клавиатуру. А еще геймпад и Bluetooth-наушники.

PatchWall и подписки

После настроек вам будут доступны две оболочки: меню Android TV и PatchWall — фирменная оболочка Xiaomi — бесконечная «лента» фильмов и одновременно меню с доступом к основным функциям. Чтобы переключиться на обычное телевидение, нужно прокрутить ленту вниз и найти небольшой значок «Каналы». Там же переключение на HDMI, флешку или жесткий диск.


Никто почему-то не рассказывает, что сразу фильмы и сериалы посмотреть не получится, вас каждый раз будут бросать в тот или иной онлайн-кинотеатр и предлагать купить подписку. Чтобы активировать обещанные бесплатные полугодовые подписки, нужно на главной странице PatchWall нажать на синюю плашку «Получи подарки».


А потом открывать каждую подписку в отдельном приложении и активировать бесплатный период. ivi, Okko, «КиноПоиск», MeGoGo, «24часаТВ» и TVZavr. Лично у меня не было «МегаФон ТВ», может, активировали до меня или добавят позже.


Каждая плашка кидает в соответствующее приложение, где и предлагают оформить бесплатную пробную версию. Но везде по-разному. В Okko нужно выбрать «Кино и сериалы», «КиноПоиск» покажет код и просит ввести его на сайте.

С TVZavr получилось интереснее всего. Они сначала просят привязать карту, потом активируют бесплатную подписку, не привязанную к аккаунту. Если попытаться войти в аккаунт, подписки там не будет, хотя на телевизоре она есть. И карта уже привязана, а значит, через полгода с нее начнут списывать деньги. Пришлось обратиться в техподдержку, и сотрудник вручную объединил личный аккаунт и подписку на телевизоре. Надеюсь, этот баг поправят и вы с ним не столкнетесь. В любом случае пусть халява не кружит вам голову. Помните, что если не отключить в каждом онлайн-кинотеатре «Автопродление подписки», то через 180 дней начнут списывать деньги. Один только ivi будет стоить 399 рублей в месяц, а тот же TVZavr — 249 рублей в месяц.

После активации подписок можно выдохнуть и запускать фильмы/сериалы. Во время воспроизведения любого видео рекомендую зайти в настройки изображения и попробовать отключить «шумоподавление» и другие «улучшалки» изображения. В моем случае картинка стала еще лучше, хотя и до этого было ничего. В отзывах жалуются на неприятный «шлейф» за движущимися объектами, который тоже исчезает после отключения.


«Управлять HDMI-устройствами» — позволяет пультом от телевизора управлять меню игровой приставки. Забавная функция. «Автоматически отключать устройство» — когда выключаете телевизор, он посылает сигнал приставке выключиться тоже. Удобно. «Автоматически включать телевизор» — когда включаете приставку с джойстика, автоматически включается и телевизор. Удобная функция, но у меня работать отказалась. Может, необходимо обновление прошивки. И самое главное — «Не менять источник сигнала». Рекомендую включать всем. К примеру, смотрели вы эфирные телеканалы, выключили телевизор, включили — он показывает все те же телеканалы. А не загружает PatchWall, который вам сейчас не нужен. «Версия HDMI EDID» позволяет включить 4k-разрешение в играх для приставки. Она не активна. Как ее включить, читайте ниже.

Подключаем Playstation 4 Pro, включаем 4k и HDR

Тут тоже есть одна важная тонкость, о которой не пишут в обзорах, но на форумах спрашивают постоянно. «Как включить 4k, приставка показывает только 1080». Если тоже столкнулись с этим, без паники. Первым делом проверяем, какое разрешение показывает приставка. В Playstation 4 Pro это зарыто в меню «Настройки — Звук и экран — Настройки вывода видео — Информация о выводе видео». Вот, у себя вижу 1080.

Обманули?! Где 4k?

Обманули?! Где 4k?


Если у вас Xbox, все еще проще. Разрешение в приставке можете проверить в меню «Система — Настройки — Экран и звук — Видеовыход — Разрешение». Если система показывает 1080 и не хочет переходить в 4k, достаточно обновить прошивку телевизора Блогер с канала «Зверье» заверил, что ему это помогло.

Пара слов о самих играх. Фотографий не будет, так как экран телевизора, сфотографированный на телефон и загруженный на сайт в пережатом jpeg, — не самый лучший способ определить качество картинки. Скажу только, что 4k чувствуется, HDR тоже. Пробовал Horizon Zero Dawn, Red Dead Redemption 2 и несколько других. Играть действительно приятно, особенно для человека, который проходил игры на 27-дюймовом мониторе. Разумеется, знатоки матриц и полной цветовой палитры могут мне возразить, но они уже бросили читать этот обзор и ушли покупать телевизор за 100 тысяч.

Вернемся в меню


Но вас же заинтересовал совсем другой режим, «Для взрослых»? Погнали. Он похож на обычный, только сверху добавляется «взрослый» раздел. В нем намешаны ужастики, триллеры и эротика. Выбираешь, пугаться от «пожирателя снов» или смеяться от названий эротики.


Зайти во «взрослый» раздел (как и выйти из «детского» в обычный) можно, только введя тот четырехзначный пароль, который вы придумывали при первом запуске телевизора. Вы же его не забыли? А то так и останетесь в «детском» режиме только «Лунтика» смотреть.


Фильмы можно смотреть с флешки или жесткого диска. Попробовал запустить на нем «Аватар». Файл весом 112 Гб, телевизор справился без проблем. На «Омерзительной восьмерке» (80 Гб) заикался, остальные крупные файлы воспроизвел гладко.

Если вы подключили к домашнему роутеру жесткий диск, телевизор может принимать DLNA и включить фильм «по воздуху». Для этого нужно установить любой поддерживающий функцию плеер, я поставил VLC. Еще рекомендуют Vimu media player (но он оказался платным) и Allconnect (его в магазине приложений не нашел, но для человека с флешкой и apk-файлом нет ничего невозможного). По Wi-Fi телевизор прекрасно воспроизводил файлы до 15 Гб. Тут влияют и мощность роутера, и расстояние, и возможности плеера.

А вот с голосовым вводом мы что-то не подружились. При любом запросе он предлагал мне посмотреть YouTube. Хотя должен действовать умнее и находить нужные тебе фильмы. Но, как я понял, у других он работал нормально. Может, снова дело в прошивке.

Хочешь выключить телевизор? Лучше посмотри Youtube!

Хочешь выключить телевизор? Лучше посмотри YouTube

Помимо YouTube и плеера, из Google Play можно скачать игры, приложения разных телеканалов и браузер. Google Chrome почему-то нет, но первый попавшийся, Puffin browser, уверенно открыл сайты. Правда, тут меня встретила ужасная клавиатура и пришлось вернуться к фильмам.

Впрочем, даже с ней можно бороться. Можно установить на мобильный приложение-пульт и печатать с телефона. Такие приложения есть как для Android, так и для iOS.

И очень глубокие настройки. Больше всего вопросов вызвала функция, о которой я вообще не знал, — будильник. Во-первых, он глубоко спрятан. Во-вторых, ему не хватает своих настроек. Например, какой канал включать и в какие дни недели работать. Пару раз он даже глючил. Один раз не сработал, а в другой на телевизоре сбилось время и будильник тоже отказался настраиваться. Во всем остальном позитивные эмоции. Когда много лет пользовался телевизором, который умеет показывать только эфирное ТВ, такая система впечатляет.

То есть бесконечные мемы вы помечаете именно таким значком. Как иронично.

То есть бесконечные мемы вы помечаете именно таким значком. Как иронично

Вывод

Mi TV это уже больше компьютер, чем телевизор. Или даже огромный Android-планшет. Со всеми шероховатостями Android. Тут настроить, там обновить, здесь погуглить, а тут смириться. Можно найти телевизоры с системами постабильнее, где все работает идеально из коробки. Но нет возможности для кастомизации. То же с матрицей, нужно просто посмотреть на картинку и решить для себя, устраивает ли она вас. Если хочется более крутого железа, магазины открыты. Продукция Xiaomi на подобные аргументы отвечает низкой ценой.

И по возможностям телевизор меня устроил. PatchWall предлагает действительно интересные фильмы, плюс учится на вкусах зрителя. Если не нравится, вот телеканалы. Или игра на приставке с 4k HDR. Наконец, Android-магазин с приложениями, который дает простор для экспериментов. Можно подключать Bluetooth-наушники, клавиатуру, мышь, геймпад, установить браузер, а если и этого мало, то даже ставить приложения с флешки.


Xiaomi выпускает новые версии прошивки, латая «дыры» и устраняя проблемы. Может, после этого обзора они по умолчанию включат HDMI EDID для приставок и выключат «улучшалки» изображения. Добавят клавиатуру с адекватной раскладкой, позволят программировать кнопки на пульте и добавят более тонкие настройки PatchWall: например, передвинуть иконки переключения сигнала наверх или показывать фильмы только с «активных» подписок. Это не телевизоры прошлого, где любое неудобное меню или функция оставались с вами навсегда.

По России шагает цифровое телевидение, аналоговые телевизоры уходят в прошлое, а обновляться на что-то запредельно дорогое банально нет денег. Поэтому Mi TV — неплохой вариант. Просто постарайтесь своими глазами увидеть картинку, погонять пару видео с флешки и решить, подходит ли он вам. Этот лично мне по вкусу, хоть и пришлось перекопать кучу материала, чтобы емко и понятно вам все рассказать. И если бы Xiaomi не отказали, оставил бы телевизор у себя и пользовался бы с удовольствием.

Читайте также: