5-1 Плагин для OBS Studio с поддержкой ONVIF-камер как источника видео и PTZ управления ими

| Атрибут | Значение |
|---|---|
| Тип | Программный проект (рабочий) |
| Максимальная оценка | 10 баллов (рабочий проект) |
| Описание | Исследование: интеграция IP-камер стандарта ONVIF в OBS Studio. Продукт: плагин для OBS Studio, позволяющий использовать ONVIF-камеры как источники видео и управлять ими (PTZ — поворот, наклон, зум) прямо из интерфейса OBS. |
| Цель продукта | Расширить функциональность OBS Studio, добавив поддержку промышленных IP-камер (видеонаблюдения, PTZ) для профессиональных трансляций, стриминга, видеоконференций и умных классов. |
| Целевая аудитория | Стримеры, видеоблогеры, организаторы онлайн-событий, преподаватели, интеграторы AV-решений, службы трансляций, умный город, корпоративные пользователи. |
| Технологии (рекомендуемые) | C++ (основной язык плагинов OBS), Python (второстепенный язык плагинов), Qt (опционально для UI), HTML/CSS (для доков в OBS), ONVIF (SOAP/HTTP), RTSP, GStreamer, Windows/Linux (целевые ОС) |
5-2 "Рога"
Устройство на основе штатива или штативной головы, установленной на столе. В зависимости от выбранного пути решения задачи либо самостоятельное сетевое устройство с поддержкой ONVIF/VISCA, либо подключаемый к компьютеру контроллер.

| Атрибут | Значение |
|---|---|
| Тип | Программно-аппаратный проект (рабочий) |
| Максимальная оценка | 10 баллов (рабочий проект) |
| Описание | Исследование: неестественность управления PTZ-камерами с джойстика. Продукт: эргономичное рабочее место оператора PTZ-камеры на основе штативной головы, повторяющее кинематику ручной камеры. Система преобразует физические движения головы штатива в команды ONVIF/VISCA для удалённой камеры. Интеграция с Bitfocus Companion и AI-трекером. |
| Цель продукта | Создание интуитивного интерфейса управления PTZ-камерами, имитирующего поведение операторской камеры, для плавного, естественного слежения за объектами (например, спикером) в условиях студии, лекционного зала или трансляции. |
| Целевая аудитория | Операторы видеосъёмки, организаторы онлайн-трансляций, преподаватели, AV-интеграторы, службы трансляций, умный класс, корпоративные пользователи, студии стриминга. |
| Технологии (рекомендуемые) | Arduino/Raspberry Pi/ESP32, датчики угла (гироскоп/энкодер), штативная голова, кнопки/джойстик зума, Python/C++, ONVIF/VISCA, REST API, WebSocket, Bitfocus Companion, FFmpeg (опционально), веб-интерфейс, Docker, HID-эмуляция (опционально), Ethernet/Wi-Fi. |
При съемке PTZ камерами есть серьезное ограничение: движения камер при управлении с джойстика механические, сильно отличаются от динамики операторских камер. Это особенно заметно, когда оператору нужно следить за человеком на относительно крупных планах.
Предлагается два решения этой проблемы: PTZ-трекер, который автоматически "ведет" выбранного человека на заданном плане (это проект Мастерской видеотехнологий, руководитель @Моисеев Михаил Васильевич ), и ручное управление камерой, эргономически повторяющее управление классической штативной камерой: штативная голова с ручкой (или двумя ручками) с пультом, позволяющим управлять зумом и переключать режимы работы устройства (например, переключаться между камерами, сбрасывать позицию и тд).
Требуется собрать на основе штатива (головы штатива) рабочее место оператора PTZ камеры: поворот штатива дает команду на соответствующий поворот камеры. Предложить решение (по умолчанию -- на основе компьютерной мышки). Взаимодействие с Bitfocus Companion.
Если датчиком движения будет выступать контроллер/оптическая система мышки, то проект нужно рассматривать в контексте работы с Bitfocus Companion, который используется в IP-видеокомплексах. Там нет поддержки HID Report, про это есть отдельная тема.
Минимальный вариант:
- Управление панорамированием и наклоном камеры по положению ручки (головы) штатива.
- Управление зумом камеры с установленного на ручке штатива устройства ввода (минимально -- кнопочного, но правильнее -- рычажкового, с вариативной скоростью)
- Выбор режима работы контроллера (отключен / включен / трекер). При переходе в режим "включен" текущее положение головы штатива будет соответствовать текущему положению камеры. "Трекер" - это вызов внешнего AI трекера (запрос API).
Полный вариант:
- Выбор камеры (если устройство включает вывод потока на экран, то выбранная камера показывается на экране).
- Выбор / запись пресетов
5-3 Студийный рекордер
Мастер-сервис для управления экземплярами RTSP-2-HDMI(SDI). Мастер-сервис должен оркестирировать запись по заранее созданной конфигурации. Интерфейс редактирования конфигурации. Синхронизация по произвольному таймкоду или по NTP. Мультиплексирование аудиодорожек между записями.

| Атрибут | Значение |
|---|---|
| Тип | Программно-сетевой проект (рабочий) |
| Максимальная оценка | 10 баллов (рабочий проект) |
| Описание | Исследование: отсутствие синхронизированной многоканальной записи сетевых видеопотоков без перекодирования. Продукт: сетевой видеорекордер (NVR) для студийной съёмки, обеспечивающий одновременную запись нескольких RTSP-потоков с точной синхронизацией по таймкоду и гибким выбором аудиодорожки из одного из потоков. |
| Цель продукта | Создание решения для профессиональной многокамерной съёмки, позволяющего записывать все потоки без перекодирования, с точным сведением по времени и звуку — как в полноценных студийных условиях, но на базе IP-камер и сетевой инфраструктуры. |
| Целевая аудитория | Операторы студийных съёмок, организаторы трансляций, AV-инженеры, преподаватели, интеграторы СКУД/AV, службы трансляций, умный класс, корпоративные продакшены, студии стриминга. |
| Технологии (рекомендуемые) | Python (FastAPI/Flask), Docker, Kubernetes (опционально), FFmpeg (без перекодирования, copy), RTSP, HLS/MPEG-TS, NTP, Prometheus/Grafana/VictoriaMetrics, Alertmanager, WebSocket, REST API, PostgreSQL/SQLite, веб-интерфейс (React/Vue), systemd, Bash/Ansible (управление ВМ), Python-библиотеки для анализа медиа (например, pyav), JSON-конфигурации. |
Для полноценных съемок требуется запись всех видеопотоков с сведением их по таймкоду начала и по звуку. В серьезных продакшенах для этого применяются отдельные физические сервера записи несжатых видеосигналов. В сетевой потоковой передачи для записи видео используются различные физические или программные сетевые видеорекордеры (NVR). Большинство таких рекордеров предназначены для записи с перекодированием набора видеопотоков без сведения по времени и звуку - как камера отдает поток, так и пишем. Требуется создать сетевой видеорекордер предназначенный для студийной записи сетевых видеопотоков без перекодирования. Важнейшим требованием является сведение по единому таймкоду, а также возможность выбора из какого медиапотока, среди записываемых забирается аудиодорожка.
5-4 Видеостанция
Есть макет в виде металлического ящика (электрощитка) для установки на стену (или стенку стола), включающий минимально одноплатный компьютер OrangePi 5+ и экстендер (удлинитель) HDMI сигнала для проектора.
Программная составляющая -- единая программная платформа на базе OBS.

| Атрибут | Значение |
|---|---|
| Тип | Программно-аппаратный проект (рабочий) |
| Максимальная оценка | 10 баллов (рабочий проект) |
| Описание | Исследование: необходимость надежных, необслуживаемых видеостанций для автоматизированной съемки в лекционных и семинарских аудиториях. Продукт: видеостанция на базе OrangePi 5+ — компактный, защищённый, стабильный программно-аппаратный комплекс на базе OBS, обеспечивающий локальную и удалённую коммутацию, запись и трансляцию с PTZ-камер и микрофонов. |
| Цель продукта | Создание стандартизированного, масштабируемого решения для автоматизации видеосъёмки в 10 помещениях МИЭМ: стабильная работа без локального обслуживания, защита от вмешательства пользователей, поддержка удалённого управления и локального мониторинга. |
| Целевая аудитория | Служба трансляций МИЭМ, преподаватели, организаторы онлайн-событий, AV-инженеры, интеграторы умных аудиторий. |
| Технологии (рекомендуемые) | OrangePi 5+ (ARM), Armbian/Ubuntu, OBS Studio (через libobs или headless), Docker, Python, REST API, WebSocket, HDMI Extender (HDBaseT), PoE-коммутатор (опционально), GPIO, сенсорный экран (опционально), UPS (опционально), Prometheus/Grafana (мониторинг), NTP, SSH, Ansible, 3D-печать/механический корпус, кабель-каналы, IP-камеры (ONVIF), IP-микрофоны. |
Видеостанция -- программно-аппаратный комплекс на базе OrangePi 5+ для обеспечения локальной работы видеозалов. Включает коробку с одноплатником и прочими необходимыми элементами, PTZ камеры и микрофон в помещении. В полной версии в коробке может помещаться коммутатор PoE для подключения камер.
В МИЭМ есть 10 помещений (2 лекционные, 7 семинарских комнат, 1 зал на -1 этаже), где могут быть установлены такие комплексы. Они уже оснащены камерами и микрофонами, дело за "ящиком" с компьютером.
Есть ранний прототип. Программная часть -- единая платформа на основе OBS.
Специфика проекта: в базовой версии это необслуживаемая (локально) установка. Работает либо автоматически по расписанию, либо через удаленное подключение: мультиэкран передаётся на рабочее место режиссера, команды с пульта/джойстика передаются от режиссера в OBS и камеры.
Устройство должно работать надежно без обслуживания, нужно исключить перегрев и другие факторы, влияющие на стабильность работы устройства (видеостанции).
Установка должна исключать возможность воздействия пользователей на коммутацию. В имеющейся версии это решается помещением начинки в металлический запираемый корпус и подведением вплотную к нему кабель-каналов -- так выдернуть провод будет проблематично.
5-5 Переносная телестудия
В этом проекте критически важна обкатка на практике. Никакие лабораторные эксперименты не подтверждают пригодность устройства к работе на площадке. Поэтому здесь "удаленная разработка" не принесет пользы, этот проект -- про внедрение, понимание процесса, для которого создано устройство, исправление проблем, опять проверка на практике, сбор обратной связи от целевых пользователей и так далее. ПТС не имеет права на ошибку -- съемки невозможно "перепровести".

Переносная телестудия (ПТС) -- это "чемодан" с одноплатным компьютером, коммутатором PoE, пультом MIDI и монитором, в комплект также входит джойстик Pelco/RS485. Все это уже собрано, работает и даже бывало на съемках.
В этом проекте почти вся работа -- программная, по доведению UX устройства до ума. Основная часть программной начинки уже готова, это единая платформа на основе OBS, она применяется также в Видеостанции, Операторской камере, в АСБ (аппаратной комнате телестудии).
ПТС предназначена для быстрого развертывания на месте съемки: камеры включаются прямо в неё, она образует сеть, является рабочим местом режиссера и оператора. Если на съемке есть и режиссер, и оператор, то два таких чемодана могут работать в паре с разделением ролей, сеть формирует тогда один из них.
Задача этого проекта -- довести программную часть до автоматизма при запуске, проработать сценарии работы с этим устройством в разных его режимах (режиссер, оператор, инженер, ассистент режиссера). Продумать и реализовать сценарии и инструменты настройки ПТС и взаимодействия между собой.
5-6 Модуль RTSP-SDI
Устройство в корпусе 2U с двумя одноплатными компьютерами Jetson Nano, четырьмя конвертерами HDMI-SDI и блоками питания. Питание устройства -- 220 В.Устройство будет конфигурироваться через web-интерфейс. Для сконфигурированного устройства дополнительные действия после включения не требуются.

Мы работаем с IP-камерами, они на выходе отдают RTSP поток. Но при работе с телевизионным производством эти потоки бесполезны -- там работают с сигналами (SDI). Чтобы использовать потоки от IP камер, не имеющих выхода SDI/HDMI, сделали декодер потока на базе NVidia Jetson Nano. То есть, программная часть готова, платформа в работе уже была проверена на настоящих съемках.
Задача этого проекта -- "упаковать" это изделие в корпус. Jetson помещается в 2х-юнитовый корпус, при этом, в корпус поместится два таких одноплатника, каждый из которых может декодировать по два потока.
5-7 DIY Streamdeck
- Устройство в настольном корпусе.
- Прототип устройства в стоечном исполнении
- Комплект ПО для работы с устройством
- Установка в аппаратной комнате Медиацентра МИЭМ в качестве пульта выбора комнат, камер или каналов записи рекордера (конкретные задачи выбираются ближе к этапу внедрения).

Помимо привычных клавиатур, существуют пульты с управляемой подсветкой кнопок (MIDI) и пульты с выводом изображений на кнопки. Первые такие пульты делались с использованием миниатюрных OLED дисплеев, получилось дорого, сложно в программной поддержке, развития такая конструкция не получила.
Позднее появился пульт Elgato Streamdeck, где тот же эффект достигался значительно проще: прозрачные кнопки просто помещаются поверх IPS экрана. Появились аналогичные устройства других производителей.
Задача этого проекта освоить технологию изготовления такого пульта на основе сенсорного сенсорного экрана, чтобы воспроизводить такие пульты в нужном размере и форм-факторе. Тип сенсора (резистивный или ёмкостной) предстоит выбрать.
Использование сенсорного экрана позволяет использовать штатное ПО от Streamdeck, поэтому в данном проекте основная роль у инженера-конструктора: нужно придумать способ изготовления и крепления кнопок, которые бы создавали нажатие на сенсорном экране.