5 Система автоматического переключения между камерами на основе активности и звука ONVIF GStreamer
🎯 Общая характеристика проекта
| Атрибут | Значение |
|---|
| Тип | Программный проект (учебный) |
| Максимальная оценка | 8,2 балла (учебный проект) |
| Описание | Исследование: анализ активности и звука в видеопотоке. Продукт: система автоматического переключения между ONVIF-камерами на основе движения и уровня звука с использованием GStreamer для обработки и ретрансляции потоков. |
| Цель продукта | Создание «интеллектуального мультивью» — системы, которая в реальном времени выбирает наиболее «активную» камеру (по движению или звуку) и выводит её в основной эфир (например, для трансляций, наблюдения, видеоконференций). |
| Целевая аудитория | Операторы видеонаблюдения, организаторы мероприятий, трансляции лекций/совещаний, умный дом, образовательные платформы, промышленные объекты. |
| Технологии (рекомендуемые) | ONVIF, RTSP, GStreamer (Python/C), OpenCV, PyAudio, FFmpeg, WebSocket, Flask/FastAPI, веб-интерфейс, Docker, MQTT. |
📅 Поэтапные требования к проекту
📌 Этап 1: Выбор темы
Дата: 19.01.2026
Формат: Онлайн-форма
Документы: Форма
🔹 Требования к защите
- Подтверждён выбор темы 2-5.
- Сформирована команда (до 2 человек).
- Определены роли участников.
- Подтверждено понимание задачи и принципов работы с ONVIF, GStreamer и анализом активности.
| Критерий | Вес | Описание |
|---|
| Выбор темы | 1% | Формальное подтверждение выбора темы, формирования команды и распределения ролей. Оценка выставляется при условии своевременной подачи формы. |
📌 Этап 2: Представление проекта
Дата: 31.01.2026
Формат: Презентация
Документы: Слайды, ТЗ
🔹 Требования к защите
- Чётко сформулированы:
- Проблема: необходимость ручного переключения между камерами → потеря важных событий, высокая нагрузка на оператора.
- Решение: автоматическое переключение на активную камеру по критериям движения и звука.
- Целевая аудитория.
- Описаны технологии и архитектура системы.
- Представлен план реализации.
- Подтверждено согласование подхода с заказчиком.
| Критерий | Вес | Описание |
|---|
| Продукт | 25% | Постановка цели, видение законченного продукта: как работает система, где применяется, как заменяет ручное управление |
| Польза | 25% | Обоснование необходимости: автоматизация, повышение эффективности, снижение нагрузки на оператора, улучшение качества трансляций |
| Пользователь | 20% | Описание целевой аудитории внутри и вне МИЭМ, количественная оценка, рынки применения (трансляции, СКУД, умный дом) |
| Технологии | 20% | Обоснованный выбор стека: ONVIF для подключения, GStreamer для обработки потоков, OpenCV для анализа движения, PyAudio для анализа звука, Flask для API |
| Развитие | 10% | Перспективы развития: интеграция с системами управления, ИИ-анализ поведения, коммерциализация, ВКР |
📌 Этап 3: PoC (Proof of Concept)
Дата: 21.02.2026
Формат: Демонстрация + видео + репозиторий
Документы: Git, видео
🔹 Требования к защите
- Экспериментально подтверждена техническая реализуемость:
- Подключение к ONVIF-камере и получение RTSP-потока.
- Анализ движения (через OpenCV) и/или уровня звука (через PyAudio).
- Переключение между двумя камерами при обнаружении активности.
- Простейший вывод (например, в окно OpenCV или GStreamer-плейер).
- Демонстрация минимальной работоспособности.
- Видео (до 3 минут) с демонстрацией сценария: активность → переключение.
- Код выложен в репозиторий с README.
| Критерий | Вес | Описание |
|---|
| Техническая реализуемость | 60% | Подтверждение, что выбранный подход позволяет подключиться к камерам, анализировать активность и переключать потоки |
| Демонстрация | 20% | Наличие видео, показывающего: фон → активность на одной камере → автоматическое переключение на неё |
| Код и документация | 20% | Наличие репозитория с рабочим кодом, README, инструкцией по запуску и описанием архитектуры PoC |
📌 Этап 4: Прототип
Дата: 16.03.2026
Формат: Демонстрация + отчет + репозиторий
Документы: Демо, отчет, git
🔹 Требования к защите
- Реализован прототип:
- Поддержка подключения к 2–3 ONVIF-камерам.
- Параллельный анализ движения и звука.
- Логика выбора активной камеры (веса, приоритеты, задержки).
- Использование GStreamer для сборки и ретрансляции основного потока.
- Простейший UI (веб-интерфейс или окно) с отображением активной камеры.
- Логирование переключений.
- Демонстрация работы в реальном времени.
- Отчёт с описанием архитектуры, схемы обработки потоков, алгоритмов анализа.
| Критерий | Вес | Описание |
|---|
| Реализация функционала | 40% | Поддержка ONVIF, анализ активности, переключение, GStreamer-обработка |
| Интеграция | 25% | Успешная интеграция ONVIF-библиотеки, GStreamer, OpenCV, PyAudio, логики выбора и UI |
| Демонстрация | 20% | Работающий демо-стенд, показ автоматического переключения при активности |
| Документация | 15% | Наличие отчёта с описанием архитектуры, схемы потоков GStreamer, API, инструкций по запуску |
📌 Этап 5: MVP (Minimal Viable Product)
Дата: 11.04.2026
Формат: Работающий продукт + отзыв + отчет + git
Документы: Отзыв, отчет, git
🔹 Требования к защите
- Продукт может быть запущен и использован без участия разработчика.
- Поддержка всех базовых функций:
- Настройка камер (IP, логин/пароль).
- Настройка порогов чувствительности (движение, звук).
- Приоритезация камер (например, по умолчанию).
- Вывод основного потока через RTMP/RTSP/веб.
- Веб-интерфейс с отображением активной камеры и логом.
- Наличие документации пользователя и разработчика.
- Получен отзыв пользователя.
| Критерий | Вес | Описание |
|---|
| Продукт | 30% | Готовность продукта: отчуждаемость, выполнение базовых функций, работа в фоне |
| Документация разработчика | 20% | Наличие спецификации MVP/MUP, описание архитектуры, GStreamer-пайплайнов, API, текущего результата |
| Запуск и работа | 30% | Продукт запускается без разработчика, не требует несвойственных действий от пользователя, работает в фоне |
| Документация пользователя | 20% | Полная инструкция по установке, настройке камер, порогов, интерпретации логов и устранению неисправностей |
📌 Этап 6: MUP (Minimal Usable Product)
Дата: 16.05.2026
Формат: Асинхронная защита + консультация
Документы: Отзыв, отчет, git
🔹 Требования к защите
- Продукт внедрён в тестовую среду (например, в аудитории для трансляции лекций).
- Пользователь самостоятельно использует весь функционал.
- Получен отзыв о реальном использовании.
- Документация дополнена на основе фидбэка.
- Созданы маркетинговые материалы.
| Критерий | Вес | Описание |
|---|
| Отзыв пользователя | 30% | Удобство настройки, точность переключения, задержка, качество видео, стабильность |
| Функциональность | 30% | Полная реализация всех функций: настройка, анализ, переключение, вывод, масштабируемость |
| Документация пользователя | 20% | Наличие полной, понятной документации с установкой, навигацией, сценариями использования и устранением неисправностей |
| Маркетинг | 20% | Наличие лендинга, продуктового ролика, раздатки или презентации, адаптированных под целевую аудиторию |
📌 Этап 7: Защита проекта
Дата: 06.06.2026 или 13.06.2026
Формат: Презентация + демо + отзывы
Документы: Слайды, демо, отзывы
🔹 Требования к защите
- Презентация пользовательского опыта.
- Демонстрация работы продукта (включая сценарии переключения по движению и звуку).
- Представление отзывов пользователей.
- Подача заявки на РИД.
- Ответы на вопросы.
| Критерий | Вес | Описание |
|---|
| Представление | 20% | Маркетинговый стиль, ясность, логичность, отсутствие научного стиля, фокус на пользе и кейсах |
| Маркетинг | 20% | Качество лендинга, ролика, раздатки — соответствие продуктовому жанру, наличие кейсов применения |
| Впечатления пользователей | 30% | Удобство, точность, задержка, простота установки и использования, качество вывода |
| Завершённость | 30% | Полная документация, функциональность, наличие дистрибутива (Docker, deb), ссылки на код, расширенный функционал (например, ИИ-анализ, интеграция с OBS, мобильное приложение) |
Вложения