<?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_%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_%28%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%29</id>
	<title>Разработка матрицы видеопотоков (проект) - История изменений</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_%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_%28%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_%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;action=history"/>
	<updated>2026-06-06T17:03:56Z</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_%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=2393&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://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_%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=2393&amp;oldid=prev"/>
		<updated>2017-10-19T19:20:04Z</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=Разработка матрицы видеопотоков&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>imported&gt;Dkorolev</name></author>
	</entry>
</feed>