<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://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%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://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%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%29"/>
	<link rel="alternate" type="text/html" href="https://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%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;action=history"/>
	<updated>2026-06-06T19:21:39Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://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%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=2413&amp;oldid=prev</id>
		<title>imported&gt;Dkorolev: Migrated current public revision from wiki.cs.hse.ru</title>
		<link rel="alternate" type="text/html" href="https://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%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=2413&amp;oldid=prev"/>
		<updated>2017-10-19T19:22:42Z</updated>

		<summary type="html">&lt;p&gt;Migrated current public revision from wiki.cs.hse.ru&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;
|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>imported&gt;Dkorolev</name></author>
	</entry>
</feed>