Разработка программного адаптера ONVIF устройств для видеомикшера VMix (командный проект)

Материал из Wiki - Факультет компьютерных наук
Версия от 21:39, 20 сентября 2017; Dkorolev (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Компания On-Air.Pro
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 2-3



Что это за проект?

Небольшой проект для решения узкой, но актуальной задачи. Для монтажа многокамерной видеосъёмки и трансляции используют как аппаратные, так и программные видеомикшеры. Один из наиболее удобных и функциональных программных микшеров -- VMix, он не только поддерживает работу с различным оборудованием захвата сигнала с камер, но и прекрасно работает с RTSP-потоками от IP-камер, а значит, с ним совместимы все камеры видеонаблюдения при их низкой стоимости и гибкости настройки. В частности, из VMix можно задать несколько позиций поворота одной камеры и переходить между ними в прямом эфире, как между разными камерами (virtual input), что облегчает работу режиссера (и исключает необходимость в операторе) в прямом эфире. Но разработчики VMix ориентировались на рынок профессионального телевизионного оборудования и для управления камерами включили только проприетарные стандарты дорогих камер, в то время как системы видеонаблюдения давно используют единый открытый стандарт для всех видов используемого оборудования -- ONVIF. Задача: сделать прокси-адаптер, который будет транслировать команды VMix в команды ONVIF. Прототип такой программы уже сделан, но довести его до продукта, сделать локальную версию для Windows (как службу + интерфейс управления) и сетевую для Linux-сервера -- это ещё предстоит.

Минимальный проект: Помимо 11 команд и 2 настроек для управления PTZ, понадобится управлять Alarm-статусами камеры (так можно зажигать индикатор "камера в эфире", его называют Tally).

Расширенный проект: Настройка камер включает экспо- и цветокоррекцию, причём, не коррекцию потоков, а настройку самих камер через ONVIF. Эта задача вынесена в отдельный проект (здесь и в ярмарке проектов), но может быть реализована в рамках данного проекта.

Чему научатся студенты? Что самое интересное в проекте?

  • Управление видеокамерами IP PTZ через ONVIF
  • Автоматизация рутинных процедур в видеопроизводстве
  • Интеграция ПО с видеомикшером VMix, оптимизация рабочего процесса

В расширенном проекте:

  • Анализ видеопотоков

Организация работы (Как студенты будут работать в команде?)

Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.

Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.

Компоненеты (Из каких частей состоит проект?)

  • Служба для Windows (настраивается на определеный порт для каждой подключенной камеры)
  • Сетевой сервис для Linux-сервера (аналогично)
  • Веб-интерфейс управления (запускается и для локальной службы, и для удаленного сервера)
  • Расширенные возможности: управление реализуется в том же веб-интерфейсе.

Какие будут использоваться технологии?

  • ONVIF -- управление оборудованием видеонаблюдения
  • Служба для Windows и аналогичной версии для сервера под Linux.

Какие начальные требования?

Существующая версия написана на C# в VisualStudio, но это несколько странно для работы на Linux-сервере. Особых требований по языку разработки нет, исходить нужно из оценки пригодности выбранных инструментов для работы с ONVIF и названными ОС.

Для управления можно использовать веб-интерфейс, иначе придется делать приложение "в трее" для Windows.

Темы вводных занятий

Не в порядке изложения:

1. Специфические технологии и используемые инструменты.

2. Доступные ресурсы, организация доступа.

3. Разделение ролей

Критерии оценки

Про работу и оценки почитайте здесь: https://d.pr/143bq

Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!

Похожие проекты

Это небольшая сервисная программа, аналогичные встроены в VMix. Прототип успешно работает, проект направлен на развитие.

Контактная информация

Денис Королев,

https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)

+7 903 610 3290 (месенджеры по вкусу)

d.korolev@gmail.com