<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;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_%28%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%29</id>
	<title>Разработка сервиса воспроизведения Video on Demand (командный проект) - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;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_%28%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%29"/>
	<link rel="alternate" type="text/html" href="https://www.wikicshse.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%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;action=history"/>
	<updated>2026-06-06T20:37:41Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.wikicshse.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%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=2412&amp;oldid=prev</id>
		<title>imported&gt;Dkorolev: Новая страница, с помощью формы Новый_командный_проект</title>
		<link rel="alternate" type="text/html" href="https://www.wikicshse.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%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=2412&amp;oldid=prev"/>
		<updated>2017-09-14T20:55:18Z</updated>

		<summary type="html">&lt;p&gt;Новая страница, с помощью &lt;a href=&quot;/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Form/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9_%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&quot; class=&quot;new&quot; title=&quot;Служебная:Form/Новый командный проект (страница не существует)&quot;&gt;формы Новый_командный_проект&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Карточка_командного_проекта&lt;br /&gt;
|name=Разработка сервиса воспроизведения Video on Demand&lt;br /&gt;
|company=On-Air.Pro&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=3&lt;br /&gt;
|number_of_students=3-6&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;
Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.&lt;br /&gt;
&lt;br /&gt;
Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач. &lt;br /&gt;
&lt;br /&gt;
Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.&lt;br /&gt;
&lt;br /&gt;
=== Компоненеты (Из каких частей состоит проект?) ===&lt;br /&gt;
1. RTSP server / RTMP streamer&lt;br /&gt;
&lt;br /&gt;
2. GoogleDrive-интеграция&lt;br /&gt;
&lt;br /&gt;
3. FTP/WebDAV-интеграция&lt;br /&gt;
&lt;br /&gt;
4. Пользовательский интерфейс, расписание, личный кабинет. &lt;br /&gt;
&lt;br /&gt;
5. Поддержка ONVIF&lt;br /&gt;
&lt;br /&gt;
6. REST 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;
* Навыки или страстное желание освоить веб-разработку, крайне желательно придерживаться 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;
Не в порядке изложения: &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;
Это специфический инструмент. Есть системы управления контентом, типа XIBO, есть playout-серверы для телевизионного вещания или для indoor-TV (панели в супермаркетах и других общественных местах), но здесь решается узкая задача: как контент из облака или своего сервера отправить в поток для дальнейшего использования. &lt;br /&gt;
Как аналог одного из применений, можно назвать BufferApp - сервис отложенного постинга сообщений в соцсети. Здесь тоже по расписанию, но отправка видеопотоков (интеграция с API сетей может быть вынесена в отдельный проект).&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>imported&gt;Dkorolev</name></author>
	</entry>
</feed>