Разработка программного адаптера ONVIF устройств для видеомикшера VMix (проект)
Ментор | Королев Денис |
Учебный семестр | Осень 2017 |
Учебный курс | 2-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 5-10 | |
Что это за проект?
Небольшой проект для решения узкой, но актуальной задачи. Для монтажа многокамерной видеосъёмки и трансляции используют как аппаратные, так и программные видеомикшеры. Один из наиболее удобных и функциональных программных микшеров -- VMix, он не только поддерживает работу с различным оборудованием захвата сигнала с камер, но и прекрасно работает с RTSP-потоками от IP-камер, а значит, с ним совместимы все камеры видеонаблюдения при их низкой стоимости и гибкости настройки. В частности, из VMix можно задать несколько позиций поворота одной камеры и переходить между ними в прямом эфире, как между разными камерами (virtual input), что облегчает работу режиссера (и исключает необходимость в операторе) в прямом эфире. Но разработчики VMix ориентировались на рынок профессионального телевизионного оборудования и для управления камерами включили только проприетарные стандарты дорогих камер, в то время как системы видеонаблюдения давно используют единый открытый стандарт для всех видов используемого оборудования -- ONVIF. Задача: сделать прокси-адаптер, который будет транслировать команды VMix в команды ONVIF. Прототип такой программы уже сделан, но довести его до продукта, сделать локальную версию для Windows (как службу + интерфейс управления) и сетевую для Linux-сервера -- это ещё предстоит.
Минимальный проект: Помимо 11 команд и 2 настроек для управления PTZ, понадобится управлять Alarm-статусами камеры (так можно зажигать индикатор "камера в эфире", его называют Tally).
Расширенный проект: Настройка камер включает экспо- и цветокоррекцию, причём, не коррекцию потоков, а настройку самих камер через ONVIF. Эта задача вынесена в отдельный проект (здесь и в ярмарке проектов), но может быть реализована в рамках данного проекта.
Чему вы научитесь?
- Управление видеокамерами IP PTZ через ONVIF
- Автоматизация рутинных процедур в видеопроизводстве
- Интеграция ПО с видеомикшером VMix, оптимизация рабочего процесса
В расширенном проекте:
- Анализ видеопотоков
Какие начальные требования?
Существующая версия написана на C# в VisualStudio, но это несколько странно для работы на Linux-сервере. Особых требований по языку разработки нет, исходить нужно из оценки пригодности выбранных инструментов для работы с ONVIF и названными ОС.
Для управления можно использовать веб-интерфейс, иначе придется делать приложение "в трее" для Windows.
Какие будут использоваться технологии?
- ONVIF -- управление оборудованием видеонаблюдения
- Служба для Windows и аналогичной версии для сервера под Linux.
Темы вводных занятий
Не в порядке изложения:
1. Специфические технологии и используемые инструменты.
2. Доступные ресурсы, организация доступа.
3. Разделение ролей
Направления развития
От небольшой утилиты-адаптера (или небольшого служебного сервиса) эта программа может вырасти в полноценный продукт для IP-video продакшена. IP-камеры в последние годы стали снимать вполне качественно и могут конкурировать с классическими, при этом имея массу преимуществ по управляемости. Проект в будущем должен объединить в себя возможности управления, монитоирнга, конфигурирования этих камер (включая трекинг людей и автосъёмку вообще, автокоррекцию параметров изображения при многокамерной съёмке и т.д.).
При наличии дееспособного потокового микшера (есть и такой проект среди предложенных) получается мощная связка, потенциально дающая результаты, ограниченные лишь фантазией авторов проекта, технические возможности здесь очень богатые, но за надежность и удобство работы здесь придётся побороться.
Критерии оценки
Про работу и оценки почитайте здесь: https://d.pr/143bq
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!
Как записаться?
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке.
Ориентировочное расписание занятий
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи "здесь и сейчас", сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.
Денис Королев,
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)
+7 903 610 3290 (месенджеры по вкусу)
d.korolev@gmail.com