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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

d.korolev@gmail.com