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-1
📌 Этап 1: Выбор темы
Дата: 19.01.2026
Формат: Онлайн-форма
Документы: Форма
🔹 Требования к защите
- Подтверждён выбор темы 5-1.
- Сформирована команда (до 2 человек).
- Определены роли участников.
- Подтверждено понимание задачи: разработка плагина для OBS, работающего с ONVIF-камерами.
- Наличие доступа к ONVIF-камере (или симулятору) и среде разработки под OBS (Windows/Linux).
| Критерий | Вес | Описание |
|---|---|---|
| Выбор темы | 1% | Формальное подтверждение выбора темы, формирования команды, распределения ролей и технической готовности. Оценка выставляется при условии своевременной подачи формы. |
📌 Этап 2: Представление проекта
Дата: 31.01.2026
Формат: Презентация
Документы: Слайды, ТЗ
🔹 Требования к защите
- Чётко сформулированы:
- Проблема: OBS Studio не поддерживает ONVIF-камеры "из коробки" → невозможность использовать профессиональные PTZ-камеры без сторонних конвертеров.
- Решение: плагин, добавляющий источник ONVIF-камеры с поддержкой RTSP-видео и PTZ-управления.
- Целевая аудитория.
- Описаны технологии и архитектура плагина.
- Представлен план реализации.
- Подтверждено согласование подхода с заказчиком.
| Критерий | Вес | Описание |
|---|---|---|
| Продукт | 25% | Постановка цели, видение законченного продукта: как работает плагин, где применяется (стриминг, умный класс, трансляции) |
| Польза | 25% | Обоснование необходимости: унификация оборудования, снижение затрат, повышение качества трансляций, удобство управления камерами |
| Пользователь | 20% | Описание целевой аудитории внутри и вне МИЭМ, количественная оценка, рынки применения (медиа, образование, ИТ) |
| Технологии | 20% | Обоснованный выбор стека: C++, OBS SDK, ONVIF (SOAP), RTSP, libcurl, OpenSSL, работа с потоками |
| Развитие | 10% | Перспективы развития: поддержка ONVIF Analytics, интеграция с vMix, коммерциализация, публикация в репозитории OBS, ВКР |
📌 Этап 3: PoC (Proof of Concept)
Дата: 21.02.2026
Формат: Демонстрация + видео + репозиторий
Документы: Git, видео
🔹 Требования к защите
- Экспериментально подтверждена техническая реализуемость:
- Создание простейшего "заглушки" плагина для OBS (сборка и загрузка).
- Успешное подключение к ONVIF-камере (получение Device Information через SOAP).
- Получение RTSP-URL потока по ONVIF.
- Вывод видеопотока в OBS через GStreamer.
- Простейшее PTZ-управление (например, отправка команды "home" или "zoom in").
- Демонстрация минимальной работоспособности.
- Видео (до 3 минут) с демонстрацией: установка плагина → добавление камеры → подключение → отображение видео → PTZ-управление.
- Код выложен в репозиторий с README.
| Критерий | Вес | Описание |
|---|---|---|
| Техническая реализуемость | 60% | Подтверждение, что возможно создать плагин для OBS и взаимодействовать с ONVIF-камерой |
| Демонстрация | 20% | Наличие видео, показывающего: подключение к камере, получение данных, управление PTZ, отображение видео |
| Код и документация | 20% | Наличие репозитория с рабочим кодом, README, инструкцией по сборке и описанием архитектуры PoC |
📌 Этап 4: Прототип
Дата: 16.03.2026
Формат: Демонстрация + отчет + репозиторий
Документы: Демо, отчет, git
🔹 Требования к защите
- Реализован прототип:
- Плагин загружается в OBS.
- Добавлен новый тип источника: "ONVIF Camera".
- Форма настройки: IP, логин, пароль, выбор потока (main/sub).
- Подключение к камере → получение видео → отображение в сцене OBS.
- Кнопки PTZ-управления (в UI плагина): поворот, наклон, зум, preset.
- Логирование ошибок (в консоль OBS).
- Демонстрация работы в реальном времени.
- Отчёт с описанием архитектуры, ONVIF-вызовов, схемы интеграции в OBS.
| Критерий | Вес | Описание |
|---|---|---|
| Реализация функционала | 40% | Поддержка источника, подключения, видео, PTZ-управления, логирования |
| Интеграция | 25% | Успешная интеграция с OBS, ONVIF, RTSP, UI плагина |
| Демонстрация | 20% | Работающий демо-стенд, показ добавления камеры и управления ею из OBS |
| Документация | 15% | Наличие отчёта с описанием архитектуры, ONVIF-методов, API плагина, инструкций по сборке |
📌 Этап 5: MVP (Minimal Viable Product)
Дата: 11.04.2026
Формат: Работающий продукт + отзыв + отчет + git
Документы: Отзыв, отчет, git
🔹 Требования к защите
- Продукт может быть установлен и использован без участия разработчика.
- Поддержка всех базовых функций:
- Установка плагина (через .zip или .deb/.exe).
- Добавление ONVIF-камеры через UI.
- Автообнаружение камер в сети (ONVIF Discovery).
- Выбор потока (основной/вторичный).
- PTZ-панель с кнопками и пресетами (set/go).
- Обработка ошибок (нет связи, неверный пароль).
- Наличие документации пользователя и разработчика.
- Получен отзыв пользователя.
| Критерий | Вес | Описание |
|---|---|---|
| Продукт | 30% | Готовность продукта: отчуждаемость, выполнение базовых функций, стабильность |
| Документация разработчика | 20% | Наличие спецификации MVP/MUP, описание архитектуры, API, ONVIF-взаимодействия, текущего результата |
| Запуск и работа | 30% | Продукт устанавливается и работает без разработчика, не требует несвойственных действий от пользователя |
| Документация пользователя | 20% | Полная инструкция по установке, настройке, подключению камер, управлению PTZ, устранению неисправностей |
📌 Этап 6: MUP (Minimal Usable Product)
Дата: 16.05.2026
Формат: Асинхронная защита + консультация
Документы: Отзыв, отчет, git
🔹 Требования к защите
- Продукт внедрён в тестовую среду (например, у стримера, в учебной аудитории).
- Пользователь самостоятельно использует весь функционал.
- Получен отзыв о реальном использовании.
- Документация дополнена на основе фидбэка.
- Созданы маркетинговые материалы.
| Критерий | Вес | Описание |
|---|---|---|
| Отзыв пользователя | 30% | Удобство интерфейса, стабильность видео, отзывчивость PTZ, простота настройки, частота сбоев |
| Функциональность | 30% | Полная реализация всех функций: обнаружение, подключение, видео, PTZ, пресеты, обработка ошибок |
| Документация пользователя | 20% | Наличие полной, понятной документации с установкой, навигацией, сценариями использования и устранением неисправностей |
| Маркетинг | 20% | Наличие лендинга, продуктового ролика, раздатки или презентации, адаптированных под целевую аудиторию |
📌 Этап 7: Защита проекта
Дата: 06.06.2026 или 13.06.2026
Формат: Презентация + демо + отзывы
Документы: Слайды, демо, отзывы
🔹 Требования к защите
- Презентация пользовательского опыта.
- Демонстрация работы продукта (включая сценарии подключения, PTZ-управления, сбои).
- Представление отзывов пользователей.
- Подача заявки на РИД.
- Ответы на вопросы.
| Критерий | Вес | Описание |
|---|---|---|
| Представление | 20% | Маркетинговый стиль, ясность, логичность, отсутствие научного стиля, фокус на пользе и кейсах |
| Маркетинг | 20% | Качество лендинга, ролика, раздатки — соответствие продуктовому жанру, наличие кейсов применения |
| Впечатления пользователей | 30% | Удобство, стабильность, отзывчивость, простота установки и использования |
| Завершённость | 30% | Полная документация, функциональность, наличие дистрибутива (официальный пакет), ссылки на код, расширенный функционал (например, поддержка ONVIF Analytics, токены, мультикаст, интеграция с OBS WebSockets) |