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

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

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



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

Существует уже много веб-сервисов и мобильных приложений для редактирования фото и видео. Как обычно, чтобы ими воспользоваться, нужно в них загрузить свои файлы. А если файлы уже лежат в облаке, при этом, важно быстро внести требуемые изменения, то это неудобно. Чаще всего требуется подрезка, наложение титров или графики, склейка фрагментов. Эти операции могут выполняться из командной строки, если знать требуемые параметры (например, при помощи ffmpeg).

Задача в этом проекте разделена на два уровня сложности:

1. Сделать простой видеоредактор для выполнения основных операций: отрезать, приклеить, наложить, преобразовать в нужный размер/формат. При этом, в качестве источника должны приниматься файлы на GoogleDrive, WebDAV и FTP. Работа с файлами должна строиться путём отбора нужных материалов из архива с дальнейшей выгрузкой их на сервер (или открытием непосредственно с GoogleDrive) с последующей записью результата по любому указанному пути или выгрузкой пользователю.

2. Построить полноценный нелинейный редактор на основе существующего движка (например [https://www.mltframework.org/features/

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

Либо писать свой интерфейс для несложного видеоредактора (даже для несложного придется потрудиться), либо работать с фреймворком видеоредактора и тоже строить отзывчивый пользовательский интерфейс.

Взаимодействовать с облачными хранилищами, API GoogleDrive, использовать OAuth и т.д.

Строить сервисы с распределением нагрузки по виртуальным машинам.

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

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

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

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

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

1. Движок NLE или ffmpeg 2. UI, личный кабинет 3. REST API 4. Подключение к хранилищам GoogleDrive, WebDAV, FTP 5. Балансировщик задач (сервер + воркеры на запускаемых виртуальных машинах). (опционально).

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

  • Фреймворк NLE-редактора
  • GoogleDrive API
  • Собственный REST API
  • Отзывчивый UI (JS-based)

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

Не бояться разбираться в фреймворках и api. Хотеть довести продукт до рабочего состояния.

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

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

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

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

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

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

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

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

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

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

Youtube Creative Studio, как минимум. Неудобный редактор, работает только со своим же хранилищем, но как пример веб-NLE подойдет.

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

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

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

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

d.korolev@gmail.com