Интеграция WebRTC в сервис потокового вещания для отображения потоков в реальном времени (проект)
Ментор | Королев Денис |
Учебный семестр | Осень 2017 |
Учебный курс | 2-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 5 | |
Что это за проект?
Небольшая и совершенно конкретная тема, входящая в несколько соседних проектов в качестве подпроекта: есть задачи, в которых требуется получать видео из потока RAW/RTSP в реальном времени (или близком к реальному). Когда речь идёт о видеосистемах, там есть протоколы, которые с этим справляются (RTP, RTSP), но браузеры не умеют показывать RTP/RTSP. Зато некоторые браузеры (этого достаточно) умеют показывать WebRTC. В этой задаче нет новизны, она ориентирована на внедрение конкретного технического решения и отладку шероховатостей, возникающих в реальной жизни с реальными потоками.
Чему вы научитесь?
- Работа с видеопотоками в сети, доставка видео в реальном времени
Какие начальные требования?
- Навыки веб-программирования, желательно Ruby on Rails (для прототипа можно использовать любой язык).
Какие будут использоваться технологии?
- WebRTC (сервер Kurento или другой -- на выбор исполнителя)
- Ruby on Rails
- JavaScript
Темы вводных занятий
Не в порядке изложения:
1. Архитектура проекта. внешние связи и зависимости.
2. Специфические технологии и используемые инструменты.
3. Доступные ресурсы, организация доступа.
4. Разделение ролей
Направления развития
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы "на развитие" -- преуспевший в разработке некоего проекта студент (если хочет) становится "хостом" проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией.
Это проект одной технологии, причём, применяться она может в обе стороны: как для доставки видеопотоков зрителю, так и для получения от него потока с камеры и с рабочего стола. Может применяться и для передачи файлов. Всё это имеет применение в видеотрансляциях, даже массовых. В настоящее время включение в эфир "звонка зрителя" выполняется или отдельным сервисом (Skype, например), или средствами программного видеомикшера ("звонящий" переходит по ссылке, рабочий стол показать при этом нельзя). Реализация полноценной обратной связи -- это полноценный проект, построенный на той же технологии WebRTC со связкой с потоковым микшером. Это важный элемент для создания видеокомплекса в облаке, действующего в реальном времени (то есть, с полноценной поддержкой режиссируемого общения участников)
Критерии оценки
Про работу и оценки почитайте здесь: https://d.pr/143bq
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!
Ориентировочное расписание занятий
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи "здесь и сейчас", сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.