Разработка мобильного приложения "ONVIF камера" (командный проект)

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

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



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

Любопытная особенность камер видеонаблюдения, которую призвано имитировать разрабатываемое приложение, -- это то, что они полностью контролируются дистанционно по стандартному протоколу. Если вы когда-нибудь снимали на обычные бытовые камеры, то знаете, что к чему их ни подключи, а настроить параметры изображения можно только с самой камеры, запустить запись -- тоже. И только в телевизионных комплексах оператор камеру направляет, а остальное настраивается со специального пульта, и это позволяет при съёмке с нескольких камер получать одинаковые параметры изображения (по цвету, свету, параметрам сигнала). Мобильный телефон уже давно стал устройством для стриминга, но стриминга "сырого" видео и обычно сразу к зрителю. От этого любительские трансляции в ВК и Фейсбуке выглядят хуже, чем любительское VHS в 90х: ни монтажа, ни смены планов.

Существует множество мобильных приложений для видеостриминга, но требуется специфическая разработка, которая превратит для внешнего наблюдателя обычный смартфон или планшет в камеру видеонаблюдения с присущими ей возможностями: поддержкой стандарта ONVIF (управление потоками, параметрами изображения и тд), формированием как минимум двух потоков RTSP со звуком AAC, веб-интерфейсом управления.

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

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

  • Разработка мобильного приложения (если ещё нет такого опыта). По умолчанию -- Android, если есть желающие работать под IOS, это тоже хорошо, проекты могут идти параллельно.
  • Работа с камерой мобильного устройства для формирования RTSP потоков.
  • Разработка ONVIF-совместимого ПО (используется всей инфраструктурой систем видеонаблюдения).

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

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

Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач.

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

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

1. RTSP Camera 2. ONVIF 3. Web-сервер* 4. OpenVPN client *

*Расширенный функционал, не обязательный для запуска проекта.

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

  • JAVA (для Android)
  • ONVIF
  • RTSP сервер
  • OpenVPN (опционально)
  • Web-сервер для создания простого веб-интерфейса (опционально)

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

Навыки или желание освоить разработку мобильных приложений.

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

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

1. Архитектура проекта. ONVIF, внешние связи и зависимости.

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

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

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

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

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

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

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

Существует множество приложений для стриминга, но они в основном нацелены на работу с RTMP, в нашем случае требуется формирование потоков RTSP. Такое приложение для Android также существует (RTSP camera). По сути, нужно сделать аналогичное приложение, снабдив его, как минимум, ONVIF-совместимым управлением, опционально -- встроить веб-интерфейс для удаленного ручного управления без дополнительного ПО и клиент OpenVPN (можно обойтись отдельным приложением и запускать подключение по мере надобности).

Этот проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208012069.html

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

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

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

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

d.korolev@gmail.com