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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Компания On-Air.Pro
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 3-10



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

Потоковое вещание с 2016 года поддерживается практически всеми соцсетями, это модная тема и эффективное средство продвижения контента. Есть различные сервисы и приложения (как от самих сетей, так и сторонние), обеспечивающие вещание как в отдельные сети, так и в несколько одновременно. Для одного из таких сервисов (On-Air.Pro) требуется разработка связки с API соцсетей и сетей доставки контента. Это отдельные фрагменты кода, они должны пройти соответствующие тесты, далее они включаются в основной проект. Список сетей и конкретные задачи определяются на момент согласования темы, т.к. проект живой и развивается безотносительно участия студентов. В качестве примера можно привести Youtube streaming API -- новая версия вышла весной 2017 года, потребуется реализовать новые возможности.

Разработка на Ruby on Rails.

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

Приобретаемый опыт:

  • Test driven development
  • Ruby on Rails
  • Командная работа
  • Работа с API соцсетей и стриминговых платформ

Будете повелевать потоками и управлять сторонними сервисами. На практике -- увлекательное дело, хотя и ошибки разбирать тоже придется как свои, так и тех сетей, куда посылаете потоки. Поэтому на отладку нужно закладывать основное время.

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

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

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

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

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

Для каждой сети пишется отдельный "адаптер", который будет включен в проект по мере готовности. Готовность проверяется прохождением тестов, предоставленных разработчиками On-Air.Pro.

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

  • REST API сторонних сервисов,
  • Ruby on Rails,
  • Разработка по тестам

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

Навыки программирования под веб (если вы планируете изучить Ruby on Rails по ходу работы, то ещё и способность быстро обучаться).

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

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

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

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

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

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

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

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

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

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

Для рестрима потоков в соцсети лучший аналог -- сервис restream.io Узконаправленный сервис, вполне хорошо решающий данную задачу. Но не без недостатков.

На ярмарке проектов данная тема явно не выделена, но входит в этот проект: https://pf.hse.ru/208012056.html.

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

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

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

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

d.korolev@gmail.com