wcs что это такое
Что такое Modern Swing
Modern Swing (Современный свинг) — это второе название танца, который широко известен в мире, как West Coast Swing ( звучит как Свинг Западного побережья). Это парный танец под современную музыку ♫, популярный во всем мире, особенно в Европе и Штатах.
Что такое социальные парные танцы?
Социальные парные танцы — это танцы, для которых не нужны годы тренировок, это танцы для общения и приятного времяпрепровождения. Любой желающий без танцевального опыта может за пару месяцев занятий освоить азы танца и выйти на свою первую вечеринку! Для этого достаточно желания танцевать и любви к музыке!
Социальные парные танцы — это новые друзья, совместные путешествия, веселье на вечеринках и общение на языке танца!
В мире много разных танцев. Мы предлагаем познакомиться с Modern Swing!
Чем привлекает Modern Swing?
Если вы танцуете Modern Swing, то сможете выразить себя в танце, получить удовольствие от вечеринок, произвести впечатление на окружающих, подтянуть фигуру — зависит от ваших целей! К тому же, приглашение на танец — прекрасный повод для знакомства;-)
Немного истории
Применительно к танцу, термин «свинг» охватывает целый ряд танцевальных стилей, развившихся в ту пору, а также современные танцы, произошедшие от них. Вот некторые: Линди Хоп (Lindy hop), Чарльстон (Charleston), Шэг (Shag), Бальбоа (Balboa), а потом Джайв (Jive), (Rock’n’Roll) и, конечно, Вест Кост Свинг (West Coast Swing).
Современное название танца «West Coast Swing» впервые появилось на страницах книги преподавателя танцев Артура Мюррея (Arthur Murray), изданной в 1947 году. Но преподаватели ещё лет десять использовали термин Western Swing (Вестерн свинг) в своих записях и расписаниях. А в 1962 году надпись «West Coast Swing», как название танца в нынешней его форме, уже красовалась на рекламных плакатах американского преподавателя танцев Скиппи Блэр (Skippy Blair). В 1988 году West Coast Swing провозгласили «Официальным танцем штата Калифорния».
В России Modern Swing (West Coast Swing) появился в 2008 году.
Немного техники
В парных танцах один из партнёров — ведущий (лидер/leader), как правило это мужчина, а другой — ведомый (фоловер/follower), как правило это женщина. Инициатива и активность — роль лидера, а фоловер — слушает и украшает, дополняет, создаёт атмосферу. В танце раскрывается философия взаимоотношений, которую можно распространить на всю жизнь.
Modern Swing — это парный танец, в котором оба партнёра могут импровизировать и имеют практически безграничную свободу самовыражения.
Modern Swing танцуют по линии (слот). считает, что это того, что он рождался в узких проходах кинотеатров и коридорах;-) По большей части перемещается партнёрша, а партнер, сам оставаясь относительно на месте, направляет её движение (ведёт).
Взаимодействие партнеров очень мягкое, эластичное. Благодаря этому танец такой плавный и «тягучий».
Для танца подойдёт практически любая музыка: фанк, RnB, почти вся современная и, конечно, блюз. Подробнее о том, под какую музыку танцуют Modern Swing написано в ♫статье
Хотите попробовать?
Приходите в школу танцев ЛисоБорье!
Совершенно не важно, сколько вам лет и есть ли у вас танцевальный опыт
В любом возрасте, с любым уровнем подготовки вы сможете научиться танцевать в паре легко и непринужденно. Главное — ваше желание! Преподаватели школы танцев ЛисоБорье помогут вам!
Уже через пару месяцев занятий
вы получите необходимые базовые знания и сможете танцевать на вечеринках с удовольствием!
Можно ли приходить на занятия без пары?
Да, конечно! На занятиях происходит смена в парах, и вы сможете потанцевать с разными людьми.
Что ждёт вас в ЛисоБорье?
Конечно, танцы! 🙂 А ещё — уютная атмосфера и приятная компания, интересные занятия, танцевальные вечеринки (дискотеки), поездки на международные ивенты и выезды на природу, ночнины, гитарники и много всего интересного!
Служба в воздушно-космических войсках РФ, обзор современных войск
Современный мир толкает нас на освоение космического пространства не только в плане научного и технического развития, но и в плане обороны страны. Космос является важнейшим стратегическим объектом с военной точки зрения. В Российской Федерации за воздушно-космическое пространство отвечает специальный вид войск – это ВКС РФ.
Рассмотрим более подробно, что это за войска, какая у них структура, какие задачи выполняют в своей работе. Подробный обзор службы в воздушно-космических войсках Российской Федерации.
ВКС — это аббревиатура, расшифровывается как Воздушно-космические силы. Свой праздник военнослужащие отмечают 12 августа. По заявлению генерала С. Шойгу, объединение 2-х формирований стало лучшим вариантом улучшения оборонной системы. С одной стороны обеспечивается более адресная ответственность за образование и развитие соответствующих войск, с другой — увеличивается успех функционирования благодаря глубокой интеграции, с третьей — реализуется постоянное и необратимое развитие ВКС как системы.
Начиная с 30.09.2015 года, ВКС участвует в военном конфликте в Сирии, и уже к следующему году порядка 84% летного состава получили соответствующий опыт в бою, который высоко оценил президент нашей страны.
Что такое ВКС
Воздушно-космические силы РФ появились в результате объединения ВВС и Войск воздушно-космической обороны.
Такой процесс стал частью модернизации обороны России.
Главное преимущество этого шага – вопросы развития и конкретные задачи, которые связаны с воздушным и космическим пространством, решаются на уровне одного ведомства.
На эти войска возложены такие функции:
СПРАВКА! Этот вид войск считается самым молодым военным формированием. ВКС созданы по приказу Президента РФ в августе 2015 года. Они подчиняются Главному командованию ВКС, общее руководство осуществляет Генеральный штаб ВС РФ.
Главнокомандующий воздушно-космическими силами
Главкомом ВКС РФ является генерал-полковник Суровикин Сергей Владимирович в должности с 22.11.2017 года. Он командовал на последней стадии группировкой российских войск во время сирийской военной миссии.
Состав воздушно-космических сил
Структура ВКС состоит из 3 видов:
ВВС представлены несколькими родами:
У Дальней авиации их предназначение выражается ликвидацией воздушных и морских целей, пунктов командования и коммуникационных соединений противоборствующей стороны.
Вооружены части ДА бомбардировщиками стратегического назначения и ракетоносцами Ту-160 и Ту-95МС, самолётами дальнего назначения Ту-22М3. Самолёты располагают на своих бортах крылатыми ракетами на максимальную, среднюю дистанции Х-55 и Х-22, кроме того, вооружены авиабомбами (в том числе ядерного действия).
Фронтовая авиация – обязана обеспечивать прикрытие Сухопутных сил. В её составе присутствуют:
Фронтовая-бомбардировочная и штурмовая авиации — арсенал её располагает самолётами Су-24М, Су-25, Су-30, Су-35. На своём борту они оснащены набором авиабомб, ракет управляемого и неуправляемого действия, реактивных снарядов «Воздух-земля», авиапушек.
Разведывательная авиация – проводит общевойсковую разведку при полёте. У имеющихся в их арсенале Су-24МР, в оснащении значатся комплексы разведывательного назначения.
Цель Истребительной авиации — противостояние воздушным атакам и противоборствующим объектам в воздухе. Вооружены самолётами-истребителями Су-27, Су-33, МиГ-25, МиГ-29, МиГ-31, имеющими на своём борту оснащение в виде ракет «Воздух-воздух» и авиапушек.
Армейская авиация – специально выполняют обеспечение прикрытия Сухопутным частям, осуществляют снабжение тыла и фронта. Оснащены самолётами и вертолётами: Ми-8, Ми-24, Ка-50, Ка-52, Су-24М, Су-25, Су-30, Су-35, выполняющими огневое прикрытие. Имеющих оснащение в виде ракет управляемого действия «Воздух-земля», реактивных снарядов неуправляемого действия, авиационных пушек, авиабомб, на своём борту. Кроме того, АА дополнена вертолётами транспортного назначения Ми-8 и самолётами Ан-26.
Военно-транспортная авиация – десантирует живую силу и технику, занимается перевозками в тылу и техобеспечением в ситуациях войны на воде и суше. Вооружены самолётами стратегического назначения Ан-124 «Руслан», Ан-22 «Антей», самолётами большой дальности Ил-76, Ан-12, и самолётами дистанции среднего радиуса Ан-26.
Зенитно-ракетные войска – прикрывают военные силы и пункты от воздушных угроз противостоящей стороны. Вооружены зенитно-ракетными комплексами на малую, среднюю и большую дистанцию – «Оса», «Бук», С-75, С-125, С-300, С-400.
Радиотехнические войска – занимаются выявлением воздушных угроз со стороны противостоящих сил. Выявлением, уведомлением руководства, преследованием выявленных объектов, контрольно-управленческим сопровождением полётов.
Космические войска
Занимаются сохранением безопасности нашего государства в космическом секторе. Как отдельный род войск существовал в ВС РФ с 2001 по 2011 г. с 01.12 2011 г. они преобразовываются в ВКО. И 01.08.2015 г считаются родом войск, входящим в ВКС. КВ вооружены: спутниками видовой разведки, радиоэлектронного контроля, связи и глобальной системы спутниковой войсковой навигации.
Войска противовоздушной и противоракетной обороны
Образованы в 1914 г. В нынешнем образе представляют собой бригады ПВО-ПРО и имеют первостепенные предназначения:
противостояние баллистическим и аэродинамическим угрозам.
Предназначение
В их обязанности входит постоянный мониторинг воздушного и космического пространства. Благодаря наличию мощной технической базы военнослужащие могут отследить атаки и проинформировать о них высшее руководство Вооруженных сил России.
Они предупреждают и нейтрализуют нападения на стратегически важные объекты для государства. Кроме отслеживания и проведения атак, ВКС занимается запуском и обслуживанием космических устройств и их систем управления.
СПРАВКА! Ежедневно происходит около 900 сеансов управления спутниковыми системами. Главному центру подконтрольны больше 80% аппаратов военного и гражданского значения.
ВКС России в Сирии
Первым боевым опытом стала военная сирийская миссия, удостоенная высокой оценки руководства страны. Личный состав ВКС был задействован в сирийском конфликте в большом количестве и многие были удостоены высоких правительственных наград. Даже мировые аналитики высоко оценили качество действий ВКС РФ.
Их мастерство восхищает посетителей тех шоу-программ. Нередко впечатление от увиденных полётов и сподвигает молодых парней на выбор этой военной службы. Об этом и говорят опросы курсантов лётных училищ, увидевших виртуозов пилотного мастерства.
Подобное и наиболее известное событие уже больше двух десятков лет происходит в авиасалоне МАКС, посетить который может любой желающий.
Представители ВКС России наглядным образом показывают свои профессиональные навыки.
Как попасть в ВКС
По призыву
Когда гражданин РФ подает документы в пункт отбора, необходимо в анкете указать службу в ВКС. Призывник должен получить аттестат о наличии полного среднего образования. После подачи бумаг и собеседования человек проходит медосмотр и психологические тесты.
На основе результатов проверки отбирают в подразделение воздушно-космических сил. Если человеку не хватает квалификации, его отправляют в учебную часть на 3 месяца.
Такие солдаты попадают в охрану или хозяйственные взводы. В более серьезные отделы направляют тех, кто имеет соответствующее образование.
СПРАВКА! Хорошую подготовку для ВКС дают военно-космическая академия им. Ф. Можайского и военная академия ВКО им. Г.К. Жукова.
По контракту
Контрактник должен быть в возрасте от 19 до 35 лет с полным средним образованием. В войска ВКС направляют военнослужащих, которые имеют профильную подготовку. Большое внимание придают знанию техники. Те, кто хочет служить по контракту, обращаются в военкомат с такими документами:
ВАЖНО! На службу не берут военных, которые привлекались к уголовной или административной ответственности.
После подачи заявления происходит собеседование с работником военкомата и начальником части. Дальше человек проходит медосмотр, оценку психологической и физической подготовки. Если результаты хорошие, военный отправляется служить в воздушно-космические силы.
Обзор WCS 5.2 — сервера для веб-разработчиков онлайн трансляций и видеочатов
Алиса — опытный фулл-стек разработчик и способна за неделю написать каркас SAAS проекта на своем любимом фреймворке с использованием php. На фронтенде предпочитает Vue.js.
В телеграмм стучится заказчик, которому во что бы то ни стало надо разработать веб-сайт, который будет местом встречи работодателя и сотрудника для проведения очного интервью. Очного — означает глаза в глаза, прямого видео контакта в реальном времени с видео и голосом. «Почему не скайп?» — спросите вы. Так уж повелось, что серьезные проекты, а каждый стартап, несомненно, себя таковым считает, стараются предложить внутренний сервис коммуникаций по самым разным причинам, среди которых:
1) Не отдавать своих пользователей сторонним коммуникаторам (скайп, hangouts, и т.д.). Оставлять их в сервисе.
2) Контролировать коммуникации: историю звонков, результаты интервью.
3) Записывать звонки (разумеется, с уведомлением обеих сторон о записи).
4) Не зависеть от политик и обновлений сторонних сервисов. Всем известна такая история: Скайп обновился, и началось …
Задача выглядит простой. По теме гуглится WebRTC и вроде как можно организовать peer-to-peer связь между двумя браузерами, но остаются вопросы:
1) Где брать STUN / TURN серверы
2) Можно ли обойтись без них
3) Как записать peer-to-peer WebRTC звонок
4) Что будет если потребуется добавить в звонок третьего участника, например HR-менеджера или другого специалиста со стороны работодателя.
Выходит, что просто WebRTC и peer-to-peer недостаточно и не понятно что со всем этим делать чтобы запустить требуемые видео-функции сервиса.
Содержание статьи
Сервер и API
Для того чтобы закрыть все эти белые пятна, используются серверные решения и архитектура peer-server-peer. Web Call Server 5.2 далее WCS является одним из серверных решений — платформой для разработки, которая позволяет добавить такие видео-функции в проект и не заботиться о STUN/TURN и стабильности peer-to-peer соединений.
На самом высоком уровне WCS представляет собой JavaScript API + серверная часть. API используется для разработки на обычном JavaScript на стороне браузера, а сервер обрабатывает видеотрафик, выступая в роли Stateful Proxy для медиатрафика.
Кроме JavaScript API есть еще Android SDK и iOS SDK, которые нужны для разработки нативных мобильных приложений под iOS и Android соответственно.
Например, публикация потока на сервер (стриминг потока с веб-камеры по направлению к серверу), выглядит следующим образом:
В итоге, можно реализовать не только веб-приложение, но и полноценные аппы для Google Play и App Store с поддержкой видео стриминга. Добавим мобильные SDK на верхнеуровневую картинку. Получится так:
Входящие стримы
Потоковый сервер, коим является WCS, начинается с входящих стримов. Чтобы что-то раздавать, нужно это иметь. Для раздачи видеопотоков зрителям, необходимо чтобы эти потоки зашли на сервер, прошли через его оперативную память и вышли через сетевую карту. Поэтому первый вопрос, который полезно было бы задать при ознакомлении с медиасервером — по каким протоколам и форматам последний принимает стримы. В случае WCS, это следующие технологии: WebRTC, RTMP, RTSP, VOD, SIP/RTP.
Каждый из протоколов может использоваться разноплановыми клиентами. Например по WebRTC может войти не только поток с браузера, но и с другого сервера. Отобразим возможные источники входящего трафика в таблице.
Если пройти по источникам входящего трафика, можно добавить следующее:
Входящий WebRTC
Web SDK позволяет захватывать не только камеру и микрофон, но и использовать возможности браузерного API для доступа к экрану — screen sharing. Кроме этого, можно захватить произвольный элемент Canvas и все что на нем отрисовывается для последующей трансляции — canvas streaming.
Android SDK и iOS SDK из-за мобильной специфики имеют функции переключения между фронтальной и задней камерой устройства на лету. Это позволяет переключать источник во время стриминга без остановки потока.
Входящий WebRTC-поток можно получить также с другого WCS-сервера методами: push, pull и CDN, о которых речь пойдет немного позже.
Входящий RTMP
RTMP протокол широко используется в любимом стримерами OBS, и в других энкодерах: Wirecast, Adobe Media Encoder, ffmpeg, и т.д. Взяв один из этих энкодеров, можно захватить стрим и отправить на сервер.
Можно также забрать RTMP поток с другого медиасервера или WCS-сервера с использованием методов push и pull. В случае push, инициатором является удаленный сервер. В случае pull — обращаемся к локальному чтобы утянуть поток с удаленного.
Входящий RTSP
Источниками RTSP трафика как правило являются IP камеры или сторонние медиасерверы с поддержкой RTSP-протокола. Несмотря на то, что при установлении RTSP-соединения инициатором является WCS, аудио и видео трафик по направлению от IP камеры двигается в сторону WCS-сервера. Поэтому поток с камеры считаем входящим.
Входящий VOD
На первый взгляд может показаться, что функция VOD (Video On Demand) связана исключительно с исходящими потоками и с воспроизведением файла браузерами. В нашем случае это немного не так. WCS честно транслирует mp4 файл из файловой системы на localhost, в результате создается входящий стрим, как если бы он зашел из стороннего источника. Далее если ограничить одним зрителем одного mp4 файла — получаем классический VOD, где зритель забирает поток и проигрывает его с самого начала. Если не ограничивать, получаем VOD LIVE — вариацию VOD, при которой зрители могут играть один и тот же файл как поток, подключаясь к той точке воспроизведения в которой в данный момент находятся все остальные (режим телевидения-трансляции предзаписанного эфира).
Входящий SIP/RTP
Для получения входящего RTP трафика внутри SIP-сессии, требуется установка звонка со сторонним SIP шлюзом. При успешно установленном соединении, со стороны SIP-шлюза пойдет аудио и/или видео трафик, который будет обернут во входящий стрим на стороне WCS.
Исходящие стримы
После получения стрима на сервер можно тиражировать полученный стрим одному или многим зрителям по запросу. Зритель запрашивает стрим из плеера или другого устройства. Такие стримы называются исходящими или “стримами зрителей”, т. к. сессии таких стримов всегда инициируются на стороне зрителя / плеера. Набор технологий воспроизведения включает следующие протоколы / форматы: WebRTC, RTMP, RTSP, MSE, HLS
Исходящий WebRTC
В этом случае Web SDK, Android SDK и iOS SDK выступают в качестве API для плеера. Пример воспроизведения WebRTC потока выглядит так:
Это очень похоже на API для публикации, с той лишь разницей, что вместо stream.publish(), для воспроизведения вызывается stream.play().
В качестве плеера может также выступить сторонний WCS-сервер, которому дадут команду забрать поток по WebRTC с другого сервера методом pull или забрать поток внутри CDN.
Исходящий RTMP
Здесь будут главным образом RTMP плееры — как всем известный Flash Player, так и десктопные и мобильные приложения, которые работают по протоколу RTMP, принимают и играют RTMP-поток. Дело в том, что несмотря на то, что Flash ушел из браузера, от него остался RTMP протокол, который широко применяется для видеотрансляций и отсутствие его нативной поддержки в браузерах никак не препятствует использованию этого вполне удачного протокола в других клиентских приложениях. Известно о широком применении RTMP в VR-плеерах для мобильных приложений под Android и iOS.
Исходящий RTSP
WCS-сервер может выступать в роли RTSP-сервера и раздавать полученный поток по RTSP как обычная IP камера. В этом случае, плеер должен установить RTSP соединение с сервером и забрать поток на воспроизведение, как если бы это была IP-камера.
Исходящий MSE
В данном случае, плеер запрашивает у сервера поток по протоколу Websocket. Сервер отдает аудио и видео данные по вебсокетам. Данные доходят до браузера и преобразуются в куски, которые браузер умеет воспроизводить благодаря нативному расширению MSE, поддерживаемому из коробки. Плеер в конечном итоге работает на основе HTML5 video-элемента.
Исходящий HLS
Входящие и исходящие
Итого имеем 5 входящих и столько же исходящих типов стримов. Перечислим их в таблице:
Входящие | Исходящие |
---|---|
WebRTC | WebRTC |
RTMP | RTMP |
RTSP | RTSP |
VOD | MSE |
SIP/RTP | HLS |
Т.е. можем загнать стримы на сервер и можем к ним подключаться и играть подходящими под это дело плеерами. Чтобы проиграть WebRTC стрим, используем Web SDK. Чтобы проиграть WebRTC стрим как HLS, используем HLS плеер, и т.д. Один стрим могут играть много зрителей. Трансляции один ко многим работают.
Теперь расскажем какие действия можно производить со стримами.
Манипуляции с входящими стримами
Исходящими стримами, на которых сидят зрители особо не поманипулируешь. Действительно, если зритель установил сессию с сервером и уже забирает какой-то стрим, нет возможности внести в него какие-либо изменения, не разорвав сессию. По этой причине все манипуляции и изменения проходят на входящих стримах, в точке, где еще не произошло его тиражирование. Стрим, который подвергся изменениям далее тиражируется всем подключенным зрителям.
К операциям над стримами можно отнести:
Запись входящего стрима
Пожалуй, самая понятная и часто-встречающаяся из функций. Действительно, потоки требуют записи во многих кейсах: вебинар, урок английского языка, консультация, и т.д.
Запись может быть инициирована как с Web SDK, так и с REST API специальным запросом:
Результат сохраняется в файловой системе в виде mp4-файла.
Снятие снапшота
Не менее частая задача — снятие картинок действующего потока для отображения иконок на сайте. Например, у вас 50 потоков в системе видеонаблюдения, каждый из которых имеет источником одну IP камеру. Все 50 потоков выводить на одной странице не только проблематично по ресурсам браузера, но и бессмысленно, т.к. В случае 30 FPS, суммарный FPS изменяющейся картинки будет 1500 кадров в секунду и человеческий глаз такую частоту показа просто не воспримет. В качестве решения, можно настроить автоматическую нарезку или съем снапшотов по требованию, в этом случае можно выводить картинки на сайт с произвольной частотой, например 1 кадр в 10 секунд. Снапшоты можно снимать из SDK, через REST API или нарезать автоматически.
WCS-сервер поддерживает следующий REST-метод для снятия снапшота:
Добавление потока в микшер
Изображение с двух и более источников можно объединить в одно для отображения конечным зрителям. Такая процедура называется микшированием. Основные примеры: 1) Видеонаблюдение с нескольких камер на экран в одну картинку. 2) Видеоконференция, где каждому пользователю для экономии ресурсов приходит один поток, в котором смикшированы остальные. Микшер управляется через REST API и имеет режим работы MCU для создания видеоконференций.
REST команда добавления потока в микшер:
Транскодирование потока
Потоки иногда требуется пережать чтобы адаптировать для отдельных групп клиентских устройств по разрешению и битрейту. Для этого используется транскодинг. Транскодинг может включаться на стороне Web SDK, через REST API, или автоматически через специальный Транскодинг-узел в CDN. Например, при заходе видео 1280×720, оно может быть транскодировано в 640×360 для отдачи клиентам из географического региона с традиционно низкой пропускной полосой. Где же твои спутники, Илон Маск?
Добавление водяного знака
Известно, что любой контент может быть украден и превращен в WebRip, какой бы защитой ни был наделен плеер. Если ваш контент действительно настолько ценный, можете вживить в него водяной знак или логотип, который сильно осложнит его дальнейшее использование и публичную демонстрацию. Для добавления водяного знака достаточно загрузить PNG-картинку, и она будет вставлена в видеопоток путем транскодирования. Поэтому придется заготовить пару ядер CPU на стороне сервера на случай, если вы все же решитесь добавить водяной знак в поток. Чтобы не крутить водяной знак на сервере путем транскодинга, лучше добавить его прямо на энкодере/стримере, которые зачастую предоставляют такую возможность.
Добавление FPS фильтра
В некоторых случаях требуется чтобы стрим был с ровным FPS (количество кадров в секунду). Это может пригодиться если мы ретранслируем стрим на сторонний ресурс вроде Youtube или Facebook или же играем его чувствительным HLS-плеером. Фильтрация опять же требует транскодинга, поэтому рассчитывайте силы вашего сервера и готовьте к конфигурации плюс 2 ядра на стрим если планируется такая операция.
Поворот картинки на 90, 180, 270 градусов
Мобильные устройства имеют свойство менять разрешение публикуемого потока в зависимости от угла поворота. Например, начали стримить, держа айфон горизонтально, а потом повернули на бок. По спецификации WebRTC, браузер-стример мобильного устройства, а в данном случае iOS Safari должен сигнализировать о повороте на сервер. Сервер, в свою очередь, должен разослать это событие всем подписчикам. В противном случае получилось бы так, что стример положил телефон на бок, но видит свою камеру по-прежнему вертикально, в то время как у зрителей изображение завалено на бок. Для работы с поворотами на стороне SDK включается соответствующее расширение cvoExtension.
Где происходит управление входящими стримами
Automatic — конфигурация как правило, задается на стороне сервера в настройках.
Действие с потоком | Web, iOS, Android SDK | REST API | Automatic | CDN |
---|---|---|---|---|
Запись | + | + | ||
Снятие снапшота | + | + | + | |
Добавление в микшер | + | + | ||
Транскодирование потока | + | + | + | |
Добавление водяного знака | + | |||
Добавление FPS-фильтра | + | |||
Поворот картинки на 90, 180, 270 градусов | + |
Ретрансляции потоков
Ретрансляция также является вариантом манипуляции над входящими на сервер стримами и заключается в принудительной передаче стрима на сторонний сервер. Синонимом ретрансляции являются такие слова как: републикация, пуш, инжект.
Ретрансляция может осуществляться по одному из следующих протоколов: WebRTC, RTMP, SIP/RTP. В таблице показано направление, по которому может быть ретранслирован поток.
WebRTC | RTMP | SIP/RTP |
---|---|---|
WCS | RTMP server WCS | SIP server |
Ретрансляция WebRTC
Поток может быть ретранслирован на другой WCS-сервер если по каким-то причинам требуется сделать поток доступным на другом сервере. Ретрансляция производится через REST API методом /push. При поступлении такого REST-запроса, WCS подключается к указанному серверу и публикует на него поток сервер-сервер. После этого поток становится доступен для воспроизведения на другой машине.
Ретрансляция RTMP
Как и в случае с ретрансляцией по WebRTC, возможна ретрансляция и по RTMP на другой сервер. Разница будет лишь в протоколе ретрансляции. RTMP-ретрансляция также выполняется через /push и позволяет передать поток как на сторонние RTMP серверы, так и на сервисы, поддерживающие RTMP Ingest: Youtube, Facebook streaming, и т.д. Таким образом, WebRTC стрим может быть ретранслирован в RTMP. С тем же успехом в RTMP можно ретранслировать любой другой стрим входящий на сервер, например RTSP или VOD.
Ретрансляция видеопотока на другой RTMP-сервер производится при помощи REST-вызовов
Ретрансляция SIP/RTP
Достаточно редко используемая функция. Чаще всего в энтерпрайзе. Например, когда требуется установить SIP-звонок с внешним сервером SIP-конференций и перенаправить в этот звонок аудио или видеопоток чтобы зрители конференции увидели какой-то видеоконтент: “Посмотрите пожалуйста этот ролик” или “Коллеги, а сейчас давайте посмотрим на стрим с IP-камеры со стройки объекта”. Надо понимать, что сама конференция существует и управляется в данном случае на внешнем ВКС-сервере с поддержкой SIP (Недавно тестировали решение от Polycom DMA), мы же просто подключаемся и ретранслируем на этот сервер существующий поток. Функция REST API называется /inject и служит как раз для этого случая.
Объединение серверов в сеть обработки контента CDN
Один сервер имеет как правило ограниченное количество ресурсов. Поэтому для крупных онлайн-трансляций, где счет зрителей идет на тысячи и десятки тысяч, необходимо масштабирование. Несколько серверов WCS могут быть объединены в одну сеть доставки контента CDN. Внутри CDN будет работать через WebRTC для сохранения низкой задержки при стриминге.
Сервер может быть сконфигурирован в одной из следующих ролей: Origin, Edge, Transcoder. Серверы типа Origin — принимают трафик и раздают его на краевые узлы Edge-серверы, отвечающие за доставку потока зрителям. При необходимости подготовить поток в нескольких разрешениях, в схему включаются Transcoder-узлы, которые берут на себя ресурсозатратную миссию по транскодированию потоков.
Подведем итоги
WCS 5.2 — это сервер для разработки приложений с поддержкой реалтайм аудио и видео для браузеров и мобильных устройств. Для разработки предоставляется четыре API: Web SDK, iOS SDK, Android SDK, REST API. На сервер можно публиковать (скармливать) видеопотоки по пяти протоколам: WebRTC, RTMP, RTSP, VOD, SIP/RTP. С сервера можно играть потоки плеерами также по пяти протоколам: WebRTC, RTMP, RTSP, MSE, HLS. Потоками можно управлять и производить над ними такие операции как: запись, нарезку снапшотов, микширование, транскодирование, добавление водяного знака, фильтрация FPS, трансляция поворотов видео в мобильных устройствах. Потоки можно ретранслировать на другие серверы по WebRTC и RTMP протоколам, а также перенаправлять в SIP-конференции. Серверы можно объединить в сеть доставки контента и масштабировать для обработки произвольного количества видеопотоков.
Что должна знать разработчик Алиса для работы с сервером
Разработчику необходимо уметь пользоваться Linux. Команды такого рода в командной строке не должны вызывать замешательства:
Ванильный JavaScript тоже надо уметь, если речь идет о разработке под Web.
Пригодится также умение работать с бэкендом.
WCS может не только получать управляющие команды через REST API, но и отправлять хуки — нотификации о событиях, которые на нем происходят. Например, при попытке установить соединение из браузера или мобильного приложения, WCS вызовет хук /connect, а при попытке проиграть стрим, вызовет хук playStream. Поэтому разработчику придется побыть немного в шкуре бэка, который в состоянии написать как простого REST-клиента, так и небольшой REST-сервер для обработки хуков.
— пример REST API вывода списка стримов на сервере
— обработка REST-хука /connect на стороне бэкенда.
Linux, JavaScript, REST Client / Server — три элемента, которых достаточно для разработки продакшен сервиса на платформе WCS, работающего с видео стримами.
Для разработки мобильных приложений потребуется знание Java и Objective C для Android и iOS соответственно.
Установка и запуск
Быстрый запуск WCS на сегодняшний день можно провести тремя способами:
1) Установить на свой Centos7 или Ubuntu 16.x LTS или Ubuntu 18.x LTS, и т.д. руководствуясь статьей из документации.
И начать увлекательную разработку проекта с функциями потокового видео.
Обзорная статья получилась достаточно объемной. Спасибо что хватило терпения прочесть.