суббота, 3 февраля 2018 г.

Проектирование студийного светильника 3200K

Специализированный студийный светильник 3200к с DMX для заливки.



Без такого светильника не обходится ни одна телекомпания. Чем больше света в студии, тем лучше. Так сложилось, что количество светового оборудования напрямую зависит от бюджета. И если сумма ограничена, то и света много не купишь. К примеру, 4-х ламповый светильник Logocam с DMX 3200К 220W стоит около 50-60 т. р.
А что делать, если сумма на весь павильон на 110 квадратных метров ограничивается 150-180 т. р.? 3 светильника как-то маловато. Можно поискать в Китае похожие светильники подобной конфигурации только без DMX управления за 12-17 т. р. Но всё же очень хочется много светильников с управлением.
В результате изысканий ресурсов и возможностей я создал небольшой проект светильника 3200K, 220W c DMX управлением. Стоимость светильника составила в среднем 10 т. р.

Всё очень просто.

Первым делом была разработана конструкция светильника из листового металла толщиной 0.8 мм. Корпус и лира были изготовлены на местном заводе экспериментальных изделий. Стоимость 15 корпусов составила 22 т. р. вместе с покраской.


Основой для получившихся корыт стали люминесцентные лампы Osram Studioline 3200K 55W и ЭПРА Osram с интерфейсом управления 1-10 Вольт. Лампы, ЭПРА, цоколи и клипсы - пришлось заказывать через интернет магазин. Стоимость посылки составила порядка 150 т. р. Финальным штрихом стала плата DMX управления светодиодной лентой (4-х канальный), заказанная в Китае. Стоимость одной платы оказалась в пределах 300-400 рублей. Там же были приобретены маленькие модульные блоки питания по 150 р./шт. Ещё понадобились коммутационные разъёмы, провода, реле, транзисторы и немного теплоизоляционного пенофола.

Первым делом в корпусах наносится разметка под устанавливаемое оборудование в соответствии с габаритами устройств. После всё сверлится. Всю электронику было решено не выносить за пределы светильника, а разместить внутри.




Устанавливаются ЭПРА, блок питания с платой, разъёмы и цоколи с клипсами. После подключения цоколей к ЭПРА собираются дополнительные элементы управления лампами.
Поскольку лампы диммируются в широком диапазоне и при уменьшении напряжения на интерфейсе 1-10 В до минимума, лампы всё-равно продолжают светиться. Их необходимо отключать на входе через управляемое реле. Таким образом, при падении напряжения на выходе, управляющей DMX платы, меньше 1 Вольта реле отключается, а при превышении замыкается.
Есть небольшой нюанс в этом деле. На выходе DMX контроллера мы получаем ШИМ модуляцию, поэтому её было решено сгладить через простую R C цепочку. В результате при подборе номиналов было достигнуто оптимальное значение напряжений, что позволило без пульсаций управлять и реле и ЭПРА. При такой конфигурации светильники начинают включаться со значения DMX = 30 (из 255) и отключаться при понижении значения ниже 18.






Далее, устанавливаются разъёмы и дополнительная коммутация.


В итоге нам хватило 8 корыт для освещения нашей студии, а управляемость по DMX позволила внести динамики во время съёмок. Причём получилось так, что светом управляет режиссёр самостоятельно без каких-либо затруднений.

Световых теней на лице ведущего не наблюдается.







Надо добавить, что мы управляем светильниками с помощью связки ПО CasparCG + Cromateq + USB/DMX Box, с заранее скомпонованными сценами, с внешним управлением MIDI. Стандарт MIDI не универсален в применении, поэтому был добавлен мост OSC to MIDI на основе ПО ALT OSC. Виртуальный MIDI порт создан MIDIYOKE.


В результате команды OSC из расписания CasparCG client управляют всем световым оборудованием студии. Это очень удобно!  Мы работаем с такой связкой несколько месяцев и за это время никаких сбоев не происходило.

3LCD projector prism fix nec np410

Такое происходит при механическом воздействии на устройство: откалывается призма.
Изображение при этом становится нечётким, появляются цветовые искажения, а иногда отсутствие фокуса.
Восстанавливать будем проектор NEC np410 в условиях обычной мастерской.

Проектор был повреждён во время международной доставки.
Изображение менялось в зависимости от поворота проектора. В перевёрнутом виде (потолочная установка проектора) изображение вообще не поддавалось настройке.


Для ремонта понадобится:
- крестовая отвёртка;
- мощный светодиод (от 10 Вт с радиатором) с источником питания;
- клей "момент" или клей с хорошей текучестью и небыстрым застыванием;
- белая стенка;
- руки из плеч и наличие опыта в ремонте электроники.

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



Теперь проверим свой навык настройки изображения проектора с помощью пальца. Этот этап необходим для понимания калибровки изображения при приклеивании. После нанесения клея калибровку нужно провести быстро и качественно, поэтому сначала тренируемся на отколотой призме.
Теперь необходимо изготовить заменитель лампы. В моём случае это один светодиод 10 Вт 12 Вольт. Как показала практика 10 Вт - минимальная мощность для настройки.


Устанавливаем светодиод в нишу для лампы, подгоняем его напротив окошка с линзой.


На фото призма извлечена, просто обзор работы светодиода.

Подаём напряжение на светодиод. Гасим свет в помещении, устанавливаем проектор перпендикулярно стене (в моём случае на доске), настраиваем изображение. Цель - увидеть чёткий по краям прямоугольник.



Обратите внимание, что для правильного позиционирования призмы, она должна располагаться как можно ближе к объективу.
Можно подвигать призму, слегка прижав её пальцем к основанию (нажимать на саму призму сверху (круглое отверстие в металле над матрицей)). У основания матрицы такое же отверстие и выступ под склейку, так что сильно далеко сдвинуть не получится. Во время предварительной калибровки нужно подстроить объектив для достижения лучшего результата.
Как только удалось настроить чёткость граней, нужно продолжить калибровку до тех пор, пока не станет видна сетка матриц.



Необходимо добиться результата при котором сетка LCD будет видна на всей поверхности изображения. Если этот этап удался, то можно переходить к склеиванию.

Очень осторожно извлекаем призму из полости, не касаясь пальцами оптики. Извлекаем объектив.



Сейчас можно очистить оптику от пыли мягкой, кристально чистой кисточкой.

После очистки наносим каплю клея на основание и сразу прислоняем призму к основанию. Сразу же аккуратно устанавливаем объектив с призмой в проектор.


После закрепления объектива винтами, плотно прижимаем призму к основанию, сдвигая до упора к объективу, и повторяем процедуру калибровки.
Поскольку клей тянется и застывает не сразу, калибровку нужно проводить 3-5 раз через каждые 15-25 минут. Возможно, понадобятся проставки для фиксации призмы.


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

Но на деле у нас получилось качественное изображение приемлемое к просмотру. 

Настройка спутниковой антенны - теория и практика.

Если вам понадобится когда-нибудь настраивать спутниковую тарелку, то воспользуйтесь сведениями из этой статьи.


Однажды летом довелось заняться установкой и настройкой спутниковой антенны внушительных размеров. Надо полагать, коэффициент усиления у нашего зеркала хороший. Впервые занимаясь настройкой антенны, были изучены различные материалы и советы.
Нам необходимо было настроиться на спутник ABS-2. На момент настройки из приборов у нас был только ресивер, настроенный на другой тарелке на этот же спутник, и облучатель с антенной с углом высоты, установленной на наш спутник, а также мобильное приложение SatFinder.

Посмотрев несколько видеороликов по настройке антенны всё казалось просто. Погрешность антенны на некоторых роликах была в пределах 15 градусов.
Предполагалось искать спутник на ощупь, опираясь на индикацию настроенного ресивера. Вооружившись компасом и приложениями по поиску спутников, определив направление на спутник, мы отправились на крышу для настройки.
Подключили ресивер и телевизор к антенне, начали вращать антенну с интервалами. Несколько раз проехались по горизонту. Нет сигнала и всё. На следующий день крутили антенну с меньшими интервалами. Обгорели на солнце. Через 2 дня испахали всё небо, уже меняя уровень наклона высоты антенны. 0. Возник вопрос об исправности облучателя.
Заменили коаксиальные провода и разъёмы. Тоже не помогло. На седьмой раз коллега предложил свой облучатель и маленький китайский стрелочный детектор - Satellite finder.


Полезли на крышу снова, подключили детектор, пропахали небо снова - ничего. Заменили облучатель, установили точный горизонт по карте на ориентир, начали поднимать угол. И тут детектор начал попискивать!! Задрали угол по вертикали на самый мощный уровень сигнала (использовали уровень и соответствующий градус наклона из программки Sat Finder). Когда подстроили горизонт, детектор стал пищать ещё громче. Затем опять настроили по вертикали и опять по горизонту. Таким образом, мы точно нащупали спутник в космосе. Включили ресивер и телек. О чудо! Ресивер поймал спутник, а телевизор начал показывать настроенный канал!


Как показала практика, нужно опираться только на положение спутника по карте, определив ориентиры (здания по направлению спутника) и только после этого искать спутник по высоте.
Ещё не помешает иметь под рукой исправное оборудование...

IP stream for BeeLine. Создаём IP поток для Билайн

Предположим ситуацию:
Вы работаете на телевидении (кабельном) техническим сотрудником. Ваш исходящий вещательный тракт построен на IP мультикастной группе. Сигнал отправляется к разным провайдерам. Например: МТС, ТТК, в которых требования сигнала значатся параметры  MPEG-4 с надстройками видео AVC/H264, звука MPEG1L2 и определённой скоростью потока. В принципе всё просто.

А теперь в целях расширения вещания вам нужно отправить IP поток для ретрансляции по кабельным в Билайн со следующими параметрами:

Основной поток видео:
Profile and level H.264/AVC Main or High @ L3
Bit rate Video - 2,5 Mbps CBR
Resolution X: 720 Y: 576
Frame rate - 25i
RAP interval - Two seconds (fixed)
GoP Fixed IBBBPBBBP, длина GOP 24 фрейма

Параметры аудио: MpegL2, Bit rates - 192 Kbps CBR, Sample frequency 48 kHz, Operating modes Stereo, Language RUS.

Требования к потоку PiP:
Параметры видео:
Profile and level H.264/AVC Main @ L1.3
Bit rate Video - 0,245 Mbps CBR
Resolution X: 192 Y: 192
Aspect ratio 4x3
Frame rate - 25i
RAP interval - Two seconds (fixed)

Оба потока в формате MPEG 7TS/UDP.
Всё понятно?

Теперь обратим внимание на то, что ваши кодеры на сервере вещания не позволяют настроить поток таким образом. Да, есть решение для ПО Форвард, и оно естественно стоит немалых денег. А если не Форвард?
Что делать...
Приобретение кодирующих железок в данной ситуации не рассматривается.
Придётся пробовать городить собственный кодер на основе бесплатных платформ.
Нужно транскодировать сигнал основной программы в тот, который нужен Билайну.

Первым приходит в голову VLC с запусками параметров из командной строки. И проще сломать себе руки и выколоть глаза, чем настроить VLC с нужными параметрами и сделать так, чтобы при обрыве входящего потока он не CRASH-ился каждый раз.

После множества неудачных опытов с VLC, была выбрана другая очень стабильная платформа - FFMPEG!

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

После долгих экспериментов и исследований получился следующий код для запуска основного потока:

ffmpeg  -localaddr 192.168.1.113 -i udp://@239.0.23.23:4444  -c:v libx264 -profile:v main -level 3.0 -preset fast -tune zerolatency  -g 24 -bf 3 -b_strategy 0 -flags -cgop  -r 25 -x264-params "nal-hrd=cbr" -b:v 2500k -minrate 2500k -maxrate 2500k -muxrate 3000k -bufsize 1M -s 720x576 -vf setdar=4/3 -flush_packets 0 -threads 4  -trellis 2 -cmp 2 -subcmp 2    -acodec mp2 -ac 2 -ab 192k -ar 48000   -async 1  -metadata:s:a:0 language=rus    -f mpegts udp://239.192.40.50:5151?pkt_size=1316

где:
-localaddr 192.168.1.113 - IP сетевой карты в компьютере которая подключена к коммутатору с вашим вещательным потоком. Указывается интерфейс для приёма и основной работы с вашим мультикастом (при наличии 2-х и более сетевых карт в компьютере);
 -i udp://@239.0.23.23:4444 - Мультикаст вашего основного потока;
 -c:v libx264 -profile:v main -level 3.0 - основные требования потока;
-preset fast -tune zerolatency - параметры обработки входящего сигнала. Если компьютеру будет тяжело транскодировать сигнал, можно fast заменить на veryfast или ultrafast, но от этого значительно ухудшится качество изображения;
-g 24 - Размер группы картинок;
-bf 3 - Количество B кадров между I и P кадрами;
-b_strategy 0 - допуск B кадров. Если поставить значение 1, то количество B кадров не всегда будет равно 3м. Образуется неровность структуры кадров;
-flags -cgop - флаг убирает закрытую структуру GoP - структура становится открытой;
 -flush_packets 0 - отменить сливание пустых пакетов при мультиплексировании. Если убрать этот параметр пакеты TS будут отправляться "полупустыми". С этим параметром пакеты наполняются "стаффом" (FFFFFFFFFFFF) и имеют стабильный размер;
-f mpegts udp://239.192.40.50:5151?pkt_size=1316 - выходной адрес траскодированного сигнала с ограничением пакета 1316 байт (для создания пакетной структуры 7 TS пакетов на одну посылку UDP).

Получается нужная структура:


Для потока PIP:


ffmpeg -fflags +genpts  -fflags +igndts -localaddr 192.168.1.113 -i udp://@239.0.23.23:4444 -c:v libx264 -profile:v main -level 1.3 -g 15  -r 25  -keyint_min 15 -bf 2 -b_strategy 0 -flags -cgop -x264-params "nal-hrd=cbr"  -b:v 245K -minrate 245K -maxrate 245K  -muxrate 400K -bufsize 500K  -s 192x192 -vf setdar=4/3 -aspect 4:3  -preset ultrafast -tune zerolatency  -flush_packets 0 -threads 4  -trellis 2 -cmp 2 -subcmp 2  -an     -f mpegts udp://239.192.40.51:5050?pkt_size=1316

Всё работает отлично!
По загрузке процессора можно сказать, что при работе на процессоре i7 загрузка системы на один транскодер составляет всего 4-6%. При обрыве входящего сигнала ничего не отваливается, а при появлении - FFMPEG продолжает работу в штатном режиме.



convert colors to midi note for midi controllers

I recently (2 years ago) designed and built a simple MIDI controller for my intercom system using an Arduino Leonardo, USB hub, sound card, ...