Для пользователя киностриминг — это удобный сервис, с которым можно приятно провести вечер после работы. Найти и загрузить новый сериал или уже полюбившийся фильм, подобрать контент по интересам или под настроение. Но по ту сторону экрана — сложный и интересный IT-продукт, над которым работает команда разработчиков, и часто — не одна.
Вместе с Алексеем Жиряковым, CTO stream в онлайн-кинотеатре KION, разбираемся, из чего состоят видеостриминги, как они работают и кто отвечает за их качество.
Из чего состоит видеостриминг
Видеостриминг — это система, где вместе работают разные устройства и программы, чтобы передавать видео в реальном времени или по запросу. По сути, он держится на двух вещах: железе и программном обеспечении.
Железо/Hardware
Физически для работы видеостриминга нужны hardware-элементы:
Серверы потоковой передачи (Streaming Servers). Мощные вычислительные устройства или облачные сервера, которые хранят, обрабатывают и передают видеоконтент пользователям.
Кодеры (Encoders). Устройства или программное обеспечение, преобразующие исходное видео в цифровой формат, готовый для передачи по сети.
Декодеры (Decoders). Устройства или программы, которые восстанавливают видео из цифрового формата для отображения на конечных устройствах.
Контентные сети (CDN, Content Delivery Network). Распределенные серверные сети, обеспечивающие быструю доставку контента пользователям по всему миру.
Клиентские устройства. ПК, смартфоны, планшеты, Smart TV, на которых пользователь просматривает видео.
ПО/Software
Frontend. Пользовательская часть сервиса: сайт или приложение с витринами фильмов, информацией о них, страницей для просмотра.

Backend. Внутренняя программная часть стриминга. Нажимая кнопку, пользователь отправляет запрос в Backend, который компонует для него витрину. В KION бэк состоит из трех сервисов: классического агрегатора Media Gate Way (MGW), Blender, который собирает витрину по бизнес-правилам стриминга, и ML-сервиса, который компонует персонализированную витрину на основе данных пользователя.

Плееры (Video Players). Программное обеспечение, встроенное в веб-сайты или приложения, которое воспроизводит видеоконтент.
Платформы управления контентом (CMS). Системы для хранения, организации и управления видеоконтентом.
Системы транскодирования. ПО, которые преобразуют видео в разные форматы и разрешения для оптимальной передачи и воспроизведения.
Системы защиты авторских прав (DRM). Программы для защиты контента от несанкционированного копирования.
Аналитические системы. Инструменты для сбора данных о просмотрах, качестве трансляции и поведении пользователей.
Что происходит, когда пользователь жмет на «плэй»
Каждое действие пользователя стриминг фиксирует как продуктовое событие и запускает ряд процессов.
Все продуктовые события сохраняются в логах и используются в аналитике, чтобы улучшить персонализацию и качество витрин для пользователя.
Дедупликатор продуктовых событий: проект со студентами Skillfactory
Важная часть в пайплайне обработки продуктовых событий — это дедупликация. По разным причинам клиентское ПО может много раз отправлять один и тот же запрос. Таким образом искажается картина метрик: модель может думать, что фильм популярен, а на самом деле ей просто пришло 100 000 раз одно и то же событие.
Чтобы избежать этого, в любой системе с продуктовыми событиями нужен дедупликатор. Именно такой элемент разработали студенты Skillfactory на стажировке с компанией KION.
Какие IT-специалисты нужны в киностримингах
Работа в компаниях — разрботчиках видеостримингов — хороший способ совмещать интерес к кино и навыки IT-специалиста. За последние годы на российском рынке появилось много компаний, которые постоянно ищут специалистов.
Искать работу мечты можно в «Иви» (22 вакансии на hh), Okko (64 вакансии), «Кинопоиске», «Амедиатеке» и, конечно, KION.
Каких специалистов ищут чаще всего:
- разработчик (Python, Java, Go);
- мобильный разработчик (под iOS и Android);
- системный администратор;
- тестировщик;
- специалист по кибербезопасности;
- ML-инженер;
- аналитик;
- проджект-менеджер;
- продакт-менеджер/продакт-оунер.
Найти себя в индустрии киностримингов могут как технические специалисты по железу и коммуникациям, так и разработчики и управленцы. Главное — понять свою сильную сторону и вложиться в ее развитие.