воскресенье, 29 декабря 2013 г.

DIY: Атмосвет, Часть 3: Финальные штрихи + Видео работы девайса.

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



Для затравочки ниже видео готового решения(снимал на FHD Sony Handycam, баланс белого и экспозицию выставил вручную, чтобы максимально приблизить к реальной цветопередаче), cтоит учесть, что камера немного изменяет цвета, и затемняет слабое свещение, поэтому когда в видео ударяет мония - не заметно как комната тоже наполняется светом, словно молная ударила по настоящему над тобой.
Испытуемый образец 1: Pacific Rim, сцена битвы в шанхае, этот фильм хорошо подходит для тестирования и демонстрации, много ярких сцен и вспышек, ударов молнии и т.д.:
Испытуемый образец 2: Какой-то роли из MLP, слитый с ютуба, очень хорошо подходит для теста сцен с яркими цветами(мне понравились полосы), а также быстро сменяющихся сцен(под конец виде можно разглядеть последствия задержки, видных только на видео, при реальном просмотре этого не заметно, пробовал измерить задержку по видео - получилось 10-20мс):

В эти выходные просидел долго, но отшлифовал Win-сервис и Web-интерфейс:
UI выглядит таким образом:
На компе.

На мобиле(в основном на ней и будет использоваться).

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

Про скорость работы ардуино:
Теоритически, ардуино позваляет работать с ней на скорости 1000000, на практике, выше 500000, она работала не стабильно и судя по всему делала какое-то непотребство с пакетами.
Не осень страшно, на 500000 и так не видно разницы по сравнению с 112500. Разбираться дальше я не стал, не очень интересно.

Также возник жуткий фейспалм с мерцанием:
Я заметил, что внизу экрана идут странные мерцания, сначала погрешил на сигнил, перековырял дефликер,  изменил ресазинг картинки и еще кучу всего перекопал, стало лучше, но от мерцания не помогло. Стал наблюдать. Оказалось, что мерцание было только в конце ленты и то при ярких сценах. Взяв мультиметр я замерил напряжение на начале, середине и конце ленты я угадал с причиной мерцаний: в анчале ленты было 4.9В( да китайски БП дает напряжение с отклонением, это не существенно), в середиен 4.5 в конце 4.22 - Падение напряжение слишком существенно, пришлось решить проблему просто - к середине ленты я подвел питание от тогоже бп, как и в начале, провод пустил за телеком, так что это не заметно. Помогло мгновенно, какие либо мерцания прекратились вообще(с учетом того, что с откатил все совтварные накрутки, сотавив только измененный ресайзинг, который гасил мерцания сигнала). Дефликер тоже перестал быть особо нужен. 
Про ресайзинг - самый лучший режим интерполяции при ресазинге: "Ресамплинг по области пикселя", в OpenCV это CV_INTER_LINEAR.

UPD: Про производительность: HTPC у меня ASRock Vision 3D на i3, служба атмосвета отжирает 5-10% CPU и 32MB RAM.

Осталась только одна не решенная проблема: при уходе медиацентра в сон, на котором стоит служба и выполняется захват, отваливается карточка захвата, помогает простое отклчение и включение его кабеля по USB, планирую изучить, как можно это выполнять через вин-службу(отключение и включение устройства(допускаю это можно делать через WinAPI), дабы после выхода из сна проделывать этот процесс автоматом, если не удается поднять захват).




Комментариев нет:

Отправить комментарий