Давно я не писал в своём блоге ничего нового. Честно говоря не было вдохновения и особого повода. Буду исправляться, и повод появился. Ещё в далёком 2020 году я прикупил парочку неттопов. Один из них буквально в довесок - DNS Saishiat2, потихоньку все нашли применение. Говорить об этом мини ПК особо нечего, но скажу так под линукс работает достаточно быстро, видео проигрывает 1080 без проблем. В конце 22 года я также купил один из недорогих USB микроскопов фирмы Орбита OT-INL40. Микроскоп прекрасно работает в линукс. Появилась идея создать что-то полуавтоматической связки, чтобы если нужно срочно что-то сделать под микроскопом, то на рабочий стол ставит монитор, к нему подключается неттоп с микроскопом. Вкл и на экране сразу выводится картинка в реальном времени (без логинов, паролей и других манипуляций). Тут бы можно было купить микроскоп с экраном, но если брать дешёвый, то картинка будет посредственной, а в загашнике стоит пару лишний плоских 17 дюймовок...
Изначально была идея вообще использовать консольный режим. Все испытания проводились на Manjaro. Оказалось, что картинку смогла вывести только программа ffplay, а mpv и cvlc почему-то показывать отказались. При этом наблюдалась приличная задержка. Вообщем проводить паяльные работы было бы крайне мучительно. Попытка уменьшить буфер лишь немного улучшало ситуацию. Под Иксами, в частности в среде Мате, просто изумительные результаты показала V4L2 Test Bench: в ней не было задержек от слова совсем. Всё это навело меня на мысль, что получить картинку в реальном времени как с того же видеонаблюдения реально. Начался долгий поиск идеальной конфигурации. Сколько бы я не пытался, но все плеера показывали задержку. В конце концов я открыл VLC и внезапно обнаружил, что в нём можно настроить искомые настройки. При выборе и воспроизведении микроскопа (а он есть не что иное как просто специализированная камера), в дополнительных настройках есть строчка :v4l2-standard= :live-caching=300. Если изменить 300 на 0, то буфер равен нулю и задержки нет! Далее оказалось за малым - написать скрипт, который можно было бы добавить в автозапуск в любой графической среде. Итогом стала такая команда:
vlc --fullscreen --no-osd v4l2:///dev/videoX:v4l2-standard= :live-caching=0
Вместо X необходимо подобрать число. Например в Manjaro, где была вэбка, микроскоп был /dev/video2, а в Runtu - /dev/video0 Я также пробовал вариант с cvlc, тоже работает, но если закрыть окно, то процесс остаётся висеть в памяти и его можно кильнуть только через диспетчер процессов.
В качестве эксперимента по созданию франкенштейна была выбрана Runtu 24.04 Lite. Почему именно она? Просто хотелось познакомиться с данной сборкой, которая вышла ещё во времена моей молодости, а ещё это практически голый дистрибутив, в котором ничего нет. Забегая вперёд я хотел немного усовершенствовать конструкцию - предполагалось, что к неттопу будет подключаться мышка и открываться те или иные схемы. Т.е. клавиатура не столе не предполагается - искать в интернете на таком древнем неттопе некомфортно, а для перехода по локальным каталогам вполне достаточно мышки (я и мышевоз и клавиатурщик). В систему был установлен VLC, FBReader. Остальное в системе присутствовало. На ssd и 8 Гб система чувствует себя вольготно. Проц в простое занят единицами процентов, а потребление ОЗУ составляет примерно 350 Мб. ОС занимает менее 10 Гб, при запуске VLC нагрузка на проц примерно 16%.
Чтобы осуществить автозапуск VLC с заданными параметрами необходимо вписать в конце файла ~/.config/openbox/autostart команду vlc --fullscreen --no-osd v4l2:///dev/videoX:v4l2-standard= :live-caching=0
В дальнейшем в связи со странными глюками ОС была заменена на Manjaro XFCE.