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

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

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



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

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

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

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

Чему вы научитесь?

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

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

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

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

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

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

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

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

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

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

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

Направления развития

Существует программный видеомикшер VMix и он поддерживает проприетарный и относительно молодой протокол NDI, через который по сети можно легко передавать потоки с компьютера и даже с мобильника. Но они используют потоки в десятки мегабит/с и совместимых устройств (камер, например) единицы и цены на них -- "телевизионные". В нашем случае строится связка из мобильного приложения, микшера, сервиса стриминга в соцсети и CDN, при этом, рассчитанная на работу с доступными каналами связи (1-8 вместо 40 мбит/с). Проект имеет смысл и развитие и безотносительно самодельных микшеров, т.к. RTSP-камера может использоваться в программных микшерах (в том же Vmix).

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

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

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

Ориентировочное расписание занятий

Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).

На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи "здесь и сейчас", сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.

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

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

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

d.korolev@gmail.com