<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dkorolev</id>
	<title>Wiki - Факультет компьютерных наук - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dkorolev"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Dkorolev"/>
	<updated>2026-09-21T14:14:51Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Deniskorolev.jpg&amp;diff=28400</id>
		<title>Файл:Deniskorolev.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Deniskorolev.jpg&amp;diff=28400"/>
		<updated>2018-08-20T18:10:11Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%94%D0%B5%D0%BD%D0%B8%D1%81%D0%9A%D0%BE%D1%80%D0%BE%D0%BB%D0%B5%D0%B2&amp;diff=28399</id>
		<title>Участник:ДенисКоролев</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%94%D0%B5%D0%BD%D0%B8%D1%81%D0%9A%D0%BE%D1%80%D0%BE%D0%BB%D0%B5%D0%B2&amp;diff=28399"/>
		<updated>2018-08-20T18:07:59Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:deniskorolev.jpg|мини|справа|Вот так выглядит Денис Королев]]&lt;br /&gt;
{{Карточка_ментора&lt;br /&gt;
|categorize = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Королев Денис Александрович&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Образование==&lt;br /&gt;
* МИЭМ, 2002, Инженер. Вычислительные машины, комплексы, системы и сети&lt;br /&gt;
&lt;br /&gt;
* МИЭМ, 2002, ППК Управление качеством&lt;br /&gt;
&lt;br /&gt;
* МИЭМ, 2007, к.т.н. Компьютерные сети и телекоммуникации&lt;br /&gt;
&lt;br /&gt;
* МИЭМ, 2008, доцент. &lt;br /&gt;
&lt;br /&gt;
==Области знаний и интересов==&lt;br /&gt;
* Видеотехнологии, видеовещание в интернет.&lt;br /&gt;
&lt;br /&gt;
* Онлайн-поддержка обучения.&lt;br /&gt;
&lt;br /&gt;
==Место работы==&lt;br /&gt;
* МИЭМ НИУ ВШЭ, Департамент компьютерной инженерии&lt;br /&gt;
&lt;br /&gt;
* МИЭМ НИУ ВШЭ, &amp;quot;Цифровой университет&amp;quot; (проект НИУ ВШЭ). &lt;br /&gt;
&lt;br /&gt;
==Контакты==          &lt;br /&gt;
* E-mail: &#039;&#039;d.korolev@gmail.com&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mobile/Telegram/Whatsapp: &#039;&#039;+7 903 610 3290&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* VK: &#039;&#039;http://vk.com/dkorolev79&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Facebook: &#039;&#039;https://www.facebook.com/denis.korolev.msk&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%94%D0%B5%D0%BD%D0%B8%D1%81%D0%9A%D0%BE%D1%80%D0%BE%D0%BB%D0%B5%D0%B2&amp;diff=28398</id>
		<title>Участник:ДенисКоролев</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%94%D0%B5%D0%BD%D0%B8%D1%81%D0%9A%D0%BE%D1%80%D0%BE%D0%BB%D0%B5%D0%B2&amp;diff=28398"/>
		<updated>2018-08-20T18:07:06Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница: «Вот так выглядит Денис Королев {{Карточка_ментора |categorize = yes }…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:deniskorolev.jpg|мини|справа|Вот так выглядит Денис Королев]]&lt;br /&gt;
{{Карточка_ментора&lt;br /&gt;
|categorize = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Королев Денис Александрович&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Образование==&lt;br /&gt;
* МИЭМ, 2002, Инженер. Вычислительные машины, комплексы, системы и сети&lt;br /&gt;
&lt;br /&gt;
* МИЭМ, 2002, ППК Управление качеством&lt;br /&gt;
&lt;br /&gt;
* МИЭМ, 2007, к.т.н. Компьютерные сети и телекоммуникации&lt;br /&gt;
&lt;br /&gt;
* МИЭМ, 2008, доцент. &lt;br /&gt;
&lt;br /&gt;
==Области знаний и интересов==&lt;br /&gt;
* Видеотехнологии, видеовещание в интернет.&lt;br /&gt;
&lt;br /&gt;
* Онлайн-поддержка обучения.&lt;br /&gt;
&lt;br /&gt;
==Место работы==&lt;br /&gt;
* МИЭМ НИУ ВШЭ, Департамент компьютерной инженерии&lt;br /&gt;
&lt;br /&gt;
* МИЭМ НИУ ВШЭ, &amp;quot;Цифровой университет&amp;quot; (проект НИУ ВШЭ). &lt;br /&gt;
&lt;br /&gt;
==Контакты==          &lt;br /&gt;
* E-mail: &#039;&#039;d.korolev@gmail.com&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Mobile/Telegram/Whatsapp: &#039;&#039;+79036103290&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* VK: &#039;&#039;http://vk.com/dkorolev79&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Facebook: &#039;&#039;https://www.facebook.com/denis.korolev.msk&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25428</id>
		<title>Разработка сети доставки статического контента (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25428"/>
		<updated>2017-10-19T19:22:52Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка сети доставки статического контента&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Статический CDN -- это распределение нагрузки для обеспечения доступа множества пользователей к файлам. Используется для нагруженных веб-ресурсов, чтобы все зрители, пришедшие смотреть новую серию популярного сериала, получили ее на достойной скорости и без падения сервера от перегрузки. Для этого используется распределенное хранение, балансировка между серверами и каналами связи.&lt;br /&gt;
&lt;br /&gt;
В данном проекте предлагается в качестве уже существующей распределенной среды хранения и передачи файлов использовать хранилище GoogleDrive, которое так удачно предлагает безлимитные аккаунты для корпоративных и академических доменов. Суть разработки состоит в решении задачи подстановки контента напрямую с серверов GoogleDrive, чтобы не пропускать трафик через серверы проекта.&lt;br /&gt;
&lt;br /&gt;
Второй вопрос для решения -- лимит на количество обращений к файлу на GoogleDrive. Решается он путём создания копии файла и подмены ссылки на новый файл.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Погружение в работу с GoogleDrive&lt;br /&gt;
&lt;br /&gt;
* Разработка UI/REST API&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки веб-разработки.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Это же немного хак. Есть &amp;quot;магический камень&amp;quot; (GoogleDrive), к нему нужен особый подход, чтобы использовать его не только как хотят авторы, но и немного иначе. Сколько ещё можно придумать интересных применений для этого ресурса -- жизнь покажет. Пока же туда успешно сохраняются записи трансляций с сервера (есть такой сервис on-air.pro), аккаунты используются для хранения многотерабайтных архивов медиаданных (очень удобно для ТВ и продакшенов) и т.д. Получится то, что в этом проекте описано, -- там же и хостинг для фото/видеогалерей и т.д.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_Video_on_Demand_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25427</id>
		<title>Разработка сервиса воспроизведения Video on Demand (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_Video_on_Demand_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25427"/>
		<updated>2017-10-19T19:22:42Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка сервиса воспроизведения Video on Demand&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Задача -- разработать сервис, который будет воспроизводить видеозаписи, хранящиеся на Google Drive или указанном WebDAV/FTP сервере по команде или по расписанию, и формировать из них поток RTSP/RTMP. К этому сервису нужен веб-интерфейс и REST API для автоматического взаимодействия. Помимо этого, он должен поддерживать управление через ONVIF, определяясь для остальных устройств как NVR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сервис нужен для следующих типовых задач:&lt;br /&gt;
&lt;br /&gt;
1. Воспроизведение в поток по расписанию заготовленных записей. Это нужно для публикации стримов в соцсети (если залить файл, то соцсеть это событие никак не продвигает, а если отправить стрим, то такой контент имеет приоритет для соцсети и его проще продвигать в массы.&lt;br /&gt;
&lt;br /&gt;
2. При воспроизведении по расписанию (по времени, по триггеру) совместно с потоковым микшером можно формировать канал постоянного вещания, переключая микшер на записи по плейлисту и запуская их. При этом хранение контента -- в облаке.&lt;br /&gt;
&lt;br /&gt;
3. При работе с облачным видеомикшером любые записи из архива могут быть включены в эфир.&lt;br /&gt;
&lt;br /&gt;
4. Дополнение к сервису видеозаписи потоков (вместе они образуют полноценный &amp;quot;магнитофон&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сервис предназначен для формирования видеопотока из видеозаписей. Хранение записей: GoogleDrive, работа по расписанию, по нажатию кнопки. Интерфейс загрузки, каталог пользовательских записей, представление на таймлайне и в календаре (API Google Calendar). Пригодятся: Ruby on Rails, OAuth, соответствующие API. Дополнительно: headless браузер с передачей данных для ввода на странице для формирования потоков с веб-страниц (вебинары и тд). Проект групповой. Правила работы: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Сам по себе процесс запуска воспроизведения из файла в поток -- дело нехитрое: ffmpeg одной простой командой отправит на нужный адрес поток RTMP, а FFSERVER, VLC или аналогичный сервер сформирует RTSP поток, который в реальном времени может забрать любой потребитель (микшер, матрица, монитор и тд). Прочитать файл с аккаунта на GoogleDrive тоже задача не выдающаяся, хотя и полезная в жизненных ситуациях, учитывая, что этот сервис предлагает безлимитные аккаунты. &lt;br /&gt;
Здесь важно обеспечить управляемость и низкую задержку выполнения команды, а также совместимость с ONVIF. К пользовательскому интерфейсу, если его делать &amp;quot;со всеми удобствами&amp;quot;, тоже довольно серьезные требования по отзывчивости (хотя, в минимальной версии этот сервис может иметь весьма аскетичный интерфейс).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки или страстное желание освоить веб-разработку, крайне желательно придерживаться Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
* Владение Linux (придется работать с сервером на виртуальной машине), &lt;br /&gt;
&lt;br /&gt;
* API соцсетей (опционально)&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Стриминг RTSP/RTMP&lt;br /&gt;
&lt;br /&gt;
* GoogleDrive API, WebDAV, FTP&lt;br /&gt;
&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* OAuth&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Это специфический инструмент. Есть системы управления контентом, типа XIBO, есть playout-серверы для телевизионного вещания или для indoor-TV (панели в супермаркетах и других общественных местах), но здесь решается узкая задача: как контент из облака или своего сервера отправить в поток для дальнейшего использования. &lt;br /&gt;
Как аналог одного из применений, можно назвать BufferApp - сервис отложенного постинга сообщений в соцсети. Здесь тоже по расписанию, но отправка видеопотоков (интеграция с API сетей может быть вынесена в отдельный проект).&lt;br /&gt;
&lt;br /&gt;
Если рассматривать развитие проекта как самостоятельного сервиса, то он может объединиться с рекордером и работать с облачным хранилищем. Полезно не только для телевизионного применения, но и в более обширной области видеонаблюдения (обычно для этого используют локально установленные сетевые видеорекордеры) и в связанных с ней задачах -- наблюдение с выводом в публичный доступ и т.д. Бывали заказы на timelapse строящихся объектов.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_Speech-to-text_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_API_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25426</id>
		<title>Разработка сервиса Speech-to-text на базе существующего API (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_Speech-to-text_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_API_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25426"/>
		<updated>2017-10-19T19:22:13Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка сервиса Speech-to-text на базе существующего API&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Разработка в уже действиующем проекте, направления работы -- от UI/UX до предобработки потоков и анализа и обработки результатов распознавания и перевода.&lt;br /&gt;
&lt;br /&gt;
Суть проекта: пользователь загружает видео- или аудио-файл, файл преобразуется для отправки в один или несколько сервисов распознавания, далее результат высылается на электронную почту пользователя. &lt;br /&gt;
&lt;br /&gt;
Сервисов распознавания и перевода существует много, но всилу специфики их назначения и произвольного характера поступающих от пользователей исходных файлов, требуется предобработка и последующая сборка результатов. Взаимодействие со сторонними сервисами -- через API. При этом, различные сервисы по-разному воспринимают особенности исходных записей. Например, одни не любят телефонные разговоры, а другие -- многоголосые записи. Стоимость обработки также различается. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Отдельное направление -- разработка личного кабинета со статистикой, сохранением результатов ранее проведенных распознаваний и исходных файлов (файлы сохраняются на аккаунте GoogleDrive). В том числе, требуется поддержка обработки папок (GoogleDrive, FTP, WebDAV) в качестве источников файлов и места сохранения результатов. &lt;br /&gt;
&lt;br /&gt;
Также отдельный подпроект -- подключение не только распознавания, но и перевода (также через API). &lt;br /&gt;
&lt;br /&gt;
Результаты распознавания и перевода могут быть представлены как простым текстом, так и размеченным таймкодами, облаком тегов и т.д. &lt;br /&gt;
&lt;br /&gt;
Заметим, что операции распознавания и перевода доступны в реальном времени и одной из задач (на практике уже проверено -- работает) будет реализовать для пользователей возможность давать на вход сервиса не только файлы, но и потоки, а на выходе -- поток субтитров, в т.ч. автоматически стримить в Yotube.  &lt;br /&gt;
&lt;br /&gt;
Разработка на Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
В зависимости от выбранного направления работы: &lt;br /&gt;
&lt;br /&gt;
* работа с API сторонних сервисов&lt;br /&gt;
&lt;br /&gt;
* предобработка потоков (gstreamer, ffmpeg)&lt;br /&gt;
&lt;br /&gt;
* UI/UX разработка&lt;br /&gt;
&lt;br /&gt;
* OAuth, работа с платежной системой&lt;br /&gt;
&lt;br /&gt;
* Работа с хранилищами файлов (GoogleDrive, WebDAV, FTP)&lt;br /&gt;
&lt;br /&gt;
Задачи разносторонние, поэтому каждый найдет себе что-то по вкусу.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от выбранного направления -- владение соответствующими технологиями и языками. Очевидно, потребуется знать или изучить большинство используемых инструментов и языков.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* API сервисов распознавания и перевода, Google Drive и Youtube, ЯндексКассы. &lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails, Java Script&lt;br /&gt;
&lt;br /&gt;
* Анализ видео- и аудиофайлов, их предобработка&lt;br /&gt;
&lt;br /&gt;
* Анализ текстов и их обработка&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Сейчас этот сервис работает лишь для распознавания голосовых записей, может работать с потоками (но для пользователей эта возможность закрыта, а так титры в Youtube делаются на лету), при этом выдача распознанных файлов приходит пользователю с таймкодами. Но это пока очень сырой проект, выросший из прошлогодней курсовой работы в МИЭМ. В развитие видятся следующие направления: &lt;br /&gt;
&lt;br /&gt;
* Повышение качества распознавания -- не только подбором провайдера сервиса распознавания (сейчас Google, тестируются два других), но и предобработкой (особенно шумных и искаженных сжатием) записей и анализом результирующего текста, возможно, по дублирующему результату от альтернативного провайдера;&lt;br /&gt;
&lt;br /&gt;
* Введение распознавания графических образов из видео (про это есть отдельный проект). Актуально для мониторинговых компаний, которые распознают телевизионный эфир (а там много интересного пишут в lower third и не только);&lt;br /&gt;
&lt;br /&gt;
* Пользовательский интерфейс для всего этого. Сейчас его можно сказать что нет.&lt;br /&gt;
&lt;br /&gt;
Помимо этого предстоит много сделать для интеграции в рабочие процессы заказчиков. Например, обработку папок в облачных дисках и по адресам ftp/webdav вместо загрузки файлов непосредственно на сайте.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25425</id>
		<title>Разработка редактора компоновок для сервиса потокового видеовещания (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25425"/>
		<updated>2017-10-19T19:21:54Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка редактора компоновок для сервиса потокового видеовещания&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Редактор компоновок позволяет из нескольких видеопотоков собрать на одном экране композицию, загрузить/выбрать фон, добавить текстовые и графические элементы. Используется в прямых трансляциях, записи, подключается к микшеру потоков или непосредственно к источнику трансляции. Это не видеомикшер в обычном понимании (про видеомикшер есть отдельная тема), а отдельный модуль, использующий тот же движок, но для формирования составной картинки, использоваться выходной поток может как сам по себе (сразу в трансляцию/запись), так и в микшере среди прочих входов.&lt;br /&gt;
Основная область применения -- трансляция лекций и других мероприятий, где одновременно нужно показывать выступающего и экран, при этом, нет ресурсов на режиссуру в эфире. Здесь важно иметь возможность сделать 2-3 компоновки, заставку и переключать их время от времени в зависимости от происходящего. Высоких требований к скорости выполнения, как в микшере, нет (2-3 секунды задержки не критичны). С другой стороны, здесь требуется создать конструктор компоновок и интерфейс управления ими во время эфира, и всё это на том же движке, что микшер. &lt;br /&gt;
В развитие проекта для интересующихся соответствующими направлениями можно предложить автопереключение компоновок (анализ потоков на изменения и принятие режиссерских решений).&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Как и в Микшере, работа связана с движком на базе gstreamer -- само по себе познавательное дело, т.к. применимость gstreamer&#039;а не ограничивается сведением пото созданием отзывчивого пользовательского интерфейса.&lt;br /&gt;
&lt;br /&gt;
В зависимости от комплектации группы, будет разрабатываться больше или меньше возможностей. Например, полезный в этой области навык -- анализ потоков для дальнейшего принятия режиссерских решений. Интересующимся этой темой может быть полезно заглянуть в проекты про автоматическую съёмку и автоматическую режиссуру.&lt;br /&gt;
&lt;br /&gt;
Коротко о связи с реальностью: изначально именно компоновки были соновной идеей On-air.pro, который строился как публичный сервис для трансляции лекций с нескольких источников. Но всилу ограничений используемого движка компоновки не стали киллер-фичей, зато сервис увлеченно транслирует в соцсети. Тем не менее, как только созреет микшер, редактор компоновок и другие модули, выставленные на проработку, они займут своё место в проекте.&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В любом случае понадобятся навыки программирования (будь то веб-разработка или работа с движком GStreamer/Snowmix), работы с Linux (потому что виртуалка в сети). Остальное -- специфика, с которой можно познакомиться по ходу проекта. Веб-часть на Ruby on Rails -- для унификации с базовым проектом. &lt;br /&gt;
&lt;br /&gt;
Ожидается, что разработчики умеют пользоваться поисковыми системами и stackoverflow. Руководитель может консультировать вас по предметной области (видео/тв), но не по программной разработке. &lt;br /&gt;
&lt;br /&gt;
Разработка обычно имеет недельный цикл трекинга, встречи (как индивидуальные, так и групповые) по умолчанию -- по видеосвязи, но порой надо и очно (на факультете). Необходимые технические и серверные ресурсы предоставляются.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Gstreamer и с ним Snowmix/Voctomix, возможно -- ffmpeg&lt;br /&gt;
&lt;br /&gt;
* Виртуальные машины linux, nginx и сопутствующие инструменты&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails (для унификации) и необходимые средства для UI (например, meteor, это ещё нужно обоснованно решить).&lt;br /&gt;
&lt;br /&gt;
* Опционально: ONVIF для управления камерами (переход по предустановленным позициям)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Редактор компоновок -- это компонент потокового видеомикшера, причём, этот проект актуален безотносительно того, в каком виде будет реализован видеомикшер -- в &amp;quot;скромном&amp;quot;, для скрытого выполнения операций с видеопотоками (поставить логотип/титры, переключиться на заставку при пропадении входного потока, переключиться на другой источник), или в &amp;quot;полноценном&amp;quot;, то есть, с пользовательским интерфейсом видеомикшера, со всеми подобающими кнопками, экранами и т.д. В любом случае, мультиэкранное изображение нужно,а для этого, помимо движка микшера, нужно иметь интерфейс для его создания: как с нуля, так и из готовых пресетов. В свою очередь, конструктор компоновок и титровальня -- это лишь с виду простые программы, на деле же там может быть заложено много интересных возможностей, вплоть до автоматического распознавания лиц на крупном плане, чтобы рекомендовать правильные титры.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_ONVIF-%D1%81%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B8%D0%BC%D1%8B%D0%BC%D0%B8_IP_PTZ_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25424</id>
		<title>Разработка программного модуля управления ONVIF-совместимыми IP PTZ камерами (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_ONVIF-%D1%81%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B8%D0%BC%D1%8B%D0%BC%D0%B8_IP_PTZ_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25424"/>
		<updated>2017-10-19T19:21:43Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка программного модуля управления ONVIF-совместимыми IP PTZ камерами&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Для управления цифровыми камерами видеонаблюдения существует ряд программ и устройств, использующих единый стандарт ONVIF. Но ни одна из этих программ и ни одно устройство не предназначены для управления камерами в &amp;quot;операторской манере&amp;quot;, когда движения совершаются плавно и сразу по трем измерениям (поворот/наклон/увеличение -- PTZ). Также, камеры могут настраиваться по многим параметрам изображения, в некоторых камерах есть поддержка звука, но эти параметры не регулируются устройствами, предназначенными для видеонаблюдения. &lt;br /&gt;
&lt;br /&gt;
Нужно разработать сервис управления ONVIF PTZ камерами. Взаимодействие с пользователем через веб-интерфейс с поддержкой наборов камер в личном кабинете, с сохранением пресетов.&lt;br /&gt;
&lt;br /&gt;
Специфические особенности, отличающие от существующих программ и веб-интерфейса самих камер: &lt;br /&gt;
&lt;br /&gt;
1. &amp;quot;Операторское&amp;quot; движение камеры (одновременное и плавное перемещение по всем трём осям)&lt;br /&gt;
&lt;br /&gt;
2. Настройка &amp;quot;на лету&amp;quot; параметров изображения, звука и потока.&lt;br /&gt;
&lt;br /&gt;
3. Предусмотреть возможность подключения автоматического трекера и автоцветокоррекции (см. соседние проекты и проекты на Ярмарке проектов: https://pf.hse.ru/208027417.html https://pf.hse.ru/208027466.html)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для локального использования предусмотреть установку под Windows, по умолчанию установка на linux-сервере с VPN, экспериментально -- на роутерах с прошивкой OpenWRT.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Тонкое управление устройствами (IP PTZ камерами) по протоколу ONVIF&lt;br /&gt;
&lt;br /&gt;
* Имитация работы оператора-человека&lt;br /&gt;
&lt;br /&gt;
* Создание сервиса управления, работающего на различных платформах&lt;br /&gt;
&lt;br /&gt;
* Создание отзывчивого веб-интерфейса для управления камерой.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Иметь представление о веб-разработке. при этом, больше внимания уделить JS и отзывчивому пользовательскому интерфейсу. &lt;br /&gt;
&lt;br /&gt;
Работа с ONVIF возможна на разных языках, язык выбирается так, чтобы результат запускался на указанных платформах.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* Разработать REST API &lt;br /&gt;
&lt;br /&gt;
* AJAX и другие элементы разработки отзывчивого UI&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Это один из проектов, имеющих в будущем общее будущее: объединение возможностей управления PTZ IP камерами, включая автоматическую съёмку (в т.ч. с трекингом человека), автоцвето/экспокоррекцию и т.д. сделает дешевые и вполне качественные IP камеры серьезным конкурентом современным дорогостоящим телевизионным камерам, требующим не менее дорогостоящих компонентов для сборки съёмочных комплексов. Здесь же мы обходимся обычными компьютерами и локальной сетью, при этом можем строить полностью распределенные съёмочные комплексы, где режиссер, камеры и операторы могут находиться в разных местах.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80%D0%B0_ONVIF_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_VMix_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25423</id>
		<title>Разработка программного адаптера ONVIF устройств для видеомикшера VMix (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80%D0%B0_ONVIF_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_VMix_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25423"/>
		<updated>2017-10-19T19:21:32Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка программного адаптера ONVIF устройств для видеомикшера VMix&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Небольшой проект для решения узкой, но актуальной задачи. Для монтажа многокамерной видеосъёмки и трансляции используют как аппаратные, так и программные видеомикшеры. Один из наиболее удобных и функциональных программных микшеров -- VMix, он не только поддерживает работу с различным оборудованием захвата сигнала с камер, но и прекрасно работает с RTSP-потоками от IP-камер, а значит, с ним совместимы все камеры видеонаблюдения при их низкой стоимости и гибкости настройки. В частности, из VMix можно задать несколько позиций поворота одной камеры и переходить между ними в прямом эфире, как между разными камерами (virtual input), что облегчает работу режиссера (и исключает необходимость в операторе) в прямом эфире. Но разработчики VMix ориентировались на рынок профессионального телевизионного оборудования и для управления камерами включили только проприетарные стандарты дорогих камер, в то время как системы видеонаблюдения давно используют единый открытый стандарт для всех видов используемого оборудования -- ONVIF. Задача: сделать прокси-адаптер, который будет транслировать команды VMix в команды ONVIF. Прототип такой программы уже сделан, но довести его до продукта, сделать локальную версию для Windows (как службу + интерфейс управления) и сетевую для Linux-сервера -- это ещё предстоит.&lt;br /&gt;
&lt;br /&gt;
Минимальный проект: Помимо 11 команд и 2 настроек для управления PTZ, понадобится управлять Alarm-статусами камеры (так можно зажигать индикатор &amp;quot;камера в эфире&amp;quot;, его называют Tally).&lt;br /&gt;
&lt;br /&gt;
Расширенный проект: Настройка камер включает экспо- и цветокоррекцию, причём, не коррекцию потоков, а настройку самих камер через ONVIF. Эта задача вынесена в отдельный проект (здесь и в ярмарке проектов), но может быть реализована в рамках данного проекта.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Управление видеокамерами IP PTZ через ONVIF&lt;br /&gt;
&lt;br /&gt;
* Автоматизация рутинных процедур в видеопроизводстве&lt;br /&gt;
&lt;br /&gt;
* Интеграция ПО с видеомикшером VMix, оптимизация рабочего процесса&lt;br /&gt;
&lt;br /&gt;
В расширенном проекте: &lt;br /&gt;
&lt;br /&gt;
* Анализ видеопотоков&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Существующая версия написана на C# в VisualStudio, но это несколько странно для работы на Linux-сервере. Особых требований по языку разработки нет, исходить нужно из оценки пригодности выбранных инструментов для работы с ONVIF и названными ОС. &lt;br /&gt;
&lt;br /&gt;
Для управления можно использовать веб-интерфейс, иначе придется делать приложение &amp;quot;в трее&amp;quot; для Windows.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF -- управление оборудованием видеонаблюдения&lt;br /&gt;
&lt;br /&gt;
* Служба для Windows и аналогичной версии для сервера под Linux.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
2. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
3. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
От небольшой утилиты-адаптера (или небольшого служебного сервиса) эта программа может вырасти в полноценный продукт для IP-video продакшена. IP-камеры в последние годы стали снимать вполне качественно и могут конкурировать с классическими, при этом имея массу преимуществ по управляемости. Проект в будущем должен объединить в себя возможности управления, монитоирнга, конфигурирования этих камер (включая трекинг людей и автосъёмку вообще, автокоррекцию параметров изображения при многокамерной съёмке и т.д.). &lt;br /&gt;
&lt;br /&gt;
При наличии дееспособного потокового микшера (есть и такой проект среди предложенных) получается мощная связка, потенциально дающая результаты, ограниченные лишь фантазией авторов проекта, технические возможности здесь очень богатые, но за надежность и удобство работы здесь придётся побороться.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0_%D0%B8%D0%B7_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25422</id>
		<title>Разработка модуля распознавания текста из видеоизображения (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0_%D0%B8%D0%B7_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25422"/>
		<updated>2017-10-19T19:21:12Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка модуля распознавания текста из видеоизображения&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Распознавание текста из видео/фото изображений дополняет сервис распознавания голоса из аудио и видео (как файлов, так и потоков).&lt;br /&gt;
&lt;br /&gt;
Основная область применения -- мониторинг телевизионных программ различными мониторинговыми службами. Основной объект для распознавания -- бегущие строки и субтитры (lower thirds), но на деле объекты могут быть не только текстовыми (вылавливать логотипы и другие эталонные изображения и надписи, регистрировать их размер).&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Обработка видеопотоков, файлов и фотоизображений с целью распознавания текстов и изображений по заданным шаблонам.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от роли в проекте: &lt;br /&gt;
&lt;br /&gt;
* OpenCV и навыки работы с распознаванием изображений. &lt;br /&gt;
&lt;br /&gt;
* Веб-разработка на Ruby on Rails&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Разработка на Ruby on Rails, JavaScript &lt;br /&gt;
&lt;br /&gt;
* Распознавание -- OpenCV + C++/Python&lt;br /&gt;
&lt;br /&gt;
* API GoogleDrive, работа с хранилищами FTP/WebDAV&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Графическая часть сервиса распознавания дополняет голосовую (изначально это сервис распознавания голоса в текст), также там предусмотрено подключение перевода. Комплексная услуга позволяет покрывать значительную часть запросов, но требует и более тщательной разработки интерфейса пользователя, и сами &amp;quot;распознаватели&amp;quot; зачастую требуется дублировать и перепроверять возможными автоматическими способами, чтобы снизить уровень ошибок. Проект развивается в настоящее время в сторону комплексного сервиса, обслуживающего как запросы частных клиентов, так и интегрируемого в корпоративный рабочий процесс, в т. ч. для профильных компаний (медиаизмерители, HR, колцентры, журналисты, продакшены и тд).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%BE%D0%BD%D1%82%D0%B0%D0%B6%D0%B0_%D0%B2_%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC_%D1%8D%D1%84%D0%B8%D1%80%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25421</id>
		<title>Разработка модуля автоматизации видеомонтажа в прямом эфире (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%BE%D0%BD%D1%82%D0%B0%D0%B6%D0%B0_%D0%B2_%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC_%D1%8D%D1%84%D0%B8%D1%80%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25421"/>
		<updated>2017-10-19T19:21:00Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка модуля автоматизации видеомонтажа в прямом эфире&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Если вы снимаете какое-нибудь событие (конференцию, защиты выпускных работ или другое разговорное событие) на одну камеру, то запись, монтаж и трансляция особой проблемы не представляют -- просто нечего монтировать, разве что подрезать. Транслировать такое событие тоже просто. Стоит добавить к этой одной камере хотя бы захват экрана презентации, начинаются сложности. А если камер несколько, выступающий общается с залом, из президиума что-то комментируют -- здесь обычно нужен режиссер. На входе у режиссера несколько потоков, он выбирает, какой из потоков пойдет в запись/трансляцию в каждый момент времени. &lt;br /&gt;
Критерии выбора потока зависят от а) его содержательности и актуальности для зрителя в данный момент и б) от технической и эстетической готовности. Содержательность -- это значит, что показывают обычно либо говорящего, либо то, о чём он говорит (презентацию), либо и то и другое сразу (картинка в картинке). Техническая пригодность -- значит, камера в фокусе, не дрожит и готова передавать поток без помех. Эстетическая готовность -- камера наведена на объект съёмки с соблюдением требуемой композиции кадра и в допустимых пределах экспозиции и цветопередачи. &lt;br /&gt;
&lt;br /&gt;
Переключение источников видеопотоков может быть автоматизировано и это реализовано в конференц-системах, где камеры поворачиваются на говорящего в микрофон на определенном месте. Но такие системы имеют простой алгоритм, основанный на предварительной настройке позиций камер на оснащённые места с индивидуальными микрофонами. В нашем случае нет возможности использовать дополнительные датчики и заранее настраивать камеры на определенные точки, задачу автоматизации режиссуры нужно решать для абстрактного случая &amp;quot;разговорного события&amp;quot;. &lt;br /&gt;
Если общие правила монтажа и съёмки довольно легко описываются (например, длительность кадров в пределах 5-20 секунд, переходы по крупности плана -- через один, съёмка по правилу третей, при этом поворот головы к центру кадра, и т.д.), то выбор источников для включения и конкретных моментов для переходов -- это задача творческая и для ее решения могут привлекаться как обычные формальные методы (изменение содержания слайда, детекция говорящего человека на крупном плане и т.д.), так и нейросеть.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Распознавание движений и мимики человека&lt;br /&gt;
&lt;br /&gt;
* Практика в OpenCV&lt;br /&gt;
&lt;br /&gt;
* Составление формальных критериев для съёмки и монтажа&lt;br /&gt;
&lt;br /&gt;
* Амбициозная задача -- лишить режиссеров работы, где это возможно! Пусть кино снимают, а здесь и машина управится.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Программирование C++ или Python, желательно OpenCV&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Распознавание образов (OpenCV)&lt;br /&gt;
&lt;br /&gt;
* Возможно: нейросети&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Автомонтаж -- это даже не технология, а мечта одних и ужас других (кому потом придется искать себе работу). По сути, большинство &amp;quot;режиссеров&amp;quot; днями напролет выполняют работу, с которой компьютер справится не хуже, а зачастую -- лучше. Никакого творчества в съёмке разговорных мероприятий обычно нет (речь не о топовых проектах крупных телеканалов, а о всевозможных конференциях, семинарах и тд -- их по количеству часов снимается подавляющее большинство). Развитие проекта востребовано в двух очевидных направлениях, в которых ныне существует классический монтаж: &lt;br /&gt;
&lt;br /&gt;
* Линейный автомонтаж -- вместо линейного монтажа, это прямые эфиры и записи &amp;quot;телевизионным&amp;quot; способом (такой же прямой эфир, только в запись, потом можно подкорректировать).&lt;br /&gt;
&lt;br /&gt;
* Нелинейный автомонтаж -- вместо обычного нелинейного мотнажа. Элементы такой автоматики уже кое-где встречаются, достаточно вспомнить, какие ролики время от времени подкидывает вам Facebook и Google+. Здесь полагаться приходится имеющийся материал, не всегда есть сведения о его синхронизации (многокамерную съёмку можно синхронизировать по звуку и по движениям в кадре), но для нелинейного монтажа обычно важнее сделать ролик с самым важным из имеющегося материала, а не собрать хронологически выстроенные записи и переключать планы, как в многокамерной телевизионной съёмке. Здесь есть время подумать, но и задачи более творческие.&lt;br /&gt;
&lt;br /&gt;
Одной технологией пользоваться невозможно, поэтому важно &amp;quot;завернуть&amp;quot; алгоритмы в продукт. И здесь есть хороший шанс выйти на благодатную почву, т.к. этот (как и многие соседние в этом списке предлагаемых проектов) проект разрабатывается для уже действующего и постоянно развивающегося сервиса интернет-трансляций.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9_%D1%80%D0%B5%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B8%D0%BC%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25420</id>
		<title>Разработка модулей ретрансляции видеопотоков на стриминговые платформы (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9_%D1%80%D0%B5%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B8%D0%BC%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25420"/>
		<updated>2017-10-19T19:20:48Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка модулей ретрансляции видеопотоков на стриминговые платформы&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Потоковое вещание с 2016 года поддерживается практически всеми соцсетями, это модная тема и эффективное средство продвижения контента. Есть различные сервисы и приложения (как от самих сетей, так и сторонние), обеспечивающие вещание как в отдельные сети, так и в несколько одновременно. Для одного из таких сервисов (On-Air.Pro) требуется разработка связки с API соцсетей и сетей доставки контента. Это отдельные фрагменты кода, они должны пройти соответствующие тесты, далее они включаются в основной проект. Список сетей и конкретные задачи определяются на момент согласования темы, т.к. проект живой и развивается безотносительно участия студентов. В качестве примера можно привести Youtube streaming API -- новая версия вышла весной 2017 года, потребуется реализовать новые возможности.&lt;br /&gt;
&lt;br /&gt;
Разработка на Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Потоковое вещание с 2016 года поддерживается практически всеми соцсетями, это модная тема и эффективное средство продвижения контента. Есть различные сервисы и приложения (как от самих сетей, так и сторонние), обеспечивающие вещание как в отдельные сети, так и в несколько одновременно. Для одного из таких сервисов (On-Air.Pro) требуется разработка связки с API соцсетей и сетей доставки контента. Это отдельные фрагменты кода, они должны пройти соответствующие тесты, далее они включаются в основной проект. &lt;br /&gt;
Список сетей и конкретные задачи определяются на момент согласования темы, т.к. проект живой и развивается безотносительно участия студентов.&lt;br /&gt;
В качестве примера можно привести Youtube streaming API -- новая версия вышла весной 2017 года, потребуется реализовать новые возможности.&lt;br /&gt;
&lt;br /&gt;
Разработка на Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Навыки программирования под веб (если вы планируете изучить Ruby on Rails по ходу работы, то ещё и способность быстро обучаться).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* REST API сторонних сервисов, &lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails,&lt;br /&gt;
&lt;br /&gt;
* Разработка по тестам&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Модули для интеграции с внешними сетями -- часть большого проекта, одной из ключевых возможностей которого является стриминг соцсети и планируется более плотное взаимодействие с ними. Здесь важнейшую роль играет интеграция через API и решение задач, возникающих при этом, а возможно, и, порой, обход ограничений (парсингом страниц, например). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
На ярмарке проектов данная тема явно не выделена, но входит в этот проект: https://pf.hse.ru/208012056.html.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%22ONVIF_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%22_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25419</id>
		<title>Разработка мобильного приложения &quot;ONVIF камера&quot; (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%22ONVIF_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%22_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25419"/>
		<updated>2017-10-19T19:20:32Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка мобильного приложения &amp;quot;ONVIF камера&amp;quot;&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Любопытная особенность камер видеонаблюдения, которую призвано имитировать разрабатываемое приложение, -- это то, что они полностью контролируются дистанционно по стандартному протоколу. Если вы когда-нибудь снимали на обычные бытовые камеры, то знаете, что к чему их ни подключи, а настроить параметры изображения можно только с самой камеры, запустить запись -- тоже. И только в телевизионных комплексах оператор камеру направляет, а остальное настраивается со специального пульта, и это позволяет при съёмке с нескольких камер получать одинаковые параметры изображения (по цвету, свету, параметрам сигнала). Мобильный телефон уже давно стал устройством для стриминга, но стриминга &amp;quot;сырого&amp;quot; видео и обычно сразу к зрителю. От этого любительские трансляции в ВК и Фейсбуке выглядят хуже, чем любительское VHS в 90х: ни монтажа, ни смены планов.&lt;br /&gt;
&lt;br /&gt;
Существует множество мобильных приложений для видеостриминга, но требуется специфическая разработка, которая превратит для внешнего наблюдателя обычный смартфон или планшет в камеру видеонаблюдения с присущими ей возможностями: поддержкой стандарта ONVIF (управление потоками, параметрами изображения и тд), формированием как минимум двух потоков RTSP со звуком AAC, веб-интерфейсом управления.&lt;br /&gt;
&lt;br /&gt;
Таким образом, любой совместимый смартфон или планшет станет полноценным источником видеопотока для потокового микшера (например, VMix. Или для того, что разрабатывается в одном из соседних проектов). При использовании VPN можно использовать потоки от устройств, находящихся в любой точке мира, подключенной к интернет.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Разработка мобильного приложения (если ещё нет такого опыта). По умолчанию -- Android, если есть желающие работать под IOS, это тоже хорошо, проекты могут идти параллельно.&lt;br /&gt;
&lt;br /&gt;
* Работа с камерой мобильного устройства для формирования RTSP потоков.&lt;br /&gt;
&lt;br /&gt;
* Разработка ONVIF-совместимого ПО (используется всей инфраструктурой систем видеонаблюдения).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Навыки или желание освоить разработку мобильных приложений.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* JAVA (для Android)&lt;br /&gt;
&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* RTSP сервер&lt;br /&gt;
&lt;br /&gt;
* OpenVPN (опционально)&lt;br /&gt;
&lt;br /&gt;
* Web-сервер для создания простого веб-интерфейса (опционально)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. ONVIF, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Существует программный видеомикшер VMix и он поддерживает проприетарный и относительно молодой протокол NDI, через который по сети можно легко передавать потоки с компьютера и даже с мобильника. Но они используют потоки в десятки мегабит/с и совместимых устройств (камер, например) единицы и цены на них -- &amp;quot;телевизионные&amp;quot;. В нашем случае строится связка из мобильного приложения, микшера, сервиса стриминга в соцсети и CDN, при этом, рассчитанная на работу с доступными каналами связи (1-8 вместо 40 мбит/с). Проект имеет смысл и развитие и безотносительно самодельных микшеров, т.к. RTSP-камера может использоваться в программных микшерах (в том же Vmix).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_RTSP/RTMP_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25418</id>
		<title>Разработка микшера видеопотоков RTSP/RTMP (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_RTSP/RTMP_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25418"/>
		<updated>2017-10-19T19:20:21Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка микшера видеопотоков RTSP/RTMP&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Все, наверное, видели, как в телевизионной аппаратной режиссер эфира сидит за пультом,смотрит в стену с мониторами и жмет кнопки. И рядом сидят его коллеги и тоже что-то напряженно делают. Прямой эфир -- это всегда напряжение и ответственность, для его проведения требуются опыт и квалификация. А ещё -- дорогостоящее оборудование и провода до камер (или спутниковые каналы связи). Так было и так есть сейчас. Наша задача -- перенести возможности профессионального телевидения в реальность, где нет таких бюджетов, зато есть доступная цифровая техника, интернет и уже существуют все необходимые компоненты, чтобы сделать телевизионную аппаратную в облаке, а управлять ею с обычного компьютера. Тогда вы уже не привязаны к месту съёмки, перед вами мощности всех датацентров мира за очень разумные деньги, вы решаете задачи, для которых классическому телевидению пришлось бы задействовать массу дорогостоящих ресурсов. &lt;br /&gt;
&lt;br /&gt;
Ключом к успеху здесь является быстрая доставка видеопотоков через интернет (а не сигналов по проводам)от камер к &amp;quot;микшеру&amp;quot; и оттуда -- к режиссеру. Задержки всё портят. Другое отличие -- камеры мы будем использовать тоже необычные. Точнее, самые обычные,но не телевизионные и не бытовые, а камеры видеонаблюдения. &lt;br /&gt;
&lt;br /&gt;
В итоге мы получаем сервис, который принимает потоки от различных источников, переключает их (а также накладывает титры, переходы, делает мультиэкранное изображение и тд), взаимодействует с камерами и так далее. Степень погружения в возможности зависит от вашей продуктивности, в простейшем случае это переключатель потоков RTSP, отдающий итоговый поток RTSP и мультиэкранное изображение с подсветкой выбранного источника. &lt;br /&gt;
&lt;br /&gt;
Проект групповой, движок видеомикшера есть, техника и специально под эти задачи построенная VPN тоже есть. Потребуется его интеграция в рабочий процесс на удаленном сервере, real-time отображение потоков режиссеру, создание отзывчивого фронтенда.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Любопытно, но прямых аналогов нет. Движки, причем, функционально богатые, есть, а в явном виде облачный микшер видеопотоков не предлагают. Есть шанс сделать &amp;quot;скайп&amp;quot; для многокамерной съёмки/трансляции. Кто не помнит, скайп в своё время сделал видеосвязь обыденным делом, до него требовалось много приготовлений.&lt;br /&gt;
Работа связана с движком на базе gstreamer -- само по себе познавательное дело, т.к. применимость gstreamer&#039;а не ограничивается сведением потоков. &lt;br /&gt;
Помимо этого, здесь предстоит столкнуться с двумя проявлениями отзывчивости: минимизацией задержки видеопотоков (сам по себе RTSP передается почти мгновенно, но как его показать без задержки?) и созданием отзывчивого пользовательского интерфейса. Разумеется, первые версии могут быть аскетичными по возможностям, но отзывчивость будет важна.&lt;br /&gt;
В зависимости от комплектации группы, будет разрабатываться больше или меньше возможностей. Например, полезный в этой области навык -- управление камерами (ONVIF). Есть смежные проекты, где эта тема получает развитие в трекинг человека или, коррекцию параметров изображения, в имитацию работы оператора (плавные движения, правильная композиция кадра).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В любом случае понадобятся навыки программирования (будь то веб-разработка или работа с движком GStreamer/Snowmix), работы с Linux (потому что виртуалка в сети). Остальное -- специфика, с которой можно познакомиться по ходу проекта. Веб-часть на Ruby on Rails -- для унификации с базовым проектом. &lt;br /&gt;
&lt;br /&gt;
Ожидается, что разработчики умеют пользоваться поисковыми системами и stackoverflow. Руководитель может консультировать вас по предметной области (видео/тв), но не по программной разработке. &lt;br /&gt;
&lt;br /&gt;
Разработка обычно имеет недельный цикл трекинга, встречи (как индивидуальные, так и групповые) по умолчанию -- по видеосвязи, но порой надо и очно (на факультете). Необходимые технические и серверные ресурсы предоставляются.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Gstreamer и с ним Snowmix/Voctomix, возможно -- ffmpeg&lt;br /&gt;
&lt;br /&gt;
* Виртуальные машины linux, nginx и сопутствующие инструменты&lt;br /&gt;
&lt;br /&gt;
* Быстрая доставка потоков режиссеру -- возможно, WebRTC, но это не догма.&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails (для унификации) и необходимые средства для UI (например, meteor, это ещё нужно обоснованно решить).&lt;br /&gt;
&lt;br /&gt;
* Опционально: ONVIF для управления камерами (переход по предустановленным позициям)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Как микшер -- ядро телестудии, так и потоковый микшер связывает несколько разработок в мощный набор инструментов для организации полного цикла производства медиаконтента практически без капитальных вложений (не нужна закупка дорогостоящего оборудования, используется сервисная модель и облачные серверы).&lt;br /&gt;
Сам видеомикшер имеет два основных пути развития: как движок для непритязательных (выполняет монтажные функции, но не имеет выраженного &amp;quot;микшерного&amp;quot; интерфейсы, и как полноценный видеомикшер со всеми инструментами профессионального назначения. Этот проект может развиваться долго и стать стандартом де-факто для режиссеров потоковых эфиров. В такого рода проектах есть богатое поле для автоматизации и интеллектуализации рабочих процессов, есть множество рутинных процедур, которые могут быть сняты с человека, вплоть до разработки &amp;quot;автопилота&amp;quot; эфира (про это есть отдельный проект).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25417</id>
		<title>Разработка матрицы видеопотоков (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25417"/>
		<updated>2017-10-19T19:20:04Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка матрицы видеопотоков&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Матрица -- это узел, куда в телевизионном центре сходятся все сигналы и оттуда распределяются по потребителям. Технически это коробка с N входами и M выходами. И каждый выход m может быть сопоставлен входу n, при этом, на один вход может быть скоммутировано сколько угодно выходов. Ко входам подключаются камеры, выходы пультов, спутниковые приёмники с сигналами от выездных студий и внешних источников, а выходы подаются на пульты, рекордеры и эфирные кодеры. В нашем случае коммутироваться будут не сигналы в проводах, а потоки в сети. Представьте здания Вышки, в каждом по несколько оборудованных видеокамерами залов. В итоге по сети мы получаем множество потоков, но одновременно нужны далеко не все. И для режиссера эфира удобно иметь перед глазами только нужные камеры. Микшер подключен, например, к выходам 1-8 матрицы, а эти выходы коммутируются на нужные входы. Выходы матрицы также могут отдавать потоки на телевизионные панели в зданиях, сетевые рекордеры (такая тема тоже есть по соседству) и т.д.&lt;br /&gt;
&lt;br /&gt;
Этот проект в минимальном виде за час собирается &amp;quot;на коленке&amp;quot; -- связка из двух VLC образует цепочку &amp;quot;переключатель/выход&amp;quot;, где на переключателе указывается адрес входного потока, а выходной поток формируется вторым vlc (он является сервером RTSP. Количество таких пар определяет количество выходов, а входы -- это любые адреса потоков. Важно, что если к одной камере напрямую подключится много зрителей, то она не справится -- она является сервером, но не предназначена для массового доступа. Матрица выполняет роль прокси.&lt;br /&gt;
&lt;br /&gt;
Технически это сервис на виртуальной машине. Он не должен перекодировать видео, только пересылать его. Зато матрице позволительно делать подрыв при переключении (это как при переключении каналов на телевизоре -- на время звук и картинка пропадают, потом появляется новый канал). Внешне это веб-интерфейс, представляющий собой минимально админ-панель, где вводятся адреса и имена источников и выходов, а в полной версии -- есть предпросмотр для всех входов и выходов. Сервис должен быть многопользовательским с возможностью делегировать доступ, группировать каналы и т.д.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
1. Работа с linux-серверами.&lt;br /&gt;
&lt;br /&gt;
2. Поближе познакомитесь с сетями. Unicast/Multicast, TCP/UDP -- все это станет роднее и понятнее. VPN, куда же без него.&lt;br /&gt;
&lt;br /&gt;
3. Манипуляции с медиапотоками в сети. Придется разобраться в RTSP серверах (в простейшем случае это многим знакомый VLC)&lt;br /&gt;
&lt;br /&gt;
4. Разработка пользовательского интерфейса (личный кабинет с настройками, групповой доступ, отображение предпросмотра с минимизацией трафика) -- здесь достаточно ruby on rails (для совместимости поддержки с соседними проектами) и верстки bootstrap.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Такой работающий сервис позволяет собрать воедино множество источников и легко формировать индивидуальные управляемые программы на выходах. Так, например, можно легко сделать масштабируемое университетское ТВ: каждый телевизор в коридоре подключается к декодеру (это небольшая коробочка), настроенному на индивидуальный номер в матрице. Все остальное управление производится на матрице.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки программирования (рельсы можно изучить. После Python вы не будете очень страдать).&lt;br /&gt;
&lt;br /&gt;
* Ожидается, что разработчики умеют пользоваться поисковыми системами и stackoverflow. Руководитель может консультировать вас по предметной области (видео/тв), но не по программной разработке.&lt;br /&gt;
&lt;br /&gt;
* Разработка обычно имеет недельный цикл трекинга, встречи (как индивидуальные, так и групповые) по умолчанию -- по видеосвязи, но порой надо и очно (на факультете). Необходимые технические и серверные ресурсы предоставляются.&lt;br /&gt;
&lt;br /&gt;
Специфику предметной области (видеопотоки, устройства и тд) у вас будет возможность изучить по ходу проекта.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* RTSP потоки и RTSP сервер -- протокол передачи видео в реальном времени, широко используется в системах IPTV и видеонаблюдения. В быту RTSP сервер легко сделать из VLC, но есть и другие варианты (FFSERVER, Live555 и т.д.). &lt;br /&gt;
&lt;br /&gt;
* ONVIF -- стандарт управления для систем видеонаблюдения. Очень пригодится для обнаружения источников в сети и адресов потоков в этих источниках. Также, полезно сделать управление матрицей совместимым со стандартами управления прочим видеооборудованием.&lt;br /&gt;
&lt;br /&gt;
* REST API -- не технология, но очевидно, что программное взаимодействие с матрицей будет необходимо, в частности, для автоматизации вещания (расписание -- это уже тема отдельного проекта)&lt;br /&gt;
&lt;br /&gt;
* OAuth -- общее требование по аутентификации пользователей. Встречается повсеместно, освоить всегда полезно. &lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails -- веб-разработка крайне желательная на этой связке. &lt;br /&gt;
&lt;br /&gt;
* FFMPEG/GStreamer -- на случай необходимости все-таки обработать поток. Например, чтобы сгенерировать превью или сделать транскодирование в RTSP или в нужный формат (если такое указано для данного канала).&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Матрица -- вполне самодостаточный продукт для определенной инфраструктуры. Обычно медиа-производства в таком технологическом ключе не мыслят, но в совокупности с другими проектами (потоковый видеомикшер, съёмочный комплекс на IP-потоках, автотрекинг человека PTZ камерами и т.д.) образуется полноценная инфраструктура, позволяющая решать масштабные задачи, причём, изначально -- распределенно.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25416</id>
		<title>Разработка динамической сети доставки потокового видеоконтента (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25416"/>
		<updated>2017-10-19T19:19:51Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка динамической сети доставки потокового видеоконтента&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Видеотрансляции в интернет стали совсем обычным делом с тех пор, как ими вплотную занялись Youtube и, позже, соцсети. До них раздача видеопотоков зрителям решалась или своими силами, или через сети доставки контента (CDN). Суть задачи в том, что, в отличие от телевидения, которое посылает один сигнал всем, а смотрят его те, кто хотят, в интернет работает только метод передачи данных от точки к точке (unicast), что для сервера трансляций оборачивается необходимостью каждому зрителю индивидуально отправить поток. Тот же самый, что другому зрителю, в то же время, но отправить персонально. В итоге нагрузка на канал связи растет пропорционально аудитории трансляции. И задерживать такой поток нельзя.&lt;br /&gt;
&lt;br /&gt;
Решается это созданием сети серверов, между которыми распределяется нагрузка по трафику. Суть данного проекта заключается в создании такой сети серверов не в собственном датацентре, а на виртуальных машинах и в управлении созданием и отключением этих машин, в распределении потоков между ними.&lt;br /&gt;
&lt;br /&gt;
Для эффективной работы CDN требуется диагностика и мониторинг каналов связи на серверах, ресурсов самих серверов -- это отдельная подтема в проекте.&lt;br /&gt;
&lt;br /&gt;
Вторая часть проекта -- это frontend. Если при трансляции через Youtube зритель видит плеер Youtube, то при трансляции через собственный CDN зрителю надо показать какой-то свой плеер. А может быть и не только плеер. Есть множество &amp;quot;фич&amp;quot;, которые становится возможным реализовать, если вести раздачу потоков через свои ресурсы: обратная связь, учет зрительской активности, взимание платы за трансляции, учет географии и других данных о пользователе, многопоточный звук для трансляции многоязычных конференций, субтитры (у нас есть распознавание голоса в текст). Можно организовать чат, голосования и даже принимать от зрителей видеопотоки, звук и файлы через WebRTC. Разумеется, здесь задачи будут выбираться исходя из состава и готовности проектной группы.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Проект в первую очередь -- сетевой, в чистом виде -- облачный. Это разработка распределенной системы, динамически меняющейся в зависимости от нагрузки. Более того, практика показывает, что нельзя привязываться к одному провайдеру услуг: там тоже бывают перебои. В результате разработки CDN должна иметь REST API и хотя бы минимальную админ-панель, для зрителей должен предлагаться плеер (как минимум -- HLS) и страница для просмотра.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
CDN -- это серверная разработка под Linux. Язык жестко не регламентирован, попытки что-то сделать уже предпринимались на Java. Веб-разработка -- основной проект написан на Ruby on Rails, желательно не вносить разнообразие языков, но это не блокирующее требование. Плеер -- если беретесь за плеер, то хорошо бы иметь хоть какой-то опыт общения с ними. Задача может оказаться сложнее, чем кажется на первый взгляд.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
Облачные серверы запускаются с использованием API соответствующего провайдера. Некоторые провайдеры используют OpenStack, но это (на практике) не решает проблем унификации работы. Сетевой мониторинг -- само по себе важное направление в инфраструктуре ИТ. Конкретные инструменты предстоит выбрать. Плеер и фронтенд -- есть смелая идея раздавать поток через WebRTC (а это пиринговая технология, то есть, на стороне серверов будет о чем подумать), через него же собирать обратную связь. Но это отдельная часть проекта, для смелых веб-разработчиков, причем, ее можно реализовывать независимо от успехов в CDN (можем запустить в действующем проекте). Однозначно можно сказать, что Flash использовать нельзя, но при этом доставить на все платформы поток в едином виде можно лишь http-based протоколами (HLS, например), а у них есть свои недостатки -- большая задержка, от которой теряется смысл в обратной связи реального времени. Поэтому нужно предусматривать запасные протоколы: WebRTC - RTMP - HLS. Это в порядке увеличения задержки.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
CDN для трансляций можно рассматривать как модуль для сервиса видеовещания, а можно и как самостоятельную платформу, работающую поверх облачных хостингов виртуальных машин. Но вывести такой продукт в самостоятельный статус, обеспечить необходимые функционал и стабильность -- это задача для настойчивых.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq Обратите внимание, что проект составной и то, какие части пойдут в работу, мы поймём, когда сформируется состав рабочей группы. То есть, отсутствие в итоге какой-то из частей, не блокирующей работу (например, WebRTC не запустили, но HLS плеер есть -- его поставить недолго) никак не снижает оценки проделанной работы по тем частям проекта, которые выполнены. Участники проекта имеют свою область ответственности и оценки получают в соответствии с успехами в этих областях.&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D0%B0_%D0%B4%D0%BB%D1%8F_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25415</id>
		<title>Разработка веб-сервиса файлового менеджера для GoogleDrive (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D0%B0_%D0%B4%D0%BB%D1%8F_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25415"/>
		<updated>2017-10-19T19:19:34Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка веб-сервиса файлового менеджера для GoogleDrive&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Не все знают, но у корпоративных и академических аккаунтов Google безлимитные хранилища в GoogleDrive. При этом, скорость обмена с сервером достаточная, чтобы хранить там медиаархивы. Это радикально меняет подход к хранению данных видеопроизводств, к видеорегистрации и многим другим &amp;quot;тяжеловесным&amp;quot; задачам. Проект нацелен на создание медиаархива на базе хранилища GoogleDrive. От стандартной веб-оболочки медиаархив отличают две важные особенности:&lt;br /&gt;
&lt;br /&gt;
1. Представление данных в том виде, в каком это удобно для выборки, шаринга, выгрузки и т.д&lt;br /&gt;
&lt;br /&gt;
2. Дополнение имеющихся метаданных информацией, получаемой от файловой системы и при анализе контента.&lt;br /&gt;
&lt;br /&gt;
В данном проекте решается первая задача (вторая решается в соседнем проекте). Для этого уже написан веб-интерфейс файлового менеджера (MeteorJS, используется MongoDB). По сути, требуется доработка проекта.&lt;br /&gt;
&lt;br /&gt;
При этом, важные требования: через серверы проекта медиа-трафик не проходит. То есть, загружается только метаинформация. Про метаданные файлов есть важное замечание: данных может быть довольно много, они даже могут быть относительно объёмными. Поэтому хранить их в полях метаданных, предоставляемых GoogleDrive не получится (кроме базовых сведений о файле -- это можно). Также, следует экономно относиться к запросам к серверу, т.к. на них есть ограничение для публичного сервиса оно вполне достижимое.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Разработка веб-приложения с отзывчивым интерфейсом&lt;br /&gt;
&lt;br /&gt;
* Глубокое взаимодействие с API GoogleDrive&lt;br /&gt;
&lt;br /&gt;
На выходе открытый продукт -- альтернативный файловый менеджер для GoogleDrive, размещённый в ChromeMarket.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки веб-разработки или желание её изучить.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Meteor / MongoDB&lt;br /&gt;
* GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Файлменеджер для GoogleDrive -- это &amp;quot;витрина&amp;quot; большого проекта, включающего анализатор файлов на облачном диске пользователя, сервис по продаже безлимитных аккаунтов, сервис персонализации контента (вотермаркинг) и даже CDN (сеть доставки контента, в данном случае -- статического, например, для часто запрашиваемых медиаматериалов).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BD%D0%B5%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25414</id>
		<title>Разработка веб-сервиса нелинейного видеоредактора (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BD%D0%B5%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25414"/>
		<updated>2017-10-19T19:19:14Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка веб-сервиса нелинейного видеоредактора&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=&lt;br /&gt;
|number_of_students=&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Существует уже много веб-сервисов и мобильных приложений для редактирования фото и видео. Как обычно, чтобы ими воспользоваться, нужно в них загрузить свои файлы. А если файлы уже лежат в облаке, при этом, важно быстро внести требуемые изменения, то это неудобно. Чаще всего требуется подрезка, наложение титров или графики, склейка фрагментов. Эти операции могут выполняться из командной строки, если знать требуемые параметры (например, при помощи ffmpeg).&lt;br /&gt;
&lt;br /&gt;
Задача в этом проекте разделена на два уровня сложности:&lt;br /&gt;
&lt;br /&gt;
1. Сделать простой видеоредактор для выполнения основных операций: отрезать, приклеить, наложить, преобразовать в нужный размер/формат. При этом, в качестве источника должны приниматься файлы на GoogleDrive, WebDAV и FTP. Работа с файлами должна строиться путём отбора нужных материалов из архива с дальнейшей выгрузкой их на сервер (или открытием непосредственно с GoogleDrive) с последующей записью результата по любому указанному пути или выгрузкой пользователю.&lt;br /&gt;
&lt;br /&gt;
2. Построить полноценный нелинейный редактор на основе существующего движка (например [https://www.mltframework.org/features/&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Либо писать свой интерфейс для несложного видеоредактора (даже для несложного придется потрудиться), либо работать с фреймворком видеоредактора и тоже строить отзывчивый пользовательский интерфейс.&lt;br /&gt;
&lt;br /&gt;
Взаимодействовать с облачными хранилищами, API GoogleDrive, использовать OAuth и т.д.&lt;br /&gt;
&lt;br /&gt;
Строить сервисы с распределением нагрузки по виртуальным машинам.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Не бояться разбираться в фреймворках и api. Хотеть довести продукт до рабочего состояния.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Фреймворк NLE-редактора&lt;br /&gt;
&lt;br /&gt;
* GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
* Собственный REST API&lt;br /&gt;
&lt;br /&gt;
* Отзывчивый UI (JS-based)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Очевидное развитие проекта: интеграция в связанные по смыслу сервисы (облачный медиаархив, сервис трансляций) и автоматизация нелинейного монтажа (программа, осуществляющая автомонтаж по готовым материалам имеет существенно больше возможностей подумать, чем аналогичная программа, работающая в прямом эфире. Зато у неё может быть меньше данных о синхронизации материалов).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2,_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D1%8B%D1%85_%D0%B2_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25413</id>
		<title>Разработка анализатора файлов, хранимых в GoogleDrive (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2,_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D1%8B%D1%85_%D0%B2_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25413"/>
		<updated>2017-10-19T19:18:58Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка анализатора файлов, хранимых в GoogleDrive&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
В соседнем проекте предлагается разработка файлового менеджера для медиаархивов, расположенных в GoogleDrive (корпоративные и академические аккаунты имеют безлимитные хранилища, что при хорошей скорости доступа позволяет включать их в работу там, где раньше использовались серверы хранения).&lt;br /&gt;
&lt;br /&gt;
Рабочий процесс при работе с медиаархивом на диске Google выглядит следующим образом:&lt;br /&gt;
&lt;br /&gt;
1. Для обмена данными с GoogleDrive используются альтернативные приложения, например, WebDrive, позволяющий подключать облачный аккаунт как логический диск в Windows/Mac.&lt;br /&gt;
&lt;br /&gt;
2. Файлы отображаются в виртуальной файловой системе WebDrive и в веб-интерфейсе GoogleDrive в иерархическом виде, доступны все стандартные действия.&lt;br /&gt;
&lt;br /&gt;
3. Веб-файлменеджер медиаархива показывает ту же структуру файлов, но может формировать другие представления, основываясь на критериях отбора, делать смарт-папки, витрины и давать задания на обработку (например, персонализированную маркировку файлов для отправки клиенту, чтобы было не повадно класть их на видном месте). И здесь возникает первая проблема недостатка метаинформации: про файлы мы в лучшем случае знаем дату их изменения, и то -- не всегда. Если файл загружался через браузер или стандартным приложением Google, то на GoogleDrive запишется дата загрузки. Более детальной информации о многих файлах получить не удастся: если для фотографий доступны данные EXIF (метаданные, которые записывают фотокамеры и фоторедакторы), то про видео известна самая малость: длина, размер кадра, формат. Даже размер файла точно неизвестен. Правда, про все файлы мы можем узнать MD5 -- это пригодится для поиска дубликатов. Недостающие данные можно было бы легко получить на стороне пользователя (про видеофайлы нам всё расскажет FFPROBE, про даты, пути, пользователя и т.д. -- файловая и операционная система через стандартные вызовы. Но у пользователя мы ничего не запускаем (хотя и можем ему предложить утилиту для отправки этой информации, которую потом будем считывать в базу уже с GoogleDrive) и выгружать на свой сервер терабайты ради этого было бы жаль, если не проводить более глубоких исследований файлов. Какие это могут быть исследования?&lt;br /&gt;
&lt;br /&gt;
Если на жестком диске лежат два вроде бы одинаковых файла, то мы можем:&lt;br /&gt;
&lt;br /&gt;
1. Сравнить их контрольные суммы, размеры и названия. Названия мало что значат, размеры тоже могут совпадать, MD5 совпадает редко. Но всё это бесполезно, если речь идет о об исходном файле и его сжатой копии.&lt;br /&gt;
&lt;br /&gt;
2. Здесь придется сравнивать содержимое. Например, вычесть изображения и посмотреть, что осталось в разнице. Если видео -- аналогично вычитать кадры (можно не все, хотя есть риск пропустить разницу). Надо ещё не забыть про звук и звуковые дорожки -- разница может быть в них. Всё это -- ресурсоёмкие операции, требующие наличия доступа к обоим сравниваемым файлам.&lt;br /&gt;
&lt;br /&gt;
3. А если файлы большие, их очень много и расположены на удаленном сервере? В таком случае придётся строить индекс и сравнивать не сами файлы, а описания файлов. Назовём их сигнатурами. Простой вариант -- построить гистаграммы (это 3 набора из 256 значений) для каждого кадра видео. Оригинал это или сжатая копия -- распределение яркостей по цветовым каналам должно быть примерно одинаковым. Можно попробовать более изощрённые методы, и даже в этом результирующие значения можно записать более экономно, чем 256 уровней *3 канала *2 байта * количество кадров. В любом случае, операции с данными раскладываются на два этапа: а) сбор метаданных, включая сигнатуры, какими бы они ни были, б) сравнение сигнатур.&lt;br /&gt;
&lt;br /&gt;
Поскольку разрабатываемый сервис является сторонним и для Google и для пользовательского рабочего места приложением, запущен на виртуальных машинах в облаке, то для выполнения этих задач ему понадобится&lt;br /&gt;
&lt;br /&gt;
* выгрузить последовательно все файлы с указанного пользовательского аккаунта к себе и провести все необходимые операции для анализа.&lt;br /&gt;
* отправить собранные метаданные в базу данных файлового менеджера.&lt;br /&gt;
&lt;br /&gt;
Предстоит определить список операций и характеристик файлов, для которых составляются сигнатуры. Например, поиск дубликатов (включае нечеткие), определение частей целого (сопоставление файлов, содержащих исходную запись и нарезки из неё), поиск материалов по их характеристикам (динамичное видео, темные фотографии, ..... Кстати, здесь могут быть актуальны и запросы &amp;quot;размытые фотографии&amp;quot;, &amp;quot;портреты&amp;quot; и тд).&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
В зависимости от роли:&lt;br /&gt;
&lt;br /&gt;
* Анализировать фото, видео, аудио контент с целью составления метаописаний, по которым можно сравнивать эти материалы между собой и с новыми файлами, а также определять определенные их характеристики.&lt;br /&gt;
&lt;br /&gt;
* Работать с GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
* Создавать веб-сервисы с REST API&lt;br /&gt;
&lt;br /&gt;
* Организовывать очередь запросов и распределение задач по воркерам на виртуальных машинах с (это опционально) запуском этих машин по мере надобности (через API провайдера).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от роли в проекте:&lt;br /&gt;
&lt;br /&gt;
1. Программирование веб-сервисров: опыт или желание освоить.&lt;br /&gt;
&lt;br /&gt;
2. Анализ изображений. Хотя бы представление о том, как и чем это делается.&lt;br /&gt;
&lt;br /&gt;
3. Linux и bash, чтобы не удивляться при работе с виртуалками.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* GoogleDrive API, OAuth.&lt;br /&gt;
&lt;br /&gt;
* Анализ изображений, видео, звука. От FFPROBE/ImageMagick до OpenCV и далее -- на сколько хватит фантазии.&lt;br /&gt;
&lt;br /&gt;
* Работа с виртуальными серверами на хостинг-провайдерах (API)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Веб-интерфейс в таком сервисе не является необходимой частью, но может использоваться для демонстрации возможностей. Основное взаимодействие с внешним миром -- REST API.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Этот проект довольно узкоспецифический, но по сути анализ медиаматериалов -- это то, чем занимаются поисковые системы, которые в выдаче картинок предлагают в настройках разные опции (в определенной цветовой гамме и тд). Они идут дальше и всерьез применяют распознавание и ML. Нам это тоже не повредит, но это следующий этап после запуска базовых возможностей. Ничто не мешает его начать делать уже сейчас.&lt;br /&gt;
&lt;br /&gt;
Близкий проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208039048.html&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_WebRTC_%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25412</id>
		<title>Интеграция WebRTC в сервис потокового вещания для отображения потоков в реальном времени (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_WebRTC_%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25412"/>
		<updated>2017-10-19T19:18:14Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Интеграция WebRTC в сервис потокового вещания для отображения потоков в реальном времени&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Небольшая и совершенно конкретная тема, входящая в несколько соседних проектов в качестве подпроекта: есть задачи, в которых требуется получать видео из потока RAW/RTSP в реальном времени (или близком к реальному). Когда речь идёт о видеосистемах, там есть протоколы, которые с этим справляются (RTP, RTSP), но браузеры не умеют показывать RTP/RTSP. Зато некоторые браузеры (этого достаточно) умеют показывать WebRTC. В этой задаче нет новизны, она ориентирована на внедрение конкретного технического решения и отладку шероховатостей, возникающих в реальной жизни с реальными потоками.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Работа с видеопотоками в сети, доставка видео в реальном времени&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки веб-программирования, желательно Ruby on Rails (для прототипа можно использовать любой язык).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* WebRTC (сервер Kurento или другой -- на выбор исполнителя)&lt;br /&gt;
* Ruby on Rails&lt;br /&gt;
* JavaScript&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией.&lt;br /&gt;
&lt;br /&gt;
Это проект одной технологии, причём, применяться она может в обе стороны: как для доставки видеопотоков зрителю, так и для получения от него потока с камеры и с рабочего стола. Может применяться и для передачи файлов. Всё это имеет применение в видеотрансляциях, даже массовых. В настоящее время включение в эфир &amp;quot;звонка зрителя&amp;quot; выполняется или отдельным сервисом (Skype, например), или средствами программного видеомикшера (&amp;quot;звонящий&amp;quot; переходит по ссылке, рабочий стол показать при этом нельзя). Реализация полноценной обратной связи -- это полноценный проект, построенный на той же технологии WebRTC со связкой с потоковым микшером. Это важный элемент для создания видеокомплекса в облаке, действующего в реальном времени (то есть, с полноценной поддержкой режиссируемого общения участников)&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B8_%D0%B2_%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC_%D1%8D%D1%84%D0%B8%D1%80%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25411</id>
		<title>Автоматизация видеосъёмки в прямом эфире (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B8_%D0%B2_%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC_%D1%8D%D1%84%D0%B8%D1%80%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25411"/>
		<updated>2017-10-19T19:17:34Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Автоматизация видеосъёмки в прямом эфире&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
По потоку RTSP, получаемому от управляемой (PTZ) IP видеокамеры, нужно определять человека в кадре и посредством команд ONVIF управлять камерой, чтобы человек оставался в кадре. При этом, движения должны быть плавными (но настойчивыми, чтобы не терять цель), а композиция кадра должна быть выдержана по заданным правилам. Требуется обеспечить устойчивость к ситуациям, когда снимаемый человек отвернулся или сел за стол, наклонился, и т.д. При появлении новых людей в кадре следует удерживать фокус на первом. Результатом является а) сервис на виртуальной linux-машине, имеющий REST API для передачи адресов-паролей камер и потоков, а также возвращения контрольного потока со служебными метками, и б) автономно устанавливаемая его версия в виде службы в Windows.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Трекинг человека в кадре. Актуальная задача для многих применений. В данном случае &amp;quot;фишка&amp;quot; проекта -- в художественной съёмке. Здесь нет ничего гениального, просто следовать правилам, а правила опираются на знание, как расположена фигура человека в кадре и куда он смотрит или хотя бы повернул голову. Но, чтобы это смотрелось хорошо, нужно правильно управлять перемещением камеры, поэтому:&lt;br /&gt;
Управление камерой через ONVIF с плавным и одновременным изменением координат.&lt;br /&gt;
Следует учитывать, что работать придется без опорного изображения, полагаясь только на поток с камеры. То есть, выходящего за кадр актера придётся догонять, &amp;quot;отъезжать&amp;quot; и предпринимать все возможные действия, чтобы не потерять совсем. Желательно, чтобы при этом зрителей не укачало.&lt;br /&gt;
&lt;br /&gt;
Основной challenge проекта -- учесть возможные помехи (человек отвернулся или наклонился, сел за стол -- тогда полагаться на иные, чем только распознанное лицо, характеристики изобржаения, следить за контурами и т.д.), при этом, обеспечить движение, которое можно показывать в прямом эфире, не боясь, что камера будет дергаться или снимать &amp;quot;мимо&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Полезная возможность в контексте решаемой задачи -- автоматически брать заданный план (крупность человека в кадре).&lt;br /&gt;
&lt;br /&gt;
Сервис должен запускаться как на удаленном Linux-сервере, так и иметь локальную версию для Windows (в виде службы), при этом, взаимодействие с сервисом должно обеспечиваться через REST API и через веб-интерфейс. Помимо базовых команд (запуск, остановка автотрекинга, ручной выбор композиции и крупности плана), пользователь должен иметь возможность видеть обнаруженных программой людей (если их в кадре больше одного) и переключать фокус трекера на одного из них.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от роли в проекте:&lt;br /&gt;
&lt;br /&gt;
* Навыки работы с распознаванием лица и фигуры человека или, хотя бы, желание этому научиться и навыки программирования (С++ или Python - для работы с OpenCV)&lt;br /&gt;
* Программирование UI&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* OpenCV&lt;br /&gt;
* Потоковая передача RTSP&lt;br /&gt;
* ONVIF-управление PTZ-камерой&lt;br /&gt;
* REST API для интеграции с клиентами сервиса.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Все предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией. &lt;br /&gt;
При этом, тема автосъёмки применима как к автономным съёмочным комплексам, так и в формате сервиса совместно с VPN-подключением. &lt;br /&gt;
&lt;br /&gt;
Оператор телевизионной съёмки в большинстве случаев -- это привод к камере, который должен не терять объект из кадра и держать композицию согласно правилам. Это не относится к киносъёмке и различным творческим задачам, но подавляющее большинство материала на ТВ -- это говорящие головы. А в интернет-трансляциях -- и подавно (конференции, выступления и тд -- это просто видеорегистрация). Как говорили в IBM, &amp;quot;машина должна работать, а человек -- думать&amp;quot;. Вам предлагается перевести на автоматику ещё одну профессию, оставив человеку заниматься более творческими задачами.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов). &lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25406</id>
		<title>Автоматическая экспо- и цветокоррекция при съёмке IP камерами (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25406"/>
		<updated>2017-10-19T18:26:37Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Автоматическая экспо- и цветокоррекция при съёмке IP камерами&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Когда вы снимаете фото или видео, ваша камера автоматически подстраивается под условия освещения. Когда у нее это не получается, цвета в изображении искажаются (желтые фотографии в домашнем свете, синие в сумерках и т.д.). Это несложно настроить вручную, но теперь представим, что одновременно работает несколько камер. Здесь задача усложнаяется: нужно, чтобы цветопередача и экспозиция на всех камерах была одинаковой.&lt;br /&gt;
&lt;br /&gt;
Здесь нам пригодится опыт телевизионных съёмочных комплексов. На телевидении оператор не занимается настройкой параметров изображения и прочими техническими подробностями, его задача -- направить камеру. Даже фокус за него могут поправить его коллеги. Все параметры экспозиции и цветопередачи настраивают на специальном пульте.&lt;br /&gt;
&lt;br /&gt;
Если взять обычные камеры видеонаблюдения, то они тоже настраиваются дистанционно и у нас есть возможность менять все нужные параметры, посылая на камеры соответствующие команды.&lt;br /&gt;
&lt;br /&gt;
Задача этого проекта -- сделать программу для корректировки параметров камер как вручную, так и в полностью автоматическом режиме. Регулируемые параметры:&lt;br /&gt;
&lt;br /&gt;
1. Цветопередача (Cb/Cr) 2. Экспозиция (яркость, контрастность)&lt;br /&gt;
&lt;br /&gt;
Дополнительные возможности: 1. Мониторинг фокуса&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Программа должна иметь пользовательский интерфейс для ручной настройки и переключения режимов (отключения автоматики). Программа предназначена для работы как на пользовательском компьютере (Windows), так и на сервере Linux на виртуальной машине с доступом к камерам через VPN. Адрес получения потока и адрес управления камерой могут отличаться (при работе через матрицу потоков или иной прокси-сервер).&lt;br /&gt;
&lt;br /&gt;
Аналогичный проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208027466.html&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Управление камерами через ONVIF, включая автодетекцию камер в сети.&lt;br /&gt;
* Анализ визуальных характеристик изображений&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Владеть программированием, желательно иметь опыт общения с OpenCV.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* OpenCV&lt;br /&gt;
&lt;br /&gt;
* RTSP/MJPEG&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией. &lt;br /&gt;
&lt;br /&gt;
Тема является частью более общего проекта по созданию съёмочного комплекса -- как с ручным управлением, так и с разной степенью автоматизации; как локального, так и полностью распределенного. Одно из внедрений такого комплекса начинается на ФКН для записи и трансляции значимых событий.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в четыре группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25405</id>
		<title>Автоматическая экспо- и цветокоррекция при съёмке IP камерами (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=25405"/>
		<updated>2017-10-19T18:23:51Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Автоматическая экспо- и цветокоррекция при съёмке IP камерами&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Когда вы снимаете фото или видео, ваша камера автоматически подстраивается под условия освещения. Когда у нее это не получается, цвета в изображении искажаются (желтые фотографии в домашнем свете, синие в сумерках и т.д.). Это несложно настроить вручную, но теперь представим, что одновременно работает несколько камер. Здесь задача усложнаяется: нужно, чтобы цветопередача и экспозиция на всех камерах была одинаковой.&lt;br /&gt;
&lt;br /&gt;
Здесь нам пригодится опыт телевизионных съёмочных комплексов. На телевидении оператор не занимается настройкой параметров изображения и прочими техническими подробностями, его задача -- направить камеру. Даже фокус за него могут поправить его коллеги. Все параметры экспозиции и цветопередачи настраивают на специальном пульте.&lt;br /&gt;
&lt;br /&gt;
Если взять обычные камеры видеонаблюдения, то они тоже настраиваются дистанционно и у нас есть возможность менять все нужные параметры, посылая на камеры соответствующие команды.&lt;br /&gt;
&lt;br /&gt;
Задача этого проекта -- сделать программу для корректировки параметров камер как вручную, так и в полностью автоматическом режиме. Регулируемые параметры:&lt;br /&gt;
&lt;br /&gt;
1. Цветопередача (Cb/Cr) 2. Экспозиция (яркость, контрастность)&lt;br /&gt;
&lt;br /&gt;
Дополнительные возможности: 1. Мониторинг фокуса&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Программа должна иметь пользовательский интерфейс для ручной настройки и переключения режимов (отключения автоматики). Программа предназначена для работы как на пользовательском компьютере (Windows), так и на сервере Linux на виртуальной машине с доступом к камерам через VPN. Адрес получения потока и адрес управления камерой могут отличаться (при работе через матрицу потоков или иной прокси-сервер).&lt;br /&gt;
&lt;br /&gt;
Аналогичный проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208027466.html&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Управление камерами через ONVIF, включая автодетекцию камер в сети.&lt;br /&gt;
* Анализ визуальных характеристик изображений&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Владеть программированием, желательно иметь опыт общения с OpenCV.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* OpenCV&lt;br /&gt;
&lt;br /&gt;
* RTSP/MJPEG&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией. &lt;br /&gt;
&lt;br /&gt;
Тема является частью более общего проекта по созданию съёмочного комплекса -- как с ручным управлением, так и с разной степенью автоматизации; как локального, так и полностью распределенного. Одно из внедрений такого комплекса начинается на ФКН для записи и трансляции значимых событий.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
===Как записаться?===&lt;br /&gt;
&lt;br /&gt;
В общем доступе есть порядка двадцати проектов, относящихся к области видеотехнологий (стриминг, доставка потоков и т.д.). Чтобы всем было проще, эти проекты объединим в группы и при записи на проект выбирайте группу, а конкретный проект и вашу роль в нем мы обсудим уже в рабочем порядке. &lt;br /&gt;
&lt;br /&gt;
http://wiki.cs.hse.ru/images/thumb/f/f0/Projects.PNG/800px-Projects.PNG&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Projects.PNG&amp;diff=25404</id>
		<title>Файл:Projects.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Projects.PNG&amp;diff=25404"/>
		<updated>2017-10-19T18:16:34Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Проекты по группам&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Проекты по группам&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24378</id>
		<title>Разработка сети доставки статического контента (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24378"/>
		<updated>2017-09-20T19:39:13Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка сети доставки статического контента&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Статический CDN -- это распределение нагрузки для обеспечения доступа множества пользователей к файлам. Используется для нагруженных веб-ресурсов, чтобы все зрители, пришедшие смотреть новую серию популярного сериала, получили ее на достойной скорости и без падения сервера от перегрузки. Для этого используется распределенное хранение, балансировка между серверами и каналами связи.&lt;br /&gt;
&lt;br /&gt;
В данном проекте предлагается в качестве уже существующей распределенной среды хранения и передачи файлов использовать хранилище GoogleDrive, которое так удачно предлагает безлимитные аккаунты для корпоративных и академических доменов. Суть разработки состоит в решении задачи подстановки контента напрямую с серверов GoogleDrive, чтобы не пропускать трафик через серверы проекта.&lt;br /&gt;
&lt;br /&gt;
Второй вопрос для решения -- лимит на количество обращений к файлу на GoogleDrive. Решается он путём создания копии файла и подмены ссылки на новый файл.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Погружение в работу с GoogleDrive&lt;br /&gt;
&lt;br /&gt;
* Разработка UI/REST API&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки веб-разработки.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Это же немного хак. Есть &amp;quot;магический камень&amp;quot; (GoogleDrive), к нему нужен особый подход, чтобы использовать его не только как хотят авторы, но и немного иначе. Сколько ещё можно придумать интересных применений для этого ресурса -- жизнь покажет. Пока же туда успешно сохраняются записи трансляций с сервера (есть такой сервис on-air.pro), аккаунты используются для хранения многотерабайтных архивов медиаданных (очень удобно для ТВ и продакшенов) и т.д. Получится то, что в этом проекте описано, -- там же и хостинг для фото/видеогалерей и т.д.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_Video_on_Demand_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24377</id>
		<title>Разработка сервиса воспроизведения Video on Demand (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_Video_on_Demand_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24377"/>
		<updated>2017-09-20T19:24:40Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка сервиса воспроизведения Video on Demand&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Задача -- разработать сервис, который будет воспроизводить видеозаписи, хранящиеся на Google Drive или указанном WebDAV/FTP сервере по команде или по расписанию, и формировать из них поток RTSP/RTMP. К этому сервису нужен веб-интерфейс и REST API для автоматического взаимодействия. Помимо этого, он должен поддерживать управление через ONVIF, определяясь для остальных устройств как NVR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сервис нужен для следующих типовых задач:&lt;br /&gt;
&lt;br /&gt;
1. Воспроизведение в поток по расписанию заготовленных записей. Это нужно для публикации стримов в соцсети (если залить файл, то соцсеть это событие никак не продвигает, а если отправить стрим, то такой контент имеет приоритет для соцсети и его проще продвигать в массы.&lt;br /&gt;
&lt;br /&gt;
2. При воспроизведении по расписанию (по времени, по триггеру) совместно с потоковым микшером можно формировать канал постоянного вещания, переключая микшер на записи по плейлисту и запуская их. При этом хранение контента -- в облаке.&lt;br /&gt;
&lt;br /&gt;
3. При работе с облачным видеомикшером любые записи из архива могут быть включены в эфир.&lt;br /&gt;
&lt;br /&gt;
4. Дополнение к сервису видеозаписи потоков (вместе они образуют полноценный &amp;quot;магнитофон&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сервис предназначен для формирования видеопотока из видеозаписей. Хранение записей: GoogleDrive, работа по расписанию, по нажатию кнопки. Интерфейс загрузки, каталог пользовательских записей, представление на таймлайне и в календаре (API Google Calendar). Пригодятся: Ruby on Rails, OAuth, соответствующие API. Дополнительно: headless браузер с передачей данных для ввода на странице для формирования потоков с веб-страниц (вебинары и тд). Проект групповой. Правила работы: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Сам по себе процесс запуска воспроизведения из файла в поток -- дело нехитрое: ffmpeg одной простой командой отправит на нужный адрес поток RTMP, а FFSERVER, VLC или аналогичный сервер сформирует RTSP поток, который в реальном времени может забрать любой потребитель (микшер, матрица, монитор и тд). Прочитать файл с аккаунта на GoogleDrive тоже задача не выдающаяся, хотя и полезная в жизненных ситуациях, учитывая, что этот сервис предлагает безлимитные аккаунты. &lt;br /&gt;
Здесь важно обеспечить управляемость и низкую задержку выполнения команды, а также совместимость с ONVIF. К пользовательскому интерфейсу, если его делать &amp;quot;со всеми удобствами&amp;quot;, тоже довольно серьезные требования по отзывчивости (хотя, в минимальной версии этот сервис может иметь весьма аскетичный интерфейс).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки или страстное желание освоить веб-разработку, крайне желательно придерживаться Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
* Владение Linux (придется работать с сервером на виртуальной машине), &lt;br /&gt;
&lt;br /&gt;
* API соцсетей (опционально)&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Стриминг RTSP/RTMP&lt;br /&gt;
&lt;br /&gt;
* GoogleDrive API, WebDAV, FTP&lt;br /&gt;
&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* OAuth&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Это специфический инструмент. Есть системы управления контентом, типа XIBO, есть playout-серверы для телевизионного вещания или для indoor-TV (панели в супермаркетах и других общественных местах), но здесь решается узкая задача: как контент из облака или своего сервера отправить в поток для дальнейшего использования. &lt;br /&gt;
Как аналог одного из применений, можно назвать BufferApp - сервис отложенного постинга сообщений в соцсети. Здесь тоже по расписанию, но отправка видеопотоков (интеграция с API сетей может быть вынесена в отдельный проект).&lt;br /&gt;
&lt;br /&gt;
Если рассматривать развитие проекта как самостоятельного сервиса, то он может объединиться с рекордером и работать с облачным хранилищем. Полезно не только для телевизионного применения, но и в более обширной области видеонаблюдения (обычно для этого используют локально установленные сетевые видеорекордеры) и в связанных с ней задачах -- наблюдение с выводом в публичный доступ и т.д. Бывали заказы на timelapse строящихся объектов.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_Speech-to-text_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_API_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24376</id>
		<title>Разработка сервиса Speech-to-text на базе существующего API (командный проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_Speech-to-text_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_API_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24376"/>
		<updated>2017-09-20T19:08:19Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_командного_проекта&lt;br /&gt;
|name=Разработка сервиса Speech-to-text на базе существующего API&lt;br /&gt;
|company=On-Air.Pro&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=3&lt;br /&gt;
|number_of_students=2-8&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Разработка в уже действиующем проекте, направления работы -- от UI/UX до предобработки потоков и анализа и обработки результатов распознавания и перевода.&lt;br /&gt;
&lt;br /&gt;
Суть проекта: пользователь загружает видео- или аудио-файл, файл преобразуется для отправки в один или несколько сервисов распознавания, далее результат высылается на электронную почту пользователя. &lt;br /&gt;
&lt;br /&gt;
Сервисов распознавания и перевода существует много, но всилу специфики их назначения и произвольного характера поступающих от пользователей исходных файлов, требуется предобработка и последующая сборка результатов. Взаимодействие со сторонними сервисами -- через API. При этом, различные сервисы по-разному воспринимают особенности исходных записей. Например, одни не любят телефонные разговоры, а другие -- многоголосые записи. Стоимость обработки также различается. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Отдельное направление -- разработка личного кабинета со статистикой, сохранением результатов ранее проведенных распознаваний и исходных файлов (файлы сохраняются на аккаунте GoogleDrive). В том числе, требуется поддержка обработки папок (GoogleDrive, FTP, WebDAV) в качестве источников файлов и места сохранения результатов. &lt;br /&gt;
&lt;br /&gt;
Также отдельный подпроект -- подключение не только распознавания, но и перевода (также через API). &lt;br /&gt;
&lt;br /&gt;
Результаты распознавания и перевода могут быть представлены как простым текстом, так и размеченным таймкодами, облаком тегов и т.д. &lt;br /&gt;
&lt;br /&gt;
Заметим, что операции распознавания и перевода доступны в реальном времени и одной из задач (на практике уже проверено -- работает) будет реализовать для пользователей возможность давать на вход сервиса не только файлы, но и потоки, а на выходе -- поток субтитров, в т.ч. автоматически стримить в Yotube.  &lt;br /&gt;
&lt;br /&gt;
Разработка на Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
=== Чему научатся студенты? Что самое интересное в проекте? ===&lt;br /&gt;
В зависимости от выбранного направления работы: &lt;br /&gt;
&lt;br /&gt;
* работа с API сторонних сервисов&lt;br /&gt;
&lt;br /&gt;
* предобработка потоков (gstreamer, ffmpeg)&lt;br /&gt;
&lt;br /&gt;
* UI/UX разработка&lt;br /&gt;
&lt;br /&gt;
* OAuth, работа с платежной системой&lt;br /&gt;
&lt;br /&gt;
* Работа с хранилищами файлов (GoogleDrive, WebDAV, FTP)&lt;br /&gt;
&lt;br /&gt;
Задачи разносторонние, поэтому каждый найдет себе что-то по вкусу.&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Компоненеты (Из каких частей состоит проект?) ===&lt;br /&gt;
* Связка с API сервисов распознавания и перевода (отдельные подпроекты)&lt;br /&gt;
&lt;br /&gt;
* UI (личный кабинет)&lt;br /&gt;
&lt;br /&gt;
* UX всего сервиса, прототип.&lt;br /&gt;
&lt;br /&gt;
* Взаимодействие с хранилищами &lt;br /&gt;
&lt;br /&gt;
* Платежный модуль&lt;br /&gt;
&lt;br /&gt;
* Пред- и пост-обработка данных пользователя.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* API сервисов распознавания и перевода, Google Drive и Youtube, ЯндексКассы. &lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails, Java Script&lt;br /&gt;
&lt;br /&gt;
* Анализ видео- и аудиофайлов, их предобработка&lt;br /&gt;
&lt;br /&gt;
* Анализ текстов и их обработка&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от выбранного направления -- владение соответствующими технологиями и языками. Очевидно, потребуется знать или изучить большинство используемых инструментов и языков.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Похожие проекты ===&lt;br /&gt;
Данный проект в текущем виде доступен по адресу transcript.on-air.pro&lt;br /&gt;
Распознавание голоса также возможно с использованием приложений, но полного аналога в сети не встречали (чтобы файл и поток отдавал в тексте, причем, с таймкодами, и в srt потоке для субтитров в реальном времени).&lt;br /&gt;
&lt;br /&gt;
Данный проект на ярмарке проектов ВШЭ: https://pf.hse.ru/208036688.html&lt;br /&gt;
&lt;br /&gt;
=== Контактная информация ===&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_Speech-to-text_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_API_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24375</id>
		<title>Разработка сервиса Speech-to-text на базе существующего API (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_Speech-to-text_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B5%D0%B3%D0%BE_API_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24375"/>
		<updated>2017-09-20T19:08:13Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка сервиса Speech-to-text на базе существующего API&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Разработка в уже действиующем проекте, направления работы -- от UI/UX до предобработки потоков и анализа и обработки результатов распознавания и перевода.&lt;br /&gt;
&lt;br /&gt;
Суть проекта: пользователь загружает видео- или аудио-файл, файл преобразуется для отправки в один или несколько сервисов распознавания, далее результат высылается на электронную почту пользователя. &lt;br /&gt;
&lt;br /&gt;
Сервисов распознавания и перевода существует много, но всилу специфики их назначения и произвольного характера поступающих от пользователей исходных файлов, требуется предобработка и последующая сборка результатов. Взаимодействие со сторонними сервисами -- через API. При этом, различные сервисы по-разному воспринимают особенности исходных записей. Например, одни не любят телефонные разговоры, а другие -- многоголосые записи. Стоимость обработки также различается. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Отдельное направление -- разработка личного кабинета со статистикой, сохранением результатов ранее проведенных распознаваний и исходных файлов (файлы сохраняются на аккаунте GoogleDrive). В том числе, требуется поддержка обработки папок (GoogleDrive, FTP, WebDAV) в качестве источников файлов и места сохранения результатов. &lt;br /&gt;
&lt;br /&gt;
Также отдельный подпроект -- подключение не только распознавания, но и перевода (также через API). &lt;br /&gt;
&lt;br /&gt;
Результаты распознавания и перевода могут быть представлены как простым текстом, так и размеченным таймкодами, облаком тегов и т.д. &lt;br /&gt;
&lt;br /&gt;
Заметим, что операции распознавания и перевода доступны в реальном времени и одной из задач (на практике уже проверено -- работает) будет реализовать для пользователей возможность давать на вход сервиса не только файлы, но и потоки, а на выходе -- поток субтитров, в т.ч. автоматически стримить в Yotube.  &lt;br /&gt;
&lt;br /&gt;
Разработка на Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
В зависимости от выбранного направления работы: &lt;br /&gt;
&lt;br /&gt;
* работа с API сторонних сервисов&lt;br /&gt;
&lt;br /&gt;
* предобработка потоков (gstreamer, ffmpeg)&lt;br /&gt;
&lt;br /&gt;
* UI/UX разработка&lt;br /&gt;
&lt;br /&gt;
* OAuth, работа с платежной системой&lt;br /&gt;
&lt;br /&gt;
* Работа с хранилищами файлов (GoogleDrive, WebDAV, FTP)&lt;br /&gt;
&lt;br /&gt;
Задачи разносторонние, поэтому каждый найдет себе что-то по вкусу.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от выбранного направления -- владение соответствующими технологиями и языками. Очевидно, потребуется знать или изучить большинство используемых инструментов и языков.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* API сервисов распознавания и перевода, Google Drive и Youtube, ЯндексКассы. &lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails, Java Script&lt;br /&gt;
&lt;br /&gt;
* Анализ видео- и аудиофайлов, их предобработка&lt;br /&gt;
&lt;br /&gt;
* Анализ текстов и их обработка&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Сейчас этот сервис работает лишь для распознавания голосовых записей, может работать с потоками (но для пользователей эта возможность закрыта, а так титры в Youtube делаются на лету), при этом выдача распознанных файлов приходит пользователю с таймкодами. Но это пока очень сырой проект, выросший из прошлогодней курсовой работы в МИЭМ. В развитие видятся следующие направления: &lt;br /&gt;
&lt;br /&gt;
* Повышение качества распознавания -- не только подбором провайдера сервиса распознавания (сейчас Google, тестируются два других), но и предобработкой (особенно шумных и искаженных сжатием) записей и анализом результирующего текста, возможно, по дублирующему результату от альтернативного провайдера;&lt;br /&gt;
&lt;br /&gt;
* Введение распознавания графических образов из видео (про это есть отдельный проект). Актуально для мониторинговых компаний, которые распознают телевизионный эфир (а там много интересного пишут в lower third и не только);&lt;br /&gt;
&lt;br /&gt;
* Пользовательский интерфейс для всего этого. Сейчас его можно сказать что нет.&lt;br /&gt;
&lt;br /&gt;
Помимо этого предстоит много сделать для интеграции в рабочие процессы заказчиков. Например, обработку папок в облачных дисках и по адресам ftp/webdav вместо загрузки файлов непосредственно на сайте.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24374</id>
		<title>Разработка редактора компоновок для сервиса потокового видеовещания (командный проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24374"/>
		<updated>2017-09-20T18:57:11Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_командного_проекта&lt;br /&gt;
|name=Разработка редактора компоновок для сервиса потокового видеовещания&lt;br /&gt;
|company=On-Air.Pro&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=3&lt;br /&gt;
|number_of_students=&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Редактор компоновок позволяет из нескольких видеопотоков собрать на одном экране композицию, загрузить/выбрать фон, добавить текстовые и графические элементы. Используется в прямых трансляциях, записи, подключается к микшеру потоков или непосредственно к источнику трансляции. Это не видеомикшер в обычном понимании (про видеомикшер есть отдельная тема), а отдельный модуль, использующий тот же движок, но для формирования составной картинки, использоваться выходной поток может как сам по себе (сразу в трансляцию/запись), так и в микшере среди прочих входов.&lt;br /&gt;
Основная область применения -- трансляция лекций и других мероприятий, где одновременно нужно показывать выступающего и экран, при этом, нет ресурсов на режиссуру в эфире. Здесь важно иметь возможность сделать 2-3 компоновки, заставку и переключать их время от времени в зависимости от происходящего. Высоких требований к скорости выполнения, как в микшере, нет (2-3 секунды задержки не критичны). С другой стороны, здесь требуется создать конструктор компоновок и интерфейс управления ими во время эфира, и всё это на том же движке, что микшер. &lt;br /&gt;
В развитие проекта для интересующихся соответствующими направлениями можно предложить автопереключение компоновок (анализ потоков на изменения и принятие режиссерских решений).&lt;br /&gt;
&lt;br /&gt;
=== Чему научатся студенты? Что самое интересное в проекте? ===&lt;br /&gt;
Как и в Микшере, работа связана с движком на базе gstreamer -- само по себе познавательное дело, т.к. применимость gstreamer&#039;а не ограничивается сведением пото созданием отзывчивого пользовательского интерфейса.&lt;br /&gt;
&lt;br /&gt;
В зависимости от комплектации группы, будет разрабатываться больше или меньше возможностей. Например, полезный в этой области навык -- анализ потоков для дальнейшего принятия режиссерских решений. Интересующимся этой темой может быть полезно заглянуть в проекты про автоматическую съёмку и автоматическую режиссуру.&lt;br /&gt;
&lt;br /&gt;
Коротко о связи с реальностью: изначально именно компоновки были соновной идеей On-air.pro, который строился как публичный сервис для трансляции лекций с нескольких источников. Но всилу ограничений используемого движка компоновки не стали киллер-фичей, зато сервис увлеченно транслирует в соцсети. Тем не менее, как только созреет микшер, редактор компоновок и другие модули, выставленные на проработку, они займут своё место в проекте.&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Компоненеты (Из каких частей состоит проект?) ===&lt;br /&gt;
Backend -- движок на основе gstreamer (SnowMix / Voctomix)&lt;br /&gt;
Frontend -- &lt;br /&gt;
1. редактор компоновок с загрузкой элементов оформления, библиотекой этих элементов и сохранением пресетов, &lt;br /&gt;
2. также эфирный контроллер (переключатель компоновок во время эфира). Фактически, это выбор из подготовленных к эфиру компоновок. Превью задействованных источников нужно, но может быть урезанным. &lt;br /&gt;
3. титровальня (в простом случае -- список заранее написанных титров и выбор нужных в момент показа). Для увлеченных распознаванием можно предложить отдельный подпроект с автодетекцией человека в кадре (обучение по фото или, если совсем уходить в фантастику -- по открытым данным, соцсетям и тд).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Gstreamer и с ним Snowmix/Voctomix, возможно -- ffmpeg&lt;br /&gt;
&lt;br /&gt;
* Виртуальные машины linux, nginx и сопутствующие инструменты&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails (для унификации) и необходимые средства для UI (например, meteor, это ещё нужно обоснованно решить).&lt;br /&gt;
&lt;br /&gt;
* Опционально: ONVIF для управления камерами (переход по предустановленным позициям)&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В любом случае понадобятся навыки программирования (будь то веб-разработка или работа с движком GStreamer/Snowmix), работы с Linux (потому что виртуалка в сети). Остальное -- специфика, с которой можно познакомиться по ходу проекта. Веб-часть на Ruby on Rails -- для унификации с базовым проектом. &lt;br /&gt;
&lt;br /&gt;
Ожидается, что разработчики умеют пользоваться поисковыми системами и stackoverflow. Руководитель может консультировать вас по предметной области (видео/тв), но не по программной разработке. &lt;br /&gt;
&lt;br /&gt;
Разработка обычно имеет недельный цикл трекинга, встречи (как индивидуальные, так и групповые) по умолчанию -- по видеосвязи, но порой надо и очно (на факультете). Необходимые технические и серверные ресурсы предоставляются.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Похожие проекты ===&lt;br /&gt;
Любые вебинары, сервисы многосторонней видеосвязи -- все они показывают несколько потоков на одном экране. Но, кто пробовал делать трансляцию какой-нибудь конференции или защит через GoogleHangouts, поймёт, почему для этих целей видеоболтушки не используют. &lt;br /&gt;
Есть нынешняя версия On-Air.Pro, где поддерживаются многоэкранные компоновки, но там есть проблемы синхронизации потоков и, главное, компоновки во время трансляции менять нельзя. Всё потому, что там работает ffmpeg, а надо бы движок видеомикшера.&lt;br /&gt;
&lt;br /&gt;
Проект разработки потокового видеомикшера на ярмарке проектов: https://pf.hse.ru/208034867.html&lt;br /&gt;
&lt;br /&gt;
=== Контактная информация ===&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24373</id>
		<title>Разработка редактора компоновок для сервиса потокового видеовещания (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BA_%D0%B4%D0%BB%D1%8F_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24373"/>
		<updated>2017-09-20T18:57:00Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка редактора компоновок для сервиса потокового видеовещания&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Редактор компоновок позволяет из нескольких видеопотоков собрать на одном экране композицию, загрузить/выбрать фон, добавить текстовые и графические элементы. Используется в прямых трансляциях, записи, подключается к микшеру потоков или непосредственно к источнику трансляции. Это не видеомикшер в обычном понимании (про видеомикшер есть отдельная тема), а отдельный модуль, использующий тот же движок, но для формирования составной картинки, использоваться выходной поток может как сам по себе (сразу в трансляцию/запись), так и в микшере среди прочих входов.&lt;br /&gt;
Основная область применения -- трансляция лекций и других мероприятий, где одновременно нужно показывать выступающего и экран, при этом, нет ресурсов на режиссуру в эфире. Здесь важно иметь возможность сделать 2-3 компоновки, заставку и переключать их время от времени в зависимости от происходящего. Высоких требований к скорости выполнения, как в микшере, нет (2-3 секунды задержки не критичны). С другой стороны, здесь требуется создать конструктор компоновок и интерфейс управления ими во время эфира, и всё это на том же движке, что микшер. &lt;br /&gt;
В развитие проекта для интересующихся соответствующими направлениями можно предложить автопереключение компоновок (анализ потоков на изменения и принятие режиссерских решений).&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Как и в Микшере, работа связана с движком на базе gstreamer -- само по себе познавательное дело, т.к. применимость gstreamer&#039;а не ограничивается сведением пото созданием отзывчивого пользовательского интерфейса.&lt;br /&gt;
&lt;br /&gt;
В зависимости от комплектации группы, будет разрабатываться больше или меньше возможностей. Например, полезный в этой области навык -- анализ потоков для дальнейшего принятия режиссерских решений. Интересующимся этой темой может быть полезно заглянуть в проекты про автоматическую съёмку и автоматическую режиссуру.&lt;br /&gt;
&lt;br /&gt;
Коротко о связи с реальностью: изначально именно компоновки были соновной идеей On-air.pro, который строился как публичный сервис для трансляции лекций с нескольких источников. Но всилу ограничений используемого движка компоновки не стали киллер-фичей, зато сервис увлеченно транслирует в соцсети. Тем не менее, как только созреет микшер, редактор компоновок и другие модули, выставленные на проработку, они займут своё место в проекте.&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В любом случае понадобятся навыки программирования (будь то веб-разработка или работа с движком GStreamer/Snowmix), работы с Linux (потому что виртуалка в сети). Остальное -- специфика, с которой можно познакомиться по ходу проекта. Веб-часть на Ruby on Rails -- для унификации с базовым проектом. &lt;br /&gt;
&lt;br /&gt;
Ожидается, что разработчики умеют пользоваться поисковыми системами и stackoverflow. Руководитель может консультировать вас по предметной области (видео/тв), но не по программной разработке. &lt;br /&gt;
&lt;br /&gt;
Разработка обычно имеет недельный цикл трекинга, встречи (как индивидуальные, так и групповые) по умолчанию -- по видеосвязи, но порой надо и очно (на факультете). Необходимые технические и серверные ресурсы предоставляются.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Gstreamer и с ним Snowmix/Voctomix, возможно -- ffmpeg&lt;br /&gt;
&lt;br /&gt;
* Виртуальные машины linux, nginx и сопутствующие инструменты&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails (для унификации) и необходимые средства для UI (например, meteor, это ещё нужно обоснованно решить).&lt;br /&gt;
&lt;br /&gt;
* Опционально: ONVIF для управления камерами (переход по предустановленным позициям)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Редактор компоновок -- это компонент потокового видеомикшера, причём, этот проект актуален безотносительно того, в каком виде будет реализован видеомикшер -- в &amp;quot;скромном&amp;quot;, для скрытого выполнения операций с видеопотоками (поставить логотип/титры, переключиться на заставку при пропадении входного потока, переключиться на другой источник), или в &amp;quot;полноценном&amp;quot;, то есть, с пользовательским интерфейсом видеомикшера, со всеми подобающими кнопками, экранами и т.д. В любом случае, мультиэкранное изображение нужно,а для этого, помимо движка микшера, нужно иметь интерфейс для его создания: как с нуля, так и из готовых пресетов. В свою очередь, конструктор компоновок и титровальня -- это лишь с виду простые программы, на деле же там может быть заложено много интересных возможностей, вплоть до автоматического распознавания лиц на крупном плане, чтобы рекомендовать правильные титры.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_ONVIF-%D1%81%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B8%D0%BC%D1%8B%D0%BC%D0%B8_IP_PTZ_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24372</id>
		<title>Разработка программного модуля управления ONVIF-совместимыми IP PTZ камерами (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_ONVIF-%D1%81%D0%BE%D0%B2%D0%BC%D0%B5%D1%81%D1%82%D0%B8%D0%BC%D1%8B%D0%BC%D0%B8_IP_PTZ_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24372"/>
		<updated>2017-09-20T18:47:09Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка программного модуля управления ONVIF-совместимыми IP PTZ камерами&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Для управления цифровыми камерами видеонаблюдения существует ряд программ и устройств, использующих единый стандарт ONVIF. Но ни одна из этих программ и ни одно устройство не предназначены для управления камерами в &amp;quot;операторской манере&amp;quot;, когда движения совершаются плавно и сразу по трем измерениям (поворот/наклон/увеличение -- PTZ). Также, камеры могут настраиваться по многим параметрам изображения, в некоторых камерах есть поддержка звука, но эти параметры не регулируются устройствами, предназначенными для видеонаблюдения. &lt;br /&gt;
&lt;br /&gt;
Нужно разработать сервис управления ONVIF PTZ камерами. Взаимодействие с пользователем через веб-интерфейс с поддержкой наборов камер в личном кабинете, с сохранением пресетов.&lt;br /&gt;
&lt;br /&gt;
Специфические особенности, отличающие от существующих программ и веб-интерфейса самих камер: &lt;br /&gt;
&lt;br /&gt;
1. &amp;quot;Операторское&amp;quot; движение камеры (одновременное и плавное перемещение по всем трём осям)&lt;br /&gt;
&lt;br /&gt;
2. Настройка &amp;quot;на лету&amp;quot; параметров изображения, звука и потока.&lt;br /&gt;
&lt;br /&gt;
3. Предусмотреть возможность подключения автоматического трекера и автоцветокоррекции (см. соседние проекты и проекты на Ярмарке проектов: https://pf.hse.ru/208027417.html https://pf.hse.ru/208027466.html)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для локального использования предусмотреть установку под Windows, по умолчанию установка на linux-сервере с VPN, экспериментально -- на роутерах с прошивкой OpenWRT.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Тонкое управление устройствами (IP PTZ камерами) по протоколу ONVIF&lt;br /&gt;
&lt;br /&gt;
* Имитация работы оператора-человека&lt;br /&gt;
&lt;br /&gt;
* Создание сервиса управления, работающего на различных платформах&lt;br /&gt;
&lt;br /&gt;
* Создание отзывчивого веб-интерфейса для управления камерой.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Иметь представление о веб-разработке. при этом, больше внимания уделить JS и отзывчивому пользовательскому интерфейсу. &lt;br /&gt;
&lt;br /&gt;
Работа с ONVIF возможна на разных языках, язык выбирается так, чтобы результат запускался на указанных платформах.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* Разработать REST API &lt;br /&gt;
&lt;br /&gt;
* AJAX и другие элементы разработки отзывчивого UI&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Это один из проектов, имеющих в будущем общее будущее: объединение возможностей управления PTZ IP камерами, включая автоматическую съёмку (в т.ч. с трекингом человека), автоцвето/экспокоррекцию и т.д. сделает дешевые и вполне качественные IP камеры серьезным конкурентом современным дорогостоящим телевизионным камерам, требующим не менее дорогостоящих компонентов для сборки съёмочных комплексов. Здесь же мы обходимся обычными компьютерами и локальной сетью, при этом можем строить полностью распределенные съёмочные комплексы, где режиссер, камеры и операторы могут находиться в разных местах.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80%D0%B0_ONVIF_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_VMix_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24371</id>
		<title>Разработка программного адаптера ONVIF устройств для видеомикшера VMix (командный проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80%D0%B0_ONVIF_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_VMix_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24371"/>
		<updated>2017-09-20T18:39:57Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_командного_проекта&lt;br /&gt;
|name=Разработка программного адаптера ONVIF устройств для видеомикшера VMix&lt;br /&gt;
|company=On-Air.Pro&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=3&lt;br /&gt;
|number_of_students=2-3&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Небольшой проект для решения узкой, но актуальной задачи. &lt;br /&gt;
Для монтажа многокамерной видеосъёмки и трансляции используют как аппаратные, так и программные видеомикшеры. Один из наиболее удобных и функциональных программных микшеров -- VMix, он не только поддерживает работу с различным оборудованием захвата сигнала с камер, но и прекрасно работает с RTSP-потоками от IP-камер, а значит, с ним совместимы все камеры видеонаблюдения при их низкой стоимости и гибкости настройки. В частности, из VMix можно задать несколько позиций поворота одной камеры и переходить между ними в прямом эфире, как между разными камерами (virtual input), что облегчает работу режиссера (и исключает необходимость в операторе) в прямом эфире. &lt;br /&gt;
Но разработчики VMix ориентировались на рынок профессионального телевизионного оборудования и для управления камерами включили только проприетарные стандарты дорогих камер, в то время как системы видеонаблюдения давно используют единый открытый стандарт для всех видов используемого оборудования -- ONVIF. &lt;br /&gt;
Задача: сделать прокси-адаптер, который будет транслировать команды VMix в команды ONVIF. &lt;br /&gt;
Прототип такой программы уже сделан, но довести его до продукта, сделать локальную версию для Windows (как службу + интерфейс управления) и сетевую для Linux-сервера -- это ещё предстоит. &lt;br /&gt;
&lt;br /&gt;
Минимальный проект: &lt;br /&gt;
Помимо 11 команд и 2 настроек для управления PTZ, понадобится управлять Alarm-статусами камеры (так можно зажигать индикатор &amp;quot;камера в эфире&amp;quot;, его называют Tally).  &lt;br /&gt;
&lt;br /&gt;
Расширенный проект: &lt;br /&gt;
Настройка камер включает экспо- и цветокоррекцию, причём, не коррекцию потоков, а настройку самих камер через ONVIF. Эта задача вынесена в отдельный проект (здесь и в ярмарке проектов), но может быть реализована в рамках данного проекта.&lt;br /&gt;
&lt;br /&gt;
=== Чему научатся студенты? Что самое интересное в проекте? ===&lt;br /&gt;
* Управление видеокамерами IP PTZ через ONVIF&lt;br /&gt;
&lt;br /&gt;
* Автоматизация рутинных процедур в видеопроизводстве&lt;br /&gt;
&lt;br /&gt;
* Интеграция ПО с видеомикшером VMix, оптимизация рабочего процесса&lt;br /&gt;
&lt;br /&gt;
В расширенном проекте: &lt;br /&gt;
&lt;br /&gt;
* Анализ видеопотоков&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Компоненеты (Из каких частей состоит проект?) ===&lt;br /&gt;
* Служба для Windows (настраивается на определеный порт для каждой подключенной камеры)&lt;br /&gt;
&lt;br /&gt;
* Сетевой сервис для Linux-сервера (аналогично)&lt;br /&gt;
&lt;br /&gt;
* Веб-интерфейс управления (запускается и для локальной службы, и для удаленного сервера)&lt;br /&gt;
&lt;br /&gt;
* Расширенные возможности: управление реализуется в том же веб-интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF -- управление оборудованием видеонаблюдения&lt;br /&gt;
&lt;br /&gt;
* Служба для Windows и аналогичной версии для сервера под Linux.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Существующая версия написана на C# в VisualStudio, но это несколько странно для работы на Linux-сервере. Особых требований по языку разработки нет, исходить нужно из оценки пригодности выбранных инструментов для работы с ONVIF и названными ОС. &lt;br /&gt;
&lt;br /&gt;
Для управления можно использовать веб-интерфейс, иначе придется делать приложение &amp;quot;в трее&amp;quot; для Windows.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
2. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
3. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Похожие проекты ===&lt;br /&gt;
Это небольшая сервисная программа, аналогичные встроены в VMix. &lt;br /&gt;
Прототип успешно работает, проект направлен на развитие.&lt;br /&gt;
&lt;br /&gt;
=== Контактная информация ===&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80%D0%B0_ONVIF_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_VMix_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24370</id>
		<title>Разработка программного адаптера ONVIF устройств для видеомикшера VMix (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80%D0%B0_ONVIF_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2_%D0%B4%D0%BB%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_VMix_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24370"/>
		<updated>2017-09-20T18:39:49Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка программного адаптера ONVIF устройств для видеомикшера VMix&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Небольшой проект для решения узкой, но актуальной задачи. Для монтажа многокамерной видеосъёмки и трансляции используют как аппаратные, так и программные видеомикшеры. Один из наиболее удобных и функциональных программных микшеров -- VMix, он не только поддерживает работу с различным оборудованием захвата сигнала с камер, но и прекрасно работает с RTSP-потоками от IP-камер, а значит, с ним совместимы все камеры видеонаблюдения при их низкой стоимости и гибкости настройки. В частности, из VMix можно задать несколько позиций поворота одной камеры и переходить между ними в прямом эфире, как между разными камерами (virtual input), что облегчает работу режиссера (и исключает необходимость в операторе) в прямом эфире. Но разработчики VMix ориентировались на рынок профессионального телевизионного оборудования и для управления камерами включили только проприетарные стандарты дорогих камер, в то время как системы видеонаблюдения давно используют единый открытый стандарт для всех видов используемого оборудования -- ONVIF. Задача: сделать прокси-адаптер, который будет транслировать команды VMix в команды ONVIF. Прототип такой программы уже сделан, но довести его до продукта, сделать локальную версию для Windows (как службу + интерфейс управления) и сетевую для Linux-сервера -- это ещё предстоит.&lt;br /&gt;
&lt;br /&gt;
Минимальный проект: Помимо 11 команд и 2 настроек для управления PTZ, понадобится управлять Alarm-статусами камеры (так можно зажигать индикатор &amp;quot;камера в эфире&amp;quot;, его называют Tally).&lt;br /&gt;
&lt;br /&gt;
Расширенный проект: Настройка камер включает экспо- и цветокоррекцию, причём, не коррекцию потоков, а настройку самих камер через ONVIF. Эта задача вынесена в отдельный проект (здесь и в ярмарке проектов), но может быть реализована в рамках данного проекта.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Управление видеокамерами IP PTZ через ONVIF&lt;br /&gt;
&lt;br /&gt;
* Автоматизация рутинных процедур в видеопроизводстве&lt;br /&gt;
&lt;br /&gt;
* Интеграция ПО с видеомикшером VMix, оптимизация рабочего процесса&lt;br /&gt;
&lt;br /&gt;
В расширенном проекте: &lt;br /&gt;
&lt;br /&gt;
* Анализ видеопотоков&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Существующая версия написана на C# в VisualStudio, но это несколько странно для работы на Linux-сервере. Особых требований по языку разработки нет, исходить нужно из оценки пригодности выбранных инструментов для работы с ONVIF и названными ОС. &lt;br /&gt;
&lt;br /&gt;
Для управления можно использовать веб-интерфейс, иначе придется делать приложение &amp;quot;в трее&amp;quot; для Windows.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF -- управление оборудованием видеонаблюдения&lt;br /&gt;
&lt;br /&gt;
* Служба для Windows и аналогичной версии для сервера под Linux.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
2. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
3. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
От небольшой утилиты-адаптера (или небольшого служебного сервиса) эта программа может вырасти в полноценный продукт для IP-video продакшена. IP-камеры в последние годы стали снимать вполне качественно и могут конкурировать с классическими, при этом имея массу преимуществ по управляемости. Проект в будущем должен объединить в себя возможности управления, монитоирнга, конфигурирования этих камер (включая трекинг людей и автосъёмку вообще, автокоррекцию параметров изображения при многокамерной съёмке и т.д.). &lt;br /&gt;
&lt;br /&gt;
При наличии дееспособного потокового микшера (есть и такой проект среди предложенных) получается мощная связка, потенциально дающая результаты, ограниченные лишь фантазией авторов проекта, технические возможности здесь очень богатые, но за надежность и удобство работы здесь придётся побороться.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0_%D0%B8%D0%B7_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24369</id>
		<title>Разработка модуля распознавания текста из видеоизображения (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0_%D0%B8%D0%B7_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24369"/>
		<updated>2017-09-20T18:32:11Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка модуля распознавания текста из видеоизображения&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Распознавание текста из видео/фото изображений дополняет сервис распознавания голоса из аудио и видео (как файлов, так и потоков).&lt;br /&gt;
&lt;br /&gt;
Основная область применения -- мониторинг телевизионных программ различными мониторинговыми службами. Основной объект для распознавания -- бегущие строки и субтитры (lower thirds), но на деле объекты могут быть не только текстовыми (вылавливать логотипы и другие эталонные изображения и надписи, регистрировать их размер).&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Обработка видеопотоков, файлов и фотоизображений с целью распознавания текстов и изображений по заданным шаблонам.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от роли в проекте: &lt;br /&gt;
&lt;br /&gt;
* OpenCV и навыки работы с распознаванием изображений. &lt;br /&gt;
&lt;br /&gt;
* Веб-разработка на Ruby on Rails&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Разработка на Ruby on Rails, JavaScript &lt;br /&gt;
&lt;br /&gt;
* Распознавание -- OpenCV + C++/Python&lt;br /&gt;
&lt;br /&gt;
* API GoogleDrive, работа с хранилищами FTP/WebDAV&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Графическая часть сервиса распознавания дополняет голосовую (изначально это сервис распознавания голоса в текст), также там предусмотрено подключение перевода. Комплексная услуга позволяет покрывать значительную часть запросов, но требует и более тщательной разработки интерфейса пользователя, и сами &amp;quot;распознаватели&amp;quot; зачастую требуется дублировать и перепроверять возможными автоматическими способами, чтобы снизить уровень ошибок. Проект развивается в настоящее время в сторону комплексного сервиса, обслуживающего как запросы частных клиентов, так и интегрируемого в корпоративный рабочий процесс, в т. ч. для профильных компаний (медиаизмерители, HR, колцентры, журналисты, продакшены и тд).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%BE%D0%BD%D1%82%D0%B0%D0%B6%D0%B0_%D0%B2_%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC_%D1%8D%D1%84%D0%B8%D1%80%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24368</id>
		<title>Разработка модуля автоматизации видеомонтажа в прямом эфире (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BC%D0%BE%D0%BD%D1%82%D0%B0%D0%B6%D0%B0_%D0%B2_%D0%BF%D1%80%D1%8F%D0%BC%D0%BE%D0%BC_%D1%8D%D1%84%D0%B8%D1%80%D0%B5_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24368"/>
		<updated>2017-09-20T18:25:28Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка модуля автоматизации видеомонтажа в прямом эфире&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Если вы снимаете какое-нибудь событие (конференцию, защиты выпускных работ или другое разговорное событие) на одну камеру, то запись, монтаж и трансляция особой проблемы не представляют -- просто нечего монтировать, разве что подрезать. Транслировать такое событие тоже просто. Стоит добавить к этой одной камере хотя бы захват экрана презентации, начинаются сложности. А если камер несколько, выступающий общается с залом, из президиума что-то комментируют -- здесь обычно нужен режиссер. На входе у режиссера несколько потоков, он выбирает, какой из потоков пойдет в запись/трансляцию в каждый момент времени. &lt;br /&gt;
Критерии выбора потока зависят от а) его содержательности и актуальности для зрителя в данный момент и б) от технической и эстетической готовности. Содержательность -- это значит, что показывают обычно либо говорящего, либо то, о чём он говорит (презентацию), либо и то и другое сразу (картинка в картинке). Техническая пригодность -- значит, камера в фокусе, не дрожит и готова передавать поток без помех. Эстетическая готовность -- камера наведена на объект съёмки с соблюдением требуемой композиции кадра и в допустимых пределах экспозиции и цветопередачи. &lt;br /&gt;
&lt;br /&gt;
Переключение источников видеопотоков может быть автоматизировано и это реализовано в конференц-системах, где камеры поворачиваются на говорящего в микрофон на определенном месте. Но такие системы имеют простой алгоритм, основанный на предварительной настройке позиций камер на оснащённые места с индивидуальными микрофонами. В нашем случае нет возможности использовать дополнительные датчики и заранее настраивать камеры на определенные точки, задачу автоматизации режиссуры нужно решать для абстрактного случая &amp;quot;разговорного события&amp;quot;. &lt;br /&gt;
Если общие правила монтажа и съёмки довольно легко описываются (например, длительность кадров в пределах 5-20 секунд, переходы по крупности плана -- через один, съёмка по правилу третей, при этом поворот головы к центру кадра, и т.д.), то выбор источников для включения и конкретных моментов для переходов -- это задача творческая и для ее решения могут привлекаться как обычные формальные методы (изменение содержания слайда, детекция говорящего человека на крупном плане и т.д.), так и нейросеть.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Распознавание движений и мимики человека&lt;br /&gt;
&lt;br /&gt;
* Практика в OpenCV&lt;br /&gt;
&lt;br /&gt;
* Составление формальных критериев для съёмки и монтажа&lt;br /&gt;
&lt;br /&gt;
* Амбициозная задача -- лишить режиссеров работы, где это возможно! Пусть кино снимают, а здесь и машина управится.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Программирование C++ или Python, желательно OpenCV&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Распознавание образов (OpenCV)&lt;br /&gt;
&lt;br /&gt;
* Возможно: нейросети&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Автомонтаж -- это даже не технология, а мечта одних и ужас других (кому потом придется искать себе работу). По сути, большинство &amp;quot;режиссеров&amp;quot; днями напролет выполняют работу, с которой компьютер справится не хуже, а зачастую -- лучше. Никакого творчества в съёмке разговорных мероприятий обычно нет (речь не о топовых проектах крупных телеканалов, а о всевозможных конференциях, семинарах и тд -- их по количеству часов снимается подавляющее большинство). Развитие проекта востребовано в двух очевидных направлениях, в которых ныне существует классический монтаж: &lt;br /&gt;
&lt;br /&gt;
* Линейный автомонтаж -- вместо линейного монтажа, это прямые эфиры и записи &amp;quot;телевизионным&amp;quot; способом (такой же прямой эфир, только в запись, потом можно подкорректировать).&lt;br /&gt;
&lt;br /&gt;
* Нелинейный автомонтаж -- вместо обычного нелинейного мотнажа. Элементы такой автоматики уже кое-где встречаются, достаточно вспомнить, какие ролики время от времени подкидывает вам Facebook и Google+. Здесь полагаться приходится имеющийся материал, не всегда есть сведения о его синхронизации (многокамерную съёмку можно синхронизировать по звуку и по движениям в кадре), но для нелинейного монтажа обычно важнее сделать ролик с самым важным из имеющегося материала, а не собрать хронологически выстроенные записи и переключать планы, как в многокамерной телевизионной съёмке. Здесь есть время подумать, но и задачи более творческие.&lt;br /&gt;
&lt;br /&gt;
Одной технологией пользоваться невозможно, поэтому важно &amp;quot;завернуть&amp;quot; алгоритмы в продукт. И здесь есть хороший шанс выйти на благодатную почву, т.к. этот (как и многие соседние в этом списке предлагаемых проектов) проект разрабатывается для уже действующего и постоянно развивающегося сервиса интернет-трансляций.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9_%D1%80%D0%B5%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B8%D0%BC%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24367</id>
		<title>Разработка модулей ретрансляции видеопотоков на стриминговые платформы (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9_%D1%80%D0%B5%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D0%B8_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B8%D0%BC%D0%B8%D0%BD%D0%B3%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24367"/>
		<updated>2017-09-20T18:10:58Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка модулей ретрансляции видеопотоков на стриминговые платформы&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Потоковое вещание с 2016 года поддерживается практически всеми соцсетями, это модная тема и эффективное средство продвижения контента. Есть различные сервисы и приложения (как от самих сетей, так и сторонние), обеспечивающие вещание как в отдельные сети, так и в несколько одновременно. Для одного из таких сервисов (On-Air.Pro) требуется разработка связки с API соцсетей и сетей доставки контента. Это отдельные фрагменты кода, они должны пройти соответствующие тесты, далее они включаются в основной проект. Список сетей и конкретные задачи определяются на момент согласования темы, т.к. проект живой и развивается безотносительно участия студентов. В качестве примера можно привести Youtube streaming API -- новая версия вышла весной 2017 года, потребуется реализовать новые возможности.&lt;br /&gt;
&lt;br /&gt;
Разработка на Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Потоковое вещание с 2016 года поддерживается практически всеми соцсетями, это модная тема и эффективное средство продвижения контента. Есть различные сервисы и приложения (как от самих сетей, так и сторонние), обеспечивающие вещание как в отдельные сети, так и в несколько одновременно. Для одного из таких сервисов (On-Air.Pro) требуется разработка связки с API соцсетей и сетей доставки контента. Это отдельные фрагменты кода, они должны пройти соответствующие тесты, далее они включаются в основной проект. &lt;br /&gt;
Список сетей и конкретные задачи определяются на момент согласования темы, т.к. проект живой и развивается безотносительно участия студентов.&lt;br /&gt;
В качестве примера можно привести Youtube streaming API -- новая версия вышла весной 2017 года, потребуется реализовать новые возможности.&lt;br /&gt;
&lt;br /&gt;
Разработка на Ruby on Rails.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Навыки программирования под веб (если вы планируете изучить Ruby on Rails по ходу работы, то ещё и способность быстро обучаться).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* REST API сторонних сервисов, &lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails,&lt;br /&gt;
&lt;br /&gt;
* Разработка по тестам&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Модули для интеграции с внешними сетями -- часть большого проекта, одной из ключевых возможностей которого является стриминг соцсети и планируется более плотное взаимодействие с ними. Здесь важнейшую роль играет интеграция через API и решение задач, возникающих при этом, а возможно, и, порой, обход ограничений (парсингом страниц, например). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
На ярмарке проектов данная тема явно не выделена, но входит в этот проект: https://pf.hse.ru/208012056.html.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%22ONVIF_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%22_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24361</id>
		<title>Разработка мобильного приложения &quot;ONVIF камера&quot; (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%22ONVIF_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%22_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24361"/>
		<updated>2017-09-20T14:54:35Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка мобильного приложения &amp;quot;ONVIF камера&amp;quot;&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Любопытная особенность камер видеонаблюдения, которую призвано имитировать разрабатываемое приложение, -- это то, что они полностью контролируются дистанционно по стандартному протоколу. Если вы когда-нибудь снимали на обычные бытовые камеры, то знаете, что к чему их ни подключи, а настроить параметры изображения можно только с самой камеры, запустить запись -- тоже. И только в телевизионных комплексах оператор камеру направляет, а остальное настраивается со специального пульта, и это позволяет при съёмке с нескольких камер получать одинаковые параметры изображения (по цвету, свету, параметрам сигнала). Мобильный телефон уже давно стал устройством для стриминга, но стриминга &amp;quot;сырого&amp;quot; видео и обычно сразу к зрителю. От этого любительские трансляции в ВК и Фейсбуке выглядят хуже, чем любительское VHS в 90х: ни монтажа, ни смены планов.&lt;br /&gt;
&lt;br /&gt;
Существует множество мобильных приложений для видеостриминга, но требуется специфическая разработка, которая превратит для внешнего наблюдателя обычный смартфон или планшет в камеру видеонаблюдения с присущими ей возможностями: поддержкой стандарта ONVIF (управление потоками, параметрами изображения и тд), формированием как минимум двух потоков RTSP со звуком AAC, веб-интерфейсом управления.&lt;br /&gt;
&lt;br /&gt;
Таким образом, любой совместимый смартфон или планшет станет полноценным источником видеопотока для потокового микшера (например, VMix. Или для того, что разрабатывается в одном из соседних проектов). При использовании VPN можно использовать потоки от устройств, находящихся в любой точке мира, подключенной к интернет.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Разработка мобильного приложения (если ещё нет такого опыта). По умолчанию -- Android, если есть желающие работать под IOS, это тоже хорошо, проекты могут идти параллельно.&lt;br /&gt;
&lt;br /&gt;
* Работа с камерой мобильного устройства для формирования RTSP потоков.&lt;br /&gt;
&lt;br /&gt;
* Разработка ONVIF-совместимого ПО (используется всей инфраструктурой систем видеонаблюдения).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Навыки или желание освоить разработку мобильных приложений.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* JAVA (для Android)&lt;br /&gt;
&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* RTSP сервер&lt;br /&gt;
&lt;br /&gt;
* OpenVPN (опционально)&lt;br /&gt;
&lt;br /&gt;
* Web-сервер для создания простого веб-интерфейса (опционально)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. ONVIF, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Существует программный видеомикшер VMix и он поддерживает проприетарный и относительно молодой протокол NDI, через который по сети можно легко передавать потоки с компьютера и даже с мобильника. Но они используют потоки в десятки мегабит/с и совместимых устройств (камер, например) единицы и цены на них -- &amp;quot;телевизионные&amp;quot;. В нашем случае строится связка из мобильного приложения, микшера, сервиса стриминга в соцсети и CDN, при этом, рассчитанная на работу с доступными каналами связи (1-8 вместо 40 мбит/с). Проект имеет смысл и развитие и безотносительно самодельных микшеров, т.к. RTSP-камера может использоваться в программных микшерах (в том же Vmix).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_RTSP/RTMP_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24358</id>
		<title>Разработка микшера видеопотоков RTSP/RTMP (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B8%D0%BA%D1%88%D0%B5%D1%80%D0%B0_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_RTSP/RTMP_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24358"/>
		<updated>2017-09-20T14:38:01Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка микшера видеопотоков RTSP/RTMP&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Все, наверное, видели, как в телевизионной аппаратной режиссер эфира сидит за пультом,смотрит в стену с мониторами и жмет кнопки. И рядом сидят его коллеги и тоже что-то напряженно делают. Прямой эфир -- это всегда напряжение и ответственность, для его проведения требуются опыт и квалификация. А ещё -- дорогостоящее оборудование и провода до камер (или спутниковые каналы связи). Так было и так есть сейчас. Наша задача -- перенести возможности профессионального телевидения в реальность, где нет таких бюджетов, зато есть доступная цифровая техника, интернет и уже существуют все необходимые компоненты, чтобы сделать телевизионную аппаратную в облаке, а управлять ею с обычного компьютера. Тогда вы уже не привязаны к месту съёмки, перед вами мощности всех датацентров мира за очень разумные деньги, вы решаете задачи, для которых классическому телевидению пришлось бы задействовать массу дорогостоящих ресурсов. &lt;br /&gt;
&lt;br /&gt;
Ключом к успеху здесь является быстрая доставка видеопотоков через интернет (а не сигналов по проводам)от камер к &amp;quot;микшеру&amp;quot; и оттуда -- к режиссеру. Задержки всё портят. Другое отличие -- камеры мы будем использовать тоже необычные. Точнее, самые обычные,но не телевизионные и не бытовые, а камеры видеонаблюдения. &lt;br /&gt;
&lt;br /&gt;
В итоге мы получаем сервис, который принимает потоки от различных источников, переключает их (а также накладывает титры, переходы, делает мультиэкранное изображение и тд), взаимодействует с камерами и так далее. Степень погружения в возможности зависит от вашей продуктивности, в простейшем случае это переключатель потоков RTSP, отдающий итоговый поток RTSP и мультиэкранное изображение с подсветкой выбранного источника. &lt;br /&gt;
&lt;br /&gt;
Проект групповой, движок видеомикшера есть, техника и специально под эти задачи построенная VPN тоже есть. Потребуется его интеграция в рабочий процесс на удаленном сервере, real-time отображение потоков режиссеру, создание отзывчивого фронтенда.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Любопытно, но прямых аналогов нет. Движки, причем, функционально богатые, есть, а в явном виде облачный микшер видеопотоков не предлагают. Есть шанс сделать &amp;quot;скайп&amp;quot; для многокамерной съёмки/трансляции. Кто не помнит, скайп в своё время сделал видеосвязь обыденным делом, до него требовалось много приготовлений.&lt;br /&gt;
Работа связана с движком на базе gstreamer -- само по себе познавательное дело, т.к. применимость gstreamer&#039;а не ограничивается сведением потоков. &lt;br /&gt;
Помимо этого, здесь предстоит столкнуться с двумя проявлениями отзывчивости: минимизацией задержки видеопотоков (сам по себе RTSP передается почти мгновенно, но как его показать без задержки?) и созданием отзывчивого пользовательского интерфейса. Разумеется, первые версии могут быть аскетичными по возможностям, но отзывчивость будет важна.&lt;br /&gt;
В зависимости от комплектации группы, будет разрабатываться больше или меньше возможностей. Например, полезный в этой области навык -- управление камерами (ONVIF). Есть смежные проекты, где эта тема получает развитие в трекинг человека или, коррекцию параметров изображения, в имитацию работы оператора (плавные движения, правильная композиция кадра).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В любом случае понадобятся навыки программирования (будь то веб-разработка или работа с движком GStreamer/Snowmix), работы с Linux (потому что виртуалка в сети). Остальное -- специфика, с которой можно познакомиться по ходу проекта. Веб-часть на Ruby on Rails -- для унификации с базовым проектом. &lt;br /&gt;
&lt;br /&gt;
Ожидается, что разработчики умеют пользоваться поисковыми системами и stackoverflow. Руководитель может консультировать вас по предметной области (видео/тв), но не по программной разработке. &lt;br /&gt;
&lt;br /&gt;
Разработка обычно имеет недельный цикл трекинга, встречи (как индивидуальные, так и групповые) по умолчанию -- по видеосвязи, но порой надо и очно (на факультете). Необходимые технические и серверные ресурсы предоставляются.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Gstreamer и с ним Snowmix/Voctomix, возможно -- ffmpeg&lt;br /&gt;
&lt;br /&gt;
* Виртуальные машины linux, nginx и сопутствующие инструменты&lt;br /&gt;
&lt;br /&gt;
* Быстрая доставка потоков режиссеру -- возможно, WebRTC, но это не догма.&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails (для унификации) и необходимые средства для UI (например, meteor, это ещё нужно обоснованно решить).&lt;br /&gt;
&lt;br /&gt;
* Опционально: ONVIF для управления камерами (переход по предустановленным позициям)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Как микшер -- ядро телестудии, так и потоковый микшер связывает несколько разработок в мощный набор инструментов для организации полного цикла производства медиаконтента практически без капитальных вложений (не нужна закупка дорогостоящего оборудования, используется сервисная модель и облачные серверы).&lt;br /&gt;
Сам видеомикшер имеет два основных пути развития: как движок для непритязательных (выполняет монтажные функции, но не имеет выраженного &amp;quot;микшерного&amp;quot; интерфейсы, и как полноценный видеомикшер со всеми инструментами профессионального назначения. Этот проект может развиваться долго и стать стандартом де-факто для режиссеров потоковых эфиров. В такого рода проектах есть богатое поле для автоматизации и интеллектуализации рабочих процессов, есть множество рутинных процедур, которые могут быть сняты с человека, вплоть до разработки &amp;quot;автопилота&amp;quot; эфира (про это есть отдельный проект).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24357</id>
		<title>Разработка матрицы видеопотоков (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24357"/>
		<updated>2017-09-20T14:23:57Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка матрицы видеопотоков&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Матрица -- это узел, куда в телевизионном центре сходятся все сигналы и оттуда распределяются по потребителям. Технически это коробка с N входами и M выходами. И каждый выход m может быть сопоставлен входу n, при этом, на один вход может быть скоммутировано сколько угодно выходов. Ко входам подключаются камеры, выходы пультов, спутниковые приёмники с сигналами от выездных студий и внешних источников, а выходы подаются на пульты, рекордеры и эфирные кодеры. В нашем случае коммутироваться будут не сигналы в проводах, а потоки в сети. Представьте здания Вышки, в каждом по несколько оборудованных видеокамерами залов. В итоге по сети мы получаем множество потоков, но одновременно нужны далеко не все. И для режиссера эфира удобно иметь перед глазами только нужные камеры. Микшер подключен, например, к выходам 1-8 матрицы, а эти выходы коммутируются на нужные входы. Выходы матрицы также могут отдавать потоки на телевизионные панели в зданиях, сетевые рекордеры (такая тема тоже есть по соседству) и т.д.&lt;br /&gt;
&lt;br /&gt;
Этот проект в минимальном виде за час собирается &amp;quot;на коленке&amp;quot; -- связка из двух VLC образует цепочку &amp;quot;переключатель/выход&amp;quot;, где на переключателе указывается адрес входного потока, а выходной поток формируется вторым vlc (он является сервером RTSP. Количество таких пар определяет количество выходов, а входы -- это любые адреса потоков. Важно, что если к одной камере напрямую подключится много зрителей, то она не справится -- она является сервером, но не предназначена для массового доступа. Матрица выполняет роль прокси.&lt;br /&gt;
&lt;br /&gt;
Технически это сервис на виртуальной машине. Он не должен перекодировать видео, только пересылать его. Зато матрице позволительно делать подрыв при переключении (это как при переключении каналов на телевизоре -- на время звук и картинка пропадают, потом появляется новый канал). Внешне это веб-интерфейс, представляющий собой минимально админ-панель, где вводятся адреса и имена источников и выходов, а в полной версии -- есть предпросмотр для всех входов и выходов. Сервис должен быть многопользовательским с возможностью делегировать доступ, группировать каналы и т.д.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
1. Работа с linux-серверами.&lt;br /&gt;
&lt;br /&gt;
2. Поближе познакомитесь с сетями. Unicast/Multicast, TCP/UDP -- все это станет роднее и понятнее. VPN, куда же без него.&lt;br /&gt;
&lt;br /&gt;
3. Манипуляции с медиапотоками в сети. Придется разобраться в RTSP серверах (в простейшем случае это многим знакомый VLC)&lt;br /&gt;
&lt;br /&gt;
4. Разработка пользовательского интерфейса (личный кабинет с настройками, групповой доступ, отображение предпросмотра с минимизацией трафика) -- здесь достаточно ruby on rails (для совместимости поддержки с соседними проектами) и верстки bootstrap.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Такой работающий сервис позволяет собрать воедино множество источников и легко формировать индивидуальные управляемые программы на выходах. Так, например, можно легко сделать масштабируемое университетское ТВ: каждый телевизор в коридоре подключается к декодеру (это небольшая коробочка), настроенному на индивидуальный номер в матрице. Все остальное управление производится на матрице.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки программирования (рельсы можно изучить. После Python вы не будете очень страдать).&lt;br /&gt;
&lt;br /&gt;
* Ожидается, что разработчики умеют пользоваться поисковыми системами и stackoverflow. Руководитель может консультировать вас по предметной области (видео/тв), но не по программной разработке.&lt;br /&gt;
&lt;br /&gt;
* Разработка обычно имеет недельный цикл трекинга, встречи (как индивидуальные, так и групповые) по умолчанию -- по видеосвязи, но порой надо и очно (на факультете). Необходимые технические и серверные ресурсы предоставляются.&lt;br /&gt;
&lt;br /&gt;
Специфику предметной области (видеопотоки, устройства и тд) у вас будет возможность изучить по ходу проекта.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* RTSP потоки и RTSP сервер -- протокол передачи видео в реальном времени, широко используется в системах IPTV и видеонаблюдения. В быту RTSP сервер легко сделать из VLC, но есть и другие варианты (FFSERVER, Live555 и т.д.). &lt;br /&gt;
&lt;br /&gt;
* ONVIF -- стандарт управления для систем видеонаблюдения. Очень пригодится для обнаружения источников в сети и адресов потоков в этих источниках. Также, полезно сделать управление матрицей совместимым со стандартами управления прочим видеооборудованием.&lt;br /&gt;
&lt;br /&gt;
* REST API -- не технология, но очевидно, что программное взаимодействие с матрицей будет необходимо, в частности, для автоматизации вещания (расписание -- это уже тема отдельного проекта)&lt;br /&gt;
&lt;br /&gt;
* OAuth -- общее требование по аутентификации пользователей. Встречается повсеместно, освоить всегда полезно. &lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails -- веб-разработка крайне желательная на этой связке. &lt;br /&gt;
&lt;br /&gt;
* FFMPEG/GStreamer -- на случай необходимости все-таки обработать поток. Например, чтобы сгенерировать превью или сделать транскодирование в RTSP или в нужный формат (если такое указано для данного канала).&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Матрица -- вполне самодостаточный продукт для определенной инфраструктуры. Обычно медиа-производства в таком технологическом ключе не мыслят, но в совокупности с другими проектами (потоковый видеомикшер, съёмочный комплекс на IP-потоках, автотрекинг человека PTZ камерами и т.д.) образуется полноценная инфраструктура, позволяющая решать масштабные задачи, причём, изначально -- распределенно.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24355</id>
		<title>Разработка динамической сети доставки потокового видеоконтента (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24355"/>
		<updated>2017-09-20T14:10:00Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка динамической сети доставки потокового видеоконтента&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Видеотрансляции в интернет стали совсем обычным делом с тех пор, как ими вплотную занялись Youtube и, позже, соцсети. До них раздача видеопотоков зрителям решалась или своими силами, или через сети доставки контента (CDN). Суть задачи в том, что, в отличие от телевидения, которое посылает один сигнал всем, а смотрят его те, кто хотят, в интернет работает только метод передачи данных от точки к точке (unicast), что для сервера трансляций оборачивается необходимостью каждому зрителю индивидуально отправить поток. Тот же самый, что другому зрителю, в то же время, но отправить персонально. В итоге нагрузка на канал связи растет пропорционально аудитории трансляции. И задерживать такой поток нельзя.&lt;br /&gt;
&lt;br /&gt;
Решается это созданием сети серверов, между которыми распределяется нагрузка по трафику. Суть данного проекта заключается в создании такой сети серверов не в собственном датацентре, а на виртуальных машинах и в управлении созданием и отключением этих машин, в распределении потоков между ними.&lt;br /&gt;
&lt;br /&gt;
Для эффективной работы CDN требуется диагностика и мониторинг каналов связи на серверах, ресурсов самих серверов -- это отдельная подтема в проекте.&lt;br /&gt;
&lt;br /&gt;
Вторая часть проекта -- это frontend. Если при трансляции через Youtube зритель видит плеер Youtube, то при трансляции через собственный CDN зрителю надо показать какой-то свой плеер. А может быть и не только плеер. Есть множество &amp;quot;фич&amp;quot;, которые становится возможным реализовать, если вести раздачу потоков через свои ресурсы: обратная связь, учет зрительской активности, взимание платы за трансляции, учет географии и других данных о пользователе, многопоточный звук для трансляции многоязычных конференций, субтитры (у нас есть распознавание голоса в текст). Можно организовать чат, голосования и даже принимать от зрителей видеопотоки, звук и файлы через WebRTC. Разумеется, здесь задачи будут выбираться исходя из состава и готовности проектной группы.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Проект в первую очередь -- сетевой, в чистом виде -- облачный. Это разработка распределенной системы, динамически меняющейся в зависимости от нагрузки. Более того, практика показывает, что нельзя привязываться к одному провайдеру услуг: там тоже бывают перебои. В результате разработки CDN должна иметь REST API и хотя бы минимальную админ-панель, для зрителей должен предлагаться плеер (как минимум -- HLS) и страница для просмотра.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
CDN -- это серверная разработка под Linux. Язык жестко не регламентирован, попытки что-то сделать уже предпринимались на Java. Веб-разработка -- основной проект написан на Ruby on Rails, желательно не вносить разнообразие языков, но это не блокирующее требование. Плеер -- если беретесь за плеер, то хорошо бы иметь хоть какой-то опыт общения с ними. Задача может оказаться сложнее, чем кажется на первый взгляд.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
Облачные серверы запускаются с использованием API соответствующего провайдера. Некоторые провайдеры используют OpenStack, но это (на практике) не решает проблем унификации работы. Сетевой мониторинг -- само по себе важное направление в инфраструктуре ИТ. Конкретные инструменты предстоит выбрать. Плеер и фронтенд -- есть смелая идея раздавать поток через WebRTC (а это пиринговая технология, то есть, на стороне серверов будет о чем подумать), через него же собирать обратную связь. Но это отдельная часть проекта, для смелых веб-разработчиков, причем, ее можно реализовывать независимо от успехов в CDN (можем запустить в действующем проекте). Однозначно можно сказать, что Flash использовать нельзя, но при этом доставить на все платформы поток в едином виде можно лишь http-based протоколами (HLS, например), а у них есть свои недостатки -- большая задержка, от которой теряется смысл в обратной связи реального времени. Поэтому нужно предусматривать запасные протоколы: WebRTC - RTMP - HLS. Это в порядке увеличения задержки.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
CDN для трансляций можно рассматривать как модуль для сервиса видеовещания, а можно и как самостоятельную платформу, работающую поверх облачных хостингов виртуальных машин. Но вывести такой продукт в самостоятельный статус, обеспечить необходимые функционал и стабильность -- это задача для настойчивых.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq Обратите внимание, что проект составной и то, какие части пойдут в работу, мы поймём, когда сформируется состав рабочей группы. То есть, отсутствие в итоге какой-то из частей, не блокирующей работу (например, WebRTC не запустили, но HLS плеер есть -- его поставить недолго) никак не снижает оценки проделанной работы по тем частям проекта, которые выполнены. Участники проекта имеют свою область ответственности и оценки получают в соответствии с успехами в этих областях.&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0._(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24352</id>
		<title>Разработка динамической сети доставки потокового видеоконтента. (командный проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0._(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24352"/>
		<updated>2017-09-20T14:01:07Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_командного_проекта&lt;br /&gt;
|name=Разработка динамической сети доставки потокового видеоконтента&lt;br /&gt;
|company=On-Air.Pro&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=3&lt;br /&gt;
|number_of_students=4-6&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Видеотрансляции в интернет стали совсем обычным делом с тех пор, как ими вплотную занялись Youtube и, позже, соцсети. До них раздача видеопотоков зрителям решалась или своими силами, или через сети доставки контента (CDN). Суть задачи в том, что, в отличие от телевидения, которое посылает один сигнал всем, а смотрят его те, кто хотят, в интернет работает только метод передачи данных от точки к точке (unicast), что для сервера трансляций оборачивается необходимостью каждому зрителю индивидуально отправить поток. Тот же самый, что другому зрителю, в то же время, но отправить персонально. В итоге нагрузка на канал связи растет пропорционально аудитории трансляции. И задерживать такой поток нельзя. &lt;br /&gt;
&lt;br /&gt;
Решается это созданием сети серверов, между которыми распределяется нагрузка по трафику. Суть данного проекта заключается в создании такой сети серверов не в собственном датацентре, а на виртуальных машинах и в управлении созданием и отключением этих машин, в распределении потоков между ними.&lt;br /&gt;
&lt;br /&gt;
Для эффективной работы CDN требуется диагностика и мониторинг каналов связи на серверах, ресурсов самих серверов -- это отдельная подтема в проекте.&lt;br /&gt;
&lt;br /&gt;
Вторая часть проекта -- это frontend. Если при трансляции через Youtube зритель видит плеер Youtube, то при трансляции через собственный CDN зрителю надо показать какой-то свой плеер. А может быть и не только плеер. Есть множество &amp;quot;фич&amp;quot;, которые становится возможным реализовать, если вести раздачу потоков через свои ресурсы: обратная связь, учет зрительской активности, взимание платы за трансляции, учет географии и других данных о пользователе, многопоточный звук для трансляции многоязычных конференций, субтитры (у нас есть распознавание голоса в текст). Можно организовать чат, голосования и даже принимать от зрителей видеопотоки, звук и файлы через WebRTC. Разумеется, здесь задачи будут выбираться исходя из состава и готовности проектной группы.&lt;br /&gt;
&lt;br /&gt;
=== Чему научатся студенты? Что самое интересное в проекте? ===&lt;br /&gt;
Проект в первую очередь -- сетевой, в чистом виде -- облачный. Это разработка распределенной системы, динамически меняющейся в зависимости от нагрузки. Более того, практика показывает, что нельзя привязываться к одному провайдеру услуг: там тоже бывают перебои. &lt;br /&gt;
В результате разработки CDN должна иметь REST API и хотя бы минимальную админ-панель, для зрителей должен предлагаться плеер (как минимум -- HLS) и страница для просмотра.&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Компоненеты (Из каких частей состоит проект?) ===&lt;br /&gt;
1. Работа с API хостинг-провайдеров. &lt;br /&gt;
&lt;br /&gt;
2. Балансировщик &lt;br /&gt;
&lt;br /&gt;
3. REST API для сервиса трансляций.&lt;br /&gt;
&lt;br /&gt;
4. Плеер и фронтенд (для зрителя, для админа)&lt;br /&gt;
&lt;br /&gt;
5. WebRTC обвеска (в дополнение к предыдущему пункту)&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
Облачные серверы запускаются с использованием API соответствующего провайдера. Некоторые провайдеры используют OpenStack, но это (на практике) не решает проблем унификации работы. &lt;br /&gt;
Сетевой мониторинг -- само по себе важное направление в инфраструктуре ИТ. Конкретные инструменты предстоит выбрать.&lt;br /&gt;
Плеер и фронтенд -- есть смелая идея раздавать поток через WebRTC (а это пиринговая технология, то есть, на стороне серверов будет о чем подумать), через него же собирать обратную связь. Но это отдельная часть проекта, для смелых веб-разработчиков, причем, ее можно реализовывать независимо от успехов в CDN (можем запустить в действующем проекте).&lt;br /&gt;
Однозначно можно сказать, что Flash использовать нельзя, но при этом доставить на все платформы поток в едином виде можно лишь http-based протоколами (HLS, например), а у них есть свои недостатки -- большая задержка, от которой теряется смысл в обратной связи реального времени. Поэтому нужно предусматривать запасные протоколы:  WebRTC - RTMP - HLS. Это в порядке увеличения задержки.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
CDN -- это серверная разработка под Linux. Язык жестко не регламентирован, попытки что-то сделать уже предпринимались на Java. &lt;br /&gt;
Веб-разработка -- основной проект написан на Ruby on Rails, желательно не вносить разнообразие языков, но это не блокирующее требование. &lt;br /&gt;
Плеер -- если беретесь за плеер, то хорошо бы иметь хоть какой-то опыт общения с ними. Задача может оказаться сложнее, чем кажется на первый взгляд.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
Обратите внимание, что проект составной и то, какие части пойдут в работу, мы поймём, когда сформируется состав рабочей группы. То есть, отсутствие в итоге какой-то из частей, не блокирующей работу (например, WebRTC не запустили, но HLS плеер есть -- его поставить недолго) никак не снижает оценки проделанной работы по тем частям проекта, которые выполнены. Участники проекта имеют свою область ответственности и оценки получают в соответствии с успехами в этих областях.&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Похожие проекты ===&lt;br /&gt;
CDNVideo, NGenix -- российские CDN, классические, на физических серверах. Akamai и т.д. -- зарубежные, их много. Но они решают больше задач: DVR -- запись с timeshift, раздача статического контента (про это есть отдельный проект среди предложенных здесь, и он базируется на бесконечных GoogleDrive)&lt;br /&gt;
&lt;br /&gt;
FaceCast -- интересная организация, скоро запускают новую версию своей платформы с API. Но у них нет задачи работы в реальном времени, чат там тоже внешний и не сохраняется, и вообще они предлагают полный цикл от отправки сигнала с камер, а не только доставку потоков. CDN они тоже сделали на своих серверах, хотя и использовали подход Google -- много дешевых машин, распределенное хранение, резервирование. &lt;br /&gt;
&lt;br /&gt;
По использованию WebRTC: appear.in -- видеочат. Но чат связывает участников одного уровня между собой, причем, всех со всеми, а тут задача другая -- на противоположной стороне от зрителя будет сервер.&lt;br /&gt;
&lt;br /&gt;
=== Контактная информация ===&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0._(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24351</id>
		<title>Разработка динамической сети доставки потокового видеоконтента. (командный проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%81%D0%B5%D1%82%D0%B8_%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B8_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BD%D1%82%D0%B0._(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24351"/>
		<updated>2017-09-20T13:59:38Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_командного_проекта&lt;br /&gt;
|name=Разработка динамической сети доставки потокового видеоконтента&lt;br /&gt;
|company=On-Air.Pro&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=3&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Видеотрансляции в интернет стали совсем обычным делом с тех пор, как ими вплотную занялись Youtube и, позже, соцсети. До них раздача видеопотоков зрителям решалась или своими силами, или через сети доставки контента (CDN). Суть задачи в том, что, в отличие от телевидения, которое посылает один сигнал всем, а смотрят его те, кто хотят, в интернет работает только метод передачи данных от точки к точке (unicast), что для сервера трансляций оборачивается необходимостью каждому зрителю индивидуально отправить поток. Тот же самый, что другому зрителю, в то же время, но отправить персонально. В итоге нагрузка на канал связи растет пропорционально аудитории трансляции. И задерживать такой поток нельзя. &lt;br /&gt;
&lt;br /&gt;
Решается это созданием сети серверов, между которыми распределяется нагрузка по трафику. Суть данного проекта заключается в создании такой сети серверов не в собственном датацентре, а на виртуальных машинах и в управлении созданием и отключением этих машин, в распределении потоков между ними.&lt;br /&gt;
&lt;br /&gt;
Для эффективной работы CDN требуется диагностика и мониторинг каналов связи на серверах, ресурсов самих серверов -- это отдельная подтема в проекте.&lt;br /&gt;
&lt;br /&gt;
Вторая часть проекта -- это frontend. Если при трансляции через Youtube зритель видит плеер Youtube, то при трансляции через собственный CDN зрителю надо показать какой-то свой плеер. А может быть и не только плеер. Есть множество &amp;quot;фич&amp;quot;, которые становится возможным реализовать, если вести раздачу потоков через свои ресурсы: обратная связь, учет зрительской активности, взимание платы за трансляции, учет географии и других данных о пользователе, многопоточный звук для трансляции многоязычных конференций, субтитры (у нас есть распознавание голоса в текст). Можно организовать чат, голосования и даже принимать от зрителей видеопотоки, звук и файлы через WebRTC. Разумеется, здесь задачи будут выбираться исходя из состава и готовности проектной группы.&lt;br /&gt;
&lt;br /&gt;
=== Чему научатся студенты? Что самое интересное в проекте? ===&lt;br /&gt;
Проект в первую очередь -- сетевой, в чистом виде -- облачный. Это разработка распределенной системы, динамически меняющейся в зависимости от нагрузки. Более того, практика показывает, что нельзя привязываться к одному провайдеру услуг: там тоже бывают перебои. &lt;br /&gt;
В результате разработки CDN должна иметь REST API и хотя бы минимальную админ-панель, для зрителей должен предлагаться плеер (как минимум -- HLS) и страница для просмотра.&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Компоненеты (Из каких частей состоит проект?) ===&lt;br /&gt;
1. Работа с API хостинг-провайдеров. &lt;br /&gt;
&lt;br /&gt;
2. Балансировщик &lt;br /&gt;
&lt;br /&gt;
3. REST API для сервиса трансляций.&lt;br /&gt;
&lt;br /&gt;
4. Плеер и фронтенд (для зрителя, для админа)&lt;br /&gt;
&lt;br /&gt;
5. WebRTC обвеска (в дополнение к предыдущему пункту)&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
Облачные серверы запускаются с использованием API соответствующего провайдера. Некоторые провайдеры используют OpenStack, но это (на практике) не решает проблем унификации работы. &lt;br /&gt;
Сетевой мониторинг -- само по себе важное направление в инфраструктуре ИТ. Конкретные инструменты предстоит выбрать.&lt;br /&gt;
Плеер и фронтенд -- есть смелая идея раздавать поток через WebRTC (а это пиринговая технология, то есть, на стороне серверов будет о чем подумать), через него же собирать обратную связь. Но это отдельная часть проекта, для смелых веб-разработчиков, причем, ее можно реализовывать независимо от успехов в CDN (можем запустить в действующем проекте).&lt;br /&gt;
Однозначно можно сказать, что Flash использовать нельзя, но при этом доставить на все платформы поток в едином виде можно лишь http-based протоколами (HLS, например), а у них есть свои недостатки -- большая задержка, от которой теряется смысл в обратной связи реального времени. Поэтому нужно предусматривать запасные протоколы:  WebRTC - RTMP - HLS. Это в порядке увеличения задержки.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
CDN -- это серверная разработка под Linux. Язык жестко не регламентирован, попытки что-то сделать уже предпринимались на Java. &lt;br /&gt;
Веб-разработка -- основной проект написан на Ruby on Rails, желательно не вносить разнообразие языков, но это не блокирующее требование. &lt;br /&gt;
Плеер -- если беретесь за плеер, то хорошо бы иметь хоть какой-то опыт общения с ними. Задача может оказаться сложнее, чем кажется на первый взгляд.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения: &lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа. &lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
Обратите внимание, что проект составной и то, какие части пойдут в работу, мы поймём, когда сформируется состав рабочей группы. То есть, отсутствие в итоге какой-то из частей, не блокирующей работу (например, WebRTC не запустили, но HLS плеер есть -- его поставить недолго) никак не снижает оценки проделанной работы по тем частям проекта, которые выполнены. Участники проекта имеют свою область ответственности и оценки получают в соответствии с успехами в этих областях.&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Похожие проекты ===&lt;br /&gt;
CDNVideo, NGenix -- российские CDN, классические, на физических серверах. Akamai и т.д. -- зарубежные, их много. Но они решают больше задач: DVR -- запись с timeshift, раздача статического контента (про это есть отдельный проект среди предложенных здесь, и он базируется на бесконечных GoogleDrive)&lt;br /&gt;
&lt;br /&gt;
FaceCast -- интересная организация, скоро запускают новую версию своей платформы с API. Но у них нет задачи работы в реальном времени, чат там тоже внешний и не сохраняется, и вообще они предлагают полный цикл от отправки сигнала с камер, а не только доставку потоков. CDN они тоже сделали на своих серверах, хотя и использовали подход Google -- много дешевых машин, распределенное хранение, резервирование. &lt;br /&gt;
&lt;br /&gt;
По использованию WebRTC: appear.in -- видеочат. Но чат связывает участников одного уровня между собой, причем, всех со всеми, а тут задача другая -- на противоположной стороне от зрителя будет сервер.&lt;br /&gt;
&lt;br /&gt;
=== Контактная информация ===&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D0%B0_%D0%B4%D0%BB%D1%8F_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24350</id>
		<title>Разработка веб-сервиса файлового менеджера для GoogleDrive (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D0%B0_%D0%B4%D0%BB%D1%8F_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24350"/>
		<updated>2017-09-20T13:57:21Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка веб-сервиса файлового менеджера для GoogleDrive&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Не все знают, но у корпоративных и академических аккаунтов Google безлимитные хранилища в GoogleDrive. При этом, скорость обмена с сервером достаточная, чтобы хранить там медиаархивы. Это радикально меняет подход к хранению данных видеопроизводств, к видеорегистрации и многим другим &amp;quot;тяжеловесным&amp;quot; задачам. Проект нацелен на создание медиаархива на базе хранилища GoogleDrive. От стандартной веб-оболочки медиаархив отличают две важные особенности:&lt;br /&gt;
&lt;br /&gt;
1. Представление данных в том виде, в каком это удобно для выборки, шаринга, выгрузки и т.д&lt;br /&gt;
&lt;br /&gt;
2. Дополнение имеющихся метаданных информацией, получаемой от файловой системы и при анализе контента.&lt;br /&gt;
&lt;br /&gt;
В данном проекте решается первая задача (вторая решается в соседнем проекте). Для этого уже написан веб-интерфейс файлового менеджера (MeteorJS, используется MongoDB). По сути, требуется доработка проекта.&lt;br /&gt;
&lt;br /&gt;
При этом, важные требования: через серверы проекта медиа-трафик не проходит. То есть, загружается только метаинформация. Про метаданные файлов есть важное замечание: данных может быть довольно много, они даже могут быть относительно объёмными. Поэтому хранить их в полях метаданных, предоставляемых GoogleDrive не получится (кроме базовых сведений о файле -- это можно). Также, следует экономно относиться к запросам к серверу, т.к. на них есть ограничение для публичного сервиса оно вполне достижимое.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Разработка веб-приложения с отзывчивым интерфейсом&lt;br /&gt;
&lt;br /&gt;
* Глубокое взаимодействие с API GoogleDrive&lt;br /&gt;
&lt;br /&gt;
На выходе открытый продукт -- альтернативный файловый менеджер для GoogleDrive, размещённый в ChromeMarket.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки веб-разработки или желание её изучить.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Meteor / MongoDB&lt;br /&gt;
* GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Файлменеджер для GoogleDrive -- это &amp;quot;витрина&amp;quot; большого проекта, включающего анализатор файлов на облачном диске пользователя, сервис по продаже безлимитных аккаунтов, сервис персонализации контента (вотермаркинг) и даже CDN (сеть доставки контента, в данном случае -- статического, например, для часто запрашиваемых медиаматериалов).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24342</id>
		<title>Автоматическая экспо- и цветокоррекция при съёмке IP камерами (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24342"/>
		<updated>2017-09-20T08:40:15Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Автоматическая экспо- и цветокоррекция при съёмке IP камерами&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Когда вы снимаете фото или видео, ваша камера автоматически подстраивается под условия освещения. Когда у нее это не получается, цвета в изображении искажаются (желтые фотографии в домашнем свете, синие в сумерках и т.д.). Это несложно настроить вручную, но теперь представим, что одновременно работает несколько камер. Здесь задача усложнаяется: нужно, чтобы цветопередача и экспозиция на всех камерах была одинаковой.&lt;br /&gt;
&lt;br /&gt;
Здесь нам пригодится опыт телевизионных съёмочных комплексов. На телевидении оператор не занимается настройкой параметров изображения и прочими техническими подробностями, его задача -- направить камеру. Даже фокус за него могут поправить его коллеги. Все параметры экспозиции и цветопередачи настраивают на специальном пульте.&lt;br /&gt;
&lt;br /&gt;
Если взять обычные камеры видеонаблюдения, то они тоже настраиваются дистанционно и у нас есть возможность менять все нужные параметры, посылая на камеры соответствующие команды.&lt;br /&gt;
&lt;br /&gt;
Задача этого проекта -- сделать программу для корректировки параметров камер как вручную, так и в полностью автоматическом режиме. Регулируемые параметры:&lt;br /&gt;
&lt;br /&gt;
1. Цветопередача (Cb/Cr) 2. Экспозиция (яркость, контрастность)&lt;br /&gt;
&lt;br /&gt;
Дополнительные возможности: 1. Мониторинг фокуса&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Программа должна иметь пользовательский интерфейс для ручной настройки и переключения режимов (отключения автоматики). Программа предназначена для работы как на пользовательском компьютере (Windows), так и на сервере Linux на виртуальной машине с доступом к камерам через VPN. Адрес получения потока и адрес управления камерой могут отличаться (при работе через матрицу потоков или иной прокси-сервер).&lt;br /&gt;
&lt;br /&gt;
Аналогичный проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208027466.html&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Управление камерами через ONVIF, включая автодетекцию камер в сети.&lt;br /&gt;
* Анализ визуальных характеристик изображений&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Владеть программированием, желательно иметь опыт общения с OpenCV.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* OpenCV&lt;br /&gt;
&lt;br /&gt;
* RTSP/MJPEG&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией. &lt;br /&gt;
&lt;br /&gt;
Тема является частью более общего проекта по созданию съёмочного комплекса -- как с ручным управлением, так и с разной степенью автоматизации; как локального, так и полностью распределенного. Одно из внедрений такого комплекса начинается на ФКН для записи и трансляции значимых событий.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_WebRTC_%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24341</id>
		<title>Интеграция WebRTC в сервис потокового вещания для отображения потоков в реальном времени (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_WebRTC_%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24341"/>
		<updated>2017-09-20T08:39:59Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Интеграция WebRTC в сервис потокового вещания для отображения потоков в реальном времени&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Небольшая и совершенно конкретная тема, входящая в несколько соседних проектов в качестве подпроекта: есть задачи, в которых требуется получать видео из потока RAW/RTSP в реальном времени (или близком к реальному). Когда речь идёт о видеосистемах, там есть протоколы, которые с этим справляются (RTP, RTSP), но браузеры не умеют показывать RTP/RTSP. Зато некоторые браузеры (этого достаточно) умеют показывать WebRTC. В этой задаче нет новизны, она ориентирована на внедрение конкретного технического решения и отладку шероховатостей, возникающих в реальной жизни с реальными потоками.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Работа с видеопотоками в сети, доставка видео в реальном времени&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки веб-программирования, желательно Ruby on Rails (для прототипа можно использовать любой язык).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* WebRTC (сервер Kurento или другой -- на выбор исполнителя)&lt;br /&gt;
* Ruby on Rails&lt;br /&gt;
* JavaScript&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией.&lt;br /&gt;
&lt;br /&gt;
Это проект одной технологии, причём, применяться она может в обе стороны: как для доставки видеопотоков зрителю, так и для получения от него потока с камеры и с рабочего стола. Может применяться и для передачи файлов. Всё это имеет применение в видеотрансляциях, даже массовых. В настоящее время включение в эфир &amp;quot;звонка зрителя&amp;quot; выполняется или отдельным сервисом (Skype, например), или средствами программного видеомикшера (&amp;quot;звонящий&amp;quot; переходит по ссылке, рабочий стол показать при этом нельзя). Реализация полноценной обратной связи -- это полноценный проект, построенный на той же технологии WebRTC со связкой с потоковым микшером. Это важный элемент для создания видеокомплекса в облаке, действующего в реальном времени (то есть, с полноценной поддержкой режиссируемого общения участников)&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2,_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D1%8B%D1%85_%D0%B2_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24340</id>
		<title>Разработка анализатора файлов, хранимых в GoogleDrive (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2,_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D1%8B%D1%85_%D0%B2_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24340"/>
		<updated>2017-09-20T08:39:38Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка анализатора файлов, хранимых в GoogleDrive&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
В соседнем проекте предлагается разработка файлового менеджера для медиаархивов, расположенных в GoogleDrive (корпоративные и академические аккаунты имеют безлимитные хранилища, что при хорошей скорости доступа позволяет включать их в работу там, где раньше использовались серверы хранения).&lt;br /&gt;
&lt;br /&gt;
Рабочий процесс при работе с медиаархивом на диске Google выглядит следующим образом:&lt;br /&gt;
&lt;br /&gt;
1. Для обмена данными с GoogleDrive используются альтернативные приложения, например, WebDrive, позволяющий подключать облачный аккаунт как логический диск в Windows/Mac.&lt;br /&gt;
&lt;br /&gt;
2. Файлы отображаются в виртуальной файловой системе WebDrive и в веб-интерфейсе GoogleDrive в иерархическом виде, доступны все стандартные действия.&lt;br /&gt;
&lt;br /&gt;
3. Веб-файлменеджер медиаархива показывает ту же структуру файлов, но может формировать другие представления, основываясь на критериях отбора, делать смарт-папки, витрины и давать задания на обработку (например, персонализированную маркировку файлов для отправки клиенту, чтобы было не повадно класть их на видном месте). И здесь возникает первая проблема недостатка метаинформации: про файлы мы в лучшем случае знаем дату их изменения, и то -- не всегда. Если файл загружался через браузер или стандартным приложением Google, то на GoogleDrive запишется дата загрузки. Более детальной информации о многих файлах получить не удастся: если для фотографий доступны данные EXIF (метаданные, которые записывают фотокамеры и фоторедакторы), то про видео известна самая малость: длина, размер кадра, формат. Даже размер файла точно неизвестен. Правда, про все файлы мы можем узнать MD5 -- это пригодится для поиска дубликатов. Недостающие данные можно было бы легко получить на стороне пользователя (про видеофайлы нам всё расскажет FFPROBE, про даты, пути, пользователя и т.д. -- файловая и операционная система через стандартные вызовы. Но у пользователя мы ничего не запускаем (хотя и можем ему предложить утилиту для отправки этой информации, которую потом будем считывать в базу уже с GoogleDrive) и выгружать на свой сервер терабайты ради этого было бы жаль, если не проводить более глубоких исследований файлов. Какие это могут быть исследования?&lt;br /&gt;
&lt;br /&gt;
Если на жестком диске лежат два вроде бы одинаковых файла, то мы можем:&lt;br /&gt;
&lt;br /&gt;
1. Сравнить их контрольные суммы, размеры и названия. Названия мало что значат, размеры тоже могут совпадать, MD5 совпадает редко. Но всё это бесполезно, если речь идет о об исходном файле и его сжатой копии.&lt;br /&gt;
&lt;br /&gt;
2. Здесь придется сравнивать содержимое. Например, вычесть изображения и посмотреть, что осталось в разнице. Если видео -- аналогично вычитать кадры (можно не все, хотя есть риск пропустить разницу). Надо ещё не забыть про звук и звуковые дорожки -- разница может быть в них. Всё это -- ресурсоёмкие операции, требующие наличия доступа к обоим сравниваемым файлам.&lt;br /&gt;
&lt;br /&gt;
3. А если файлы большие, их очень много и расположены на удаленном сервере? В таком случае придётся строить индекс и сравнивать не сами файлы, а описания файлов. Назовём их сигнатурами. Простой вариант -- построить гистаграммы (это 3 набора из 256 значений) для каждого кадра видео. Оригинал это или сжатая копия -- распределение яркостей по цветовым каналам должно быть примерно одинаковым. Можно попробовать более изощрённые методы, и даже в этом результирующие значения можно записать более экономно, чем 256 уровней *3 канала *2 байта * количество кадров. В любом случае, операции с данными раскладываются на два этапа: а) сбор метаданных, включая сигнатуры, какими бы они ни были, б) сравнение сигнатур.&lt;br /&gt;
&lt;br /&gt;
Поскольку разрабатываемый сервис является сторонним и для Google и для пользовательского рабочего места приложением, запущен на виртуальных машинах в облаке, то для выполнения этих задач ему понадобится&lt;br /&gt;
&lt;br /&gt;
* выгрузить последовательно все файлы с указанного пользовательского аккаунта к себе и провести все необходимые операции для анализа.&lt;br /&gt;
* отправить собранные метаданные в базу данных файлового менеджера.&lt;br /&gt;
&lt;br /&gt;
Предстоит определить список операций и характеристик файлов, для которых составляются сигнатуры. Например, поиск дубликатов (включае нечеткие), определение частей целого (сопоставление файлов, содержащих исходную запись и нарезки из неё), поиск материалов по их характеристикам (динамичное видео, темные фотографии, ..... Кстати, здесь могут быть актуальны и запросы &amp;quot;размытые фотографии&amp;quot;, &amp;quot;портреты&amp;quot; и тд).&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
В зависимости от роли:&lt;br /&gt;
&lt;br /&gt;
* Анализировать фото, видео, аудио контент с целью составления метаописаний, по которым можно сравнивать эти материалы между собой и с новыми файлами, а также определять определенные их характеристики.&lt;br /&gt;
&lt;br /&gt;
* Работать с GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
* Создавать веб-сервисы с REST API&lt;br /&gt;
&lt;br /&gt;
* Организовывать очередь запросов и распределение задач по воркерам на виртуальных машинах с (это опционально) запуском этих машин по мере надобности (через API провайдера).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от роли в проекте:&lt;br /&gt;
&lt;br /&gt;
1. Программирование веб-сервисров: опыт или желание освоить.&lt;br /&gt;
&lt;br /&gt;
2. Анализ изображений. Хотя бы представление о том, как и чем это делается.&lt;br /&gt;
&lt;br /&gt;
3. Linux и bash, чтобы не удивляться при работе с виртуалками.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* GoogleDrive API, OAuth.&lt;br /&gt;
&lt;br /&gt;
* Анализ изображений, видео, звука. От FFPROBE/ImageMagick до OpenCV и далее -- на сколько хватит фантазии.&lt;br /&gt;
&lt;br /&gt;
* Работа с виртуальными серверами на хостинг-провайдерах (API)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Веб-интерфейс в таком сервисе не является необходимой частью, но может использоваться для демонстрации возможностей. Основное взаимодействие с внешним миром -- REST API.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Этот проект довольно узкоспецифический, но по сути анализ медиаматериалов -- это то, чем занимаются поисковые системы, которые в выдаче картинок предлагают в настройках разные опции (в определенной цветовой гамме и тд). Они идут дальше и всерьез применяют распознавание и ML. Нам это тоже не повредит, но это следующий этап после запуска базовых возможностей. Ничто не мешает его начать делать уже сейчас.&lt;br /&gt;
&lt;br /&gt;
Близкий проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208039048.html&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BD%D0%B5%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24339</id>
		<title>Разработка веб-сервиса нелинейного видеоредактора (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0_%D0%BD%D0%B5%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24339"/>
		<updated>2017-09-20T08:39:14Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка веб-сервиса нелинейного видеоредактора&lt;br /&gt;
|mentor=&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=&lt;br /&gt;
|number_of_students=&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Существует уже много веб-сервисов и мобильных приложений для редактирования фото и видео. Как обычно, чтобы ими воспользоваться, нужно в них загрузить свои файлы. А если файлы уже лежат в облаке, при этом, важно быстро внести требуемые изменения, то это неудобно. Чаще всего требуется подрезка, наложение титров или графики, склейка фрагментов. Эти операции могут выполняться из командной строки, если знать требуемые параметры (например, при помощи ffmpeg).&lt;br /&gt;
&lt;br /&gt;
Задача в этом проекте разделена на два уровня сложности:&lt;br /&gt;
&lt;br /&gt;
1. Сделать простой видеоредактор для выполнения основных операций: отрезать, приклеить, наложить, преобразовать в нужный размер/формат. При этом, в качестве источника должны приниматься файлы на GoogleDrive, WebDAV и FTP. Работа с файлами должна строиться путём отбора нужных материалов из архива с дальнейшей выгрузкой их на сервер (или открытием непосредственно с GoogleDrive) с последующей записью результата по любому указанному пути или выгрузкой пользователю.&lt;br /&gt;
&lt;br /&gt;
2. Построить полноценный нелинейный редактор на основе существующего движка (например [https://www.mltframework.org/features/&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
Либо писать свой интерфейс для несложного видеоредактора (даже для несложного придется потрудиться), либо работать с фреймворком видеоредактора и тоже строить отзывчивый пользовательский интерфейс.&lt;br /&gt;
&lt;br /&gt;
Взаимодействовать с облачными хранилищами, API GoogleDrive, использовать OAuth и т.д.&lt;br /&gt;
&lt;br /&gt;
Строить сервисы с распределением нагрузки по виртуальным машинам.&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Не бояться разбираться в фреймворках и api. Хотеть довести продукт до рабочего состояния.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Фреймворк NLE-редактора&lt;br /&gt;
&lt;br /&gt;
* GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
* Собственный REST API&lt;br /&gt;
&lt;br /&gt;
* Отзывчивый UI (JS-based)&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Очевидное развитие проекта: интеграция в связанные по смыслу сервисы (облачный медиаархив, сервис трансляций) и автоматизация нелинейного монтажа (программа, осуществляющая автомонтаж по готовым материалам имеет существенно больше возможностей подумать, чем аналогичная программа, работающая в прямом эфире. Зато у неё может быть меньше данных о синхронизации материалов).&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;br /&gt;
&lt;br /&gt;
Денис Королев,&lt;br /&gt;
&lt;br /&gt;
https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)&lt;br /&gt;
&lt;br /&gt;
+7 903 610 3290 (месенджеры по вкусу)&lt;br /&gt;
&lt;br /&gt;
d.korolev@gmail.com&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2,_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D1%8B%D1%85_%D0%B2_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24338</id>
		<title>Разработка анализатора файлов, хранимых в GoogleDrive (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%B0_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2,_%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BC%D1%8B%D1%85_%D0%B2_GoogleDrive_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24338"/>
		<updated>2017-09-20T08:29:43Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Разработка анализатора файлов, хранимых в GoogleDrive&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
В соседнем проекте предлагается разработка файлового менеджера для медиаархивов, расположенных в GoogleDrive (корпоративные и академические аккаунты имеют безлимитные хранилища, что при хорошей скорости доступа позволяет включать их в работу там, где раньше использовались серверы хранения).&lt;br /&gt;
&lt;br /&gt;
Рабочий процесс при работе с медиаархивом на диске Google выглядит следующим образом:&lt;br /&gt;
&lt;br /&gt;
1. Для обмена данными с GoogleDrive используются альтернативные приложения, например, WebDrive, позволяющий подключать облачный аккаунт как логический диск в Windows/Mac.&lt;br /&gt;
&lt;br /&gt;
2. Файлы отображаются в виртуальной файловой системе WebDrive и в веб-интерфейсе GoogleDrive в иерархическом виде, доступны все стандартные действия.&lt;br /&gt;
&lt;br /&gt;
3. Веб-файлменеджер медиаархива показывает ту же структуру файлов, но может формировать другие представления, основываясь на критериях отбора, делать смарт-папки, витрины и давать задания на обработку (например, персонализированную маркировку файлов для отправки клиенту, чтобы было не повадно класть их на видном месте). И здесь возникает первая проблема недостатка метаинформации: про файлы мы в лучшем случае знаем дату их изменения, и то -- не всегда. Если файл загружался через браузер или стандартным приложением Google, то на GoogleDrive запишется дата загрузки. Более детальной информации о многих файлах получить не удастся: если для фотографий доступны данные EXIF (метаданные, которые записывают фотокамеры и фоторедакторы), то про видео известна самая малость: длина, размер кадра, формат. Даже размер файла точно неизвестен. Правда, про все файлы мы можем узнать MD5 -- это пригодится для поиска дубликатов. Недостающие данные можно было бы легко получить на стороне пользователя (про видеофайлы нам всё расскажет FFPROBE, про даты, пути, пользователя и т.д. -- файловая и операционная система через стандартные вызовы. Но у пользователя мы ничего не запускаем (хотя и можем ему предложить утилиту для отправки этой информации, которую потом будем считывать в базу уже с GoogleDrive) и выгружать на свой сервер терабайты ради этого было бы жаль, если не проводить более глубоких исследований файлов. Какие это могут быть исследования?&lt;br /&gt;
&lt;br /&gt;
Если на жестком диске лежат два вроде бы одинаковых файла, то мы можем:&lt;br /&gt;
&lt;br /&gt;
1. Сравнить их контрольные суммы, размеры и названия. Названия мало что значат, размеры тоже могут совпадать, MD5 совпадает редко. Но всё это бесполезно, если речь идет о об исходном файле и его сжатой копии.&lt;br /&gt;
&lt;br /&gt;
2. Здесь придется сравнивать содержимое. Например, вычесть изображения и посмотреть, что осталось в разнице. Если видео -- аналогично вычитать кадры (можно не все, хотя есть риск пропустить разницу). Надо ещё не забыть про звук и звуковые дорожки -- разница может быть в них. Всё это -- ресурсоёмкие операции, требующие наличия доступа к обоим сравниваемым файлам.&lt;br /&gt;
&lt;br /&gt;
3. А если файлы большие, их очень много и расположены на удаленном сервере? В таком случае придётся строить индекс и сравнивать не сами файлы, а описания файлов. Назовём их сигнатурами. Простой вариант -- построить гистаграммы (это 3 набора из 256 значений) для каждого кадра видео. Оригинал это или сжатая копия -- распределение яркостей по цветовым каналам должно быть примерно одинаковым. Можно попробовать более изощрённые методы, и даже в этом результирующие значения можно записать более экономно, чем 256 уровней *3 канала *2 байта * количество кадров. В любом случае, операции с данными раскладываются на два этапа: а) сбор метаданных, включая сигнатуры, какими бы они ни были, б) сравнение сигнатур.&lt;br /&gt;
&lt;br /&gt;
Поскольку разрабатываемый сервис является сторонним и для Google и для пользовательского рабочего места приложением, запущен на виртуальных машинах в облаке, то для выполнения этих задач ему понадобится&lt;br /&gt;
&lt;br /&gt;
* выгрузить последовательно все файлы с указанного пользовательского аккаунта к себе и провести все необходимые операции для анализа.&lt;br /&gt;
* отправить собранные метаданные в базу данных файлового менеджера.&lt;br /&gt;
&lt;br /&gt;
Предстоит определить список операций и характеристик файлов, для которых составляются сигнатуры. Например, поиск дубликатов (включае нечеткие), определение частей целого (сопоставление файлов, содержащих исходную запись и нарезки из неё), поиск материалов по их характеристикам (динамичное видео, темные фотографии, ..... Кстати, здесь могут быть актуальны и запросы &amp;quot;размытые фотографии&amp;quot;, &amp;quot;портреты&amp;quot; и тд).&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
В зависимости от роли:&lt;br /&gt;
&lt;br /&gt;
* Анализировать фото, видео, аудио контент с целью составления метаописаний, по которым можно сравнивать эти материалы между собой и с новыми файлами, а также определять определенные их характеристики.&lt;br /&gt;
&lt;br /&gt;
* Работать с GoogleDrive API&lt;br /&gt;
&lt;br /&gt;
* Создавать веб-сервисы с REST API&lt;br /&gt;
&lt;br /&gt;
* Организовывать очередь запросов и распределение задач по воркерам на виртуальных машинах с (это опционально) запуском этих машин по мере надобности (через API провайдера).&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
В зависимости от роли в проекте:&lt;br /&gt;
&lt;br /&gt;
1. Программирование веб-сервисров: опыт или желание освоить.&lt;br /&gt;
&lt;br /&gt;
2. Анализ изображений. Хотя бы представление о том, как и чем это делается.&lt;br /&gt;
&lt;br /&gt;
3. Linux и bash, чтобы не удивляться при работе с виртуалками.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* GoogleDrive API, OAuth.&lt;br /&gt;
&lt;br /&gt;
* Анализ изображений, видео, звука. От FFPROBE/ImageMagick до OpenCV и далее -- на сколько хватит фантазии.&lt;br /&gt;
&lt;br /&gt;
* Работа с виртуальными серверами на хостинг-провайдерах (API)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Веб-интерфейс в таком сервисе не является необходимой частью, но может использоваться для демонстрации возможностей. Основное взаимодействие с внешним миром -- REST API.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Этот проект довольно узкоспецифический, но по сути анализ медиаматериалов -- это то, чем занимаются поисковые системы, которые в выдаче картинок предлагают в настройках разные опции (в определенной цветовой гамме и тд). Они идут дальше и всерьез применяют распознавание и ML. Нам это тоже не повредит, но это следующий этап после запуска базовых возможностей. Ничто не мешает его начать делать уже сейчас.&lt;br /&gt;
&lt;br /&gt;
Близкий проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208039048.html&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_WebRTC_%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24337</id>
		<title>Интеграция WebRTC в сервис потокового вещания для отображения потоков в реальном времени (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_WebRTC_%D0%B2_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%B2%D0%B5%D1%89%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B4%D0%BB%D1%8F_%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24337"/>
		<updated>2017-09-20T08:22:58Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Интеграция WebRTC в сервис потокового вещания для отображения потоков в реальном времени&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Небольшая и совершенно конкретная тема, входящая в несколько соседних проектов в качестве подпроекта: есть задачи, в которых требуется получать видео из потока RAW/RTSP в реальном времени (или близком к реальному). Когда речь идёт о видеосистемах, там есть протоколы, которые с этим справляются (RTP, RTSP), но браузеры не умеют показывать RTP/RTSP. Зато некоторые браузеры (этого достаточно) умеют показывать WebRTC. В этой задаче нет новизны, она ориентирована на внедрение конкретного технического решения и отладку шероховатостей, возникающих в реальной жизни с реальными потоками.&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Работа с видеопотоками в сети, доставка видео в реальном времени&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Навыки веб-программирования, желательно Ruby on Rails (для прототипа можно использовать любой язык).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* WebRTC (сервер Kurento или другой -- на выбор исполнителя)&lt;br /&gt;
* Ruby on Rails&lt;br /&gt;
* JavaScript&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией.&lt;br /&gt;
&lt;br /&gt;
Это проект одной технологии, причём, применяться она может в обе стороны: как для доставки видеопотоков зрителю, так и для получения от него потока с камеры и с рабочего стола. Может применяться и для передачи файлов. Всё это имеет применение в видеотрансляциях, даже массовых. В настоящее время включение в эфир &amp;quot;звонка зрителя&amp;quot; выполняется или отдельным сервисом (Skype, например), или средствами программного видеомикшера (&amp;quot;звонящий&amp;quot; переходит по ссылке, рабочий стол показать при этом нельзя). Реализация полноценной обратной связи -- это полноценный проект, построенный на той же технологии WebRTC со связкой с потоковым микшером. Это важный элемент для создания видеокомплекса в облаке, действующего в реальном времени (то есть, с полноценной поддержкой режиссируемого общения участников)&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24336</id>
		<title>Автоматическая экспо- и цветокоррекция при съёмке IP камерами (проект)</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%8D%D0%BA%D1%81%D0%BF%D0%BE-_%D0%B8_%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%86%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8_%D1%81%D1%8A%D1%91%D0%BC%D0%BA%D0%B5_IP_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D0%B0%D0%BC%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=24336"/>
		<updated>2017-09-20T08:14:10Z</updated>

		<summary type="html">&lt;p&gt;Dkorolev: Новая страница, с помощью формы Новый_проект&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Карточка_проекта&lt;br /&gt;
|name=Автоматическая экспо- и цветокоррекция при съёмке IP камерами&lt;br /&gt;
|mentor=Королев Денис&lt;br /&gt;
|mentor_login={{URLENCODE:Dkorolev|WIKI}}&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=2&lt;br /&gt;
|summer=on&lt;br /&gt;
|number_of_students=5-10&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Когда вы снимаете фото или видео, ваша камера автоматически подстраивается под условия освещения. Когда у нее это не получается, цвета в изображении искажаются (желтые фотографии в домашнем свете, синие в сумерках и т.д.). Это несложно настроить вручную, но теперь представим, что одновременно работает несколько камер. Здесь задача усложнаяется: нужно, чтобы цветопередача и экспозиция на всех камерах была одинаковой.&lt;br /&gt;
&lt;br /&gt;
Здесь нам пригодится опыт телевизионных съёмочных комплексов. На телевидении оператор не занимается настройкой параметров изображения и прочими техническими подробностями, его задача -- направить камеру. Даже фокус за него могут поправить его коллеги. Все параметры экспозиции и цветопередачи настраивают на специальном пульте.&lt;br /&gt;
&lt;br /&gt;
Если взять обычные камеры видеонаблюдения, то они тоже настраиваются дистанционно и у нас есть возможность менять все нужные параметры, посылая на камеры соответствующие команды.&lt;br /&gt;
&lt;br /&gt;
Задача этого проекта -- сделать программу для корректировки параметров камер как вручную, так и в полностью автоматическом режиме. Регулируемые параметры:&lt;br /&gt;
&lt;br /&gt;
1. Цветопередача (Cb/Cr) 2. Экспозиция (яркость, контрастность)&lt;br /&gt;
&lt;br /&gt;
Дополнительные возможности: 1. Мониторинг фокуса&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Программа должна иметь пользовательский интерфейс для ручной настройки и переключения режимов (отключения автоматики). Программа предназначена для работы как на пользовательском компьютере (Windows), так и на сервере Linux на виртуальной машине с доступом к камерам через VPN. Адрес получения потока и адрес управления камерой могут отличаться (при работе через матрицу потоков или иной прокси-сервер).&lt;br /&gt;
&lt;br /&gt;
Аналогичный проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208027466.html&lt;br /&gt;
&lt;br /&gt;
=== Чему вы научитесь? ===&lt;br /&gt;
* Управление камерами через ONVIF, включая автодетекцию камер в сети.&lt;br /&gt;
* Анализ визуальных характеристик изображений&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
Владеть программированием, желательно иметь опыт общения с OpenCV.&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* ONVIF&lt;br /&gt;
&lt;br /&gt;
* OpenCV&lt;br /&gt;
&lt;br /&gt;
* RTSP/MJPEG&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
Не в порядке изложения:&lt;br /&gt;
&lt;br /&gt;
1. Архитектура проекта. API, внешние связи и зависимости.&lt;br /&gt;
&lt;br /&gt;
2. Специфические технологии и используемые инструменты.&lt;br /&gt;
&lt;br /&gt;
3. Доступные ресурсы, организация доступа.&lt;br /&gt;
&lt;br /&gt;
4. Разделение ролей&lt;br /&gt;
&lt;br /&gt;
=== Направления развития ===&lt;br /&gt;
Предлагаемые темы не являются чисто учебными, все они -- из рабочей практики и имеют выход в коммерческие сервисы, дополняя уже имеющийся функционал. Общая практика работы &amp;quot;на развитие&amp;quot; -- преуспевший в разработке некоего проекта студент (если хочет) становится &amp;quot;хостом&amp;quot; проекта и ведет его развитие дальше уже находясь в договорных отношениях с компанией. &lt;br /&gt;
&lt;br /&gt;
Тема является частью более общего проекта по созданию съёмочного комплекса -- как с ручным управлением, так и с разной степенью автоматизации; как локального, так и полностью распределенного. Одно из внедрений такого комплекса начинается на ФКН для записи и трансляции значимых событий.&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Про работу и оценки почитайте здесь: https://d.pr/143bq&lt;br /&gt;
&lt;br /&gt;
Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!&lt;br /&gt;
&lt;br /&gt;
=== Ориентировочное расписание занятий ===&lt;br /&gt;
Более точное расписание будет ясно после утверждения графика факультативов, пока ориентируемся на вторник, среду или пятницу во второй половине дня (после 15-16 часов).&lt;br /&gt;
&lt;br /&gt;
На самом деле, для общения (как индивидуального, так и группового) удобно использовать средства видеосвязи -- это не заменяет очных встреч, но отлично дополняет их за счет возможности оперативно решать задачи &amp;quot;здесь и сейчас&amp;quot;, сидя за удобным вам рабочим местом. Практически все темы проектов подразумевают работу в сети.&lt;/div&gt;</summary>
		<author><name>Dkorolev</name></author>
	</entry>
</feed>