
Медиаплатформа
Объединяем инфраструктурные технологии и сервисы Яндекса, связанные с медиа. Медиаплатформа — это инфраструктура, которая обеспечивает и просмотр фильмов в Кинопоиске, и конференции в Телемосте, и звонки курьерам Яндекс Лавки.
5 тыс. лет видео за сутки
> 2 млн
параллельных сессий просмотра видео
терабайт
логов в сутки
Терабиты трафика
локаций
с собственным CDN
Миллионы
запросов за контентом в секунду
Собственные разработки
Видеоплатформа
Инфраструктура для обработки, хранения, передачи и показа видеороликов, аудио и прямых трансляций.
Коммуникационная платформа
Распределённая платформа для работы с каналами аудио- и видеоданных, на базе которой построена работа колл-центров, колл-трекинга, роботных информеров и офисной связи.
CDN
Распределённая сеть кеширующих серверов для раздачи больших объёмов данных сервисов Яндекса и Yandex Cloud.
Goloom
Платформа для Realtime-видео, построенная на основе WebRTC-технологий.
Эффективные решения
Команда сервиса разрабатывает, внедряет и поддерживает решения разных уровней сложности.
Вот некоторые из них.
Вот некоторые из них.
Коммуникационная платформа
Без звонков не обходится практически ни один сервис Яндекса. Почти все звонки проходят через коммуникационную платформу. Ежедневно она обрабатывает миллионы звонков, в том числе в сервисах Яндекс Go и внутри Умного дома Яндекса.
Коммуникационная платформа позволяет сервисам Яндекса реализовать любой сценарий обработки звонка, эффективно поддерживая работу с любым количеством участников, независимо от их географического расположения и особенностей инфраструктуры.
Коммуникационная платформа позволяет сервисам Яндекса реализовать любой сценарий обработки звонка, эффективно поддерживая работу с любым количеством участников, независимо от их географического расположения и особенностей инфраструктуры.
Особенности
- Универсальная платформа для реализации сценариев телефонии в Яндексе.
- Система реального времени.
- Более 1 тыс. одновременных звонков, более 1 млн звонков каждый день.
Технологии
- Языки программирования: Golang и C++.
- СУБД: Redis, PostgreSQL, ClickHouse.
- Сетевые протоколы / технологии: SIP, SDP, RTP, WebRTC, gRPC, HTTP.
Телефония
Сервисы, которые дополняют коммуникационную платформу. Решают задачи функционирования колл-центров сервисов Яндекса, в том числе обеспечивают безопасность, поддержку, информирование и эскалацию мониторинга.
Особенности
- Обеспечивает бесперебойную работу колл-центров поддержки.
- Информирует менеджеров сервисов об авария.
- Скрывает номера пользователей и партнёров во время звонка.
Технологии
- Языки программирования: Java, Kotlin, Golang.
- СУБД: Postgres, Clickhouse, Redis.
- Интерфейсы взаимодействия: HTTP и gRPC.
CDN
Геораспределённая сеть кеширующих серверов, которые раздают бо́льшую часть трафика сервисов Яндекса. Доставляет пользователям видео- и музыкальные данные сервисов, обновления для умных устройств, приложений и многое другое. Управляет трафиком без использования BGP-Anycast.
Особенности
- Базовый сервис инфраструктуры Яндекса для раздачи контента в больших объёмах.
- Скорость раздачи данных на пике — 10 Тбит/с.
- 60 точек раздачи по всему миру.
- Собственные инструменты и процессы для работы с серверами, которые расположены за пределами дата-центров Яндекса.
- Предпочитаем Unicast, хотя работаем и с Anycast.
- Эффективно используем ёмкость каналов, обрабатываем терабиты трафика в секунду незаметно для пользователей.
- Не только внутренний сервис — CDN входит в число B2B-продуктов Yandex Cloud.
Технологии
- Интерфейсы взаимодействия: HTTP и gRPC.
- Большая часть компонентов написана на Go Комплексная система управления трафиком: Nginx, собственные модули для него, метки на пакеты, туннели и сетевая магия.
Видеоплатформа
Видео в своих продуктовых задачах сегодня используют многие сервисы Яндекса. Видеоплатформа предоставляет сервисам инфраструктуру, с помощью которой видеоролики можно сохранять, транскодировать в форматы для клиентских устройств, доставлять пользователям и воспроизводить в самых разных условиях.
В инфраструктуру также входят API для управления, клиентские SDK для воспроизведения видеоконтента и инструменты сбора метрик для построения продуктовой и технической аналитики. Внешним клиентам видеоплатформа доступна в Yandex Cloud как сервис Cloud Video.
В инфраструктуру также входят API для управления, клиентские SDK для воспроизведения видеоконтента и инструменты сбора метрик для построения продуктовой и технической аналитики. Внешним клиентам видеоплатформа доступна в Yandex Cloud как сервис Cloud Video.
Особенности
- Поддержка VOD («обычный» видеоролик), LIVE (прямые трансляции), короткие видео в формате лент и сторис.
- Параллельный транскодер, который обрабатывает видео с высокой скоростью.
- Бэкенд, который обслуживает 600 тыс. запросов в секунду, позволяет управлять видео, обеспечивает загрузку и раздачу в адаптивных форматах стриминга (HLS и MPEG-DASH).
- SDK видеоплееров собственной разработки для трёх основных платформ: web, Android, iOS.
- Взаимодействие и совместные проекты с большим количеством сервисов и продуктов Яндекса — Яндекс ТВ, Станцией, Кинопоиском, Видео, Маркетом, Музыкой, Картами, Рекламой, Шедеврумом и другими.
- Внутренние инструменты для дебага и проведения AB-экспериментов.
Технологии
- Языки программирования: Golang и C++ на бэкенде, TypeScript/Kotlin/Swift на клиенте.
- СУБД: PostgreSQL, ClickHouse, YDB.
- Технологии: HLS и MPEG-DASH (форматы адаптивного стриминга), RTMP и SRT (протоколы получения видеосигнала), FFMpeg (транскодирование видео), Media Source Extensions, ExoPlayer, AVFoundation (для воспроизведения видео на устройствах).
Трансляции в реальном времени
Доставка изображения от поставщика — студии телеканала, блогера или даже стадиона — до устройства клиента: в телевизор, ноутбук, мобильный телефон. Качество входного сигнала зависит и от характеристик потока, и от внешних факторов. Например, если частота исходного сигнала составляет 60 кадров в секунду, транскодер не может обрабатывать кадры медленнее, иначе пользователь столкнётся с отставанием сигнала или потерей кадров.
Особенности
- Поддержка современных стандартов Low Latency для минимизации задержки изображения.
- Собственный компонент goMSR для приёма сигнала от различных поставщиков.
- Обеспечение цикла жизни трансляций: старт или окончание по кнопке, по расписанию, по вызову API или по метке SCTE-35/DTMF.
Технологии
- Алгоритм распределённого консенсуса Raft (реализация etcd).
- Работа напрямую с libav вместо FFmpeg, чтобы обеспечить нужные гарантии в транскодере.
- Собственный модуль для Nginx, который позволяет раздавать пользователям сегмент из CDN ещё в процессе создания, не дожидаясь готовности файла в слое хранения.
Goloom
Прогрессивная платформа для Realtime-видео, которую используют различные продукты и сервисы Яндекса. Предлагает решения для классических приложений конференций, робототехники, встраиваемых систем. Команда стремится обеспечивать максимально возможное качество аудио- и видеосигнала в зависимости от состояния сети и бизнес-требований клиента.
Особенности
- Поддержка приёма видео- и аудиосигнала при помощи собственных SDK и стандартными протоколами WHIP/RTSP/SIP.
- Возможность как работать с сигналом внутри, так и отдавать его наружу стандартными протоколами через WHEP/RTMP/SIP.
- Развитые инструменты для дебага и отладки.
- Горизонтальное масштабирование для поддержки неограниченного количества подключений.
- Raft для обеспечения отказоустойчивости.
- Поддержка больших комнат с 3000+ участников.
- Поддержка широкого набора кодеков: H264, VP8, VP9, AV1.
- Команда пишет и поддерживает технологический стек для работы WebRTC-клиентов, чтобы предоставлять специализированные решения для каждого конкретного кейса. Работаем над каждой частью — от клиентских SDK до SFU и гейтвеев во внешние системы.
Технологии
- Языки программирования: Golang и C++ на бэкенде, TypeScript/С++ для браузерных SDK, Kotlin/Swift/С++ для мобильных SDK.
- Raft для консенсуса на стороне бэкенда.
- Технологии: WebRTC, SVC, Simulcast, WHIP, WHEP, Raft, Audio ML, различный BWE-стек.
Технологический стек
Работаем с широким спектром технологий и языков, чтобы быстро и эффективно решать задачи.
Go
Обеспечивает читаемость, быстроту написания кода, лёгкость в распараллеливании и приемлемую производительность.
KMP/AssemblyScript/C++
Для высокопроизводительных частей в клиентских приложениях и унификации разработки для разных платформ.
C/C++
Эффективное решение для ситуаций, в которых производительность стоит на первом месте или есть необходимость работать как можно ближе к «железу». Также используется при разработке ядра Linux или его модулей.
Kotlin/Swift/TypeScript
Современные языки для разработки мобильных и веб-приложений.
Выступления экспертов Медиаплатформы
Делимся с сообществом знаниями и опытом и рассказываем, как у нас всё устроено.

Свой плеер для DASH
О том, как почему и как мы написали свой движок для воспроизведения видео для браузеров

Как CDN Яндекса работает с трафиком видеоплатформы
Как устроена раздача видео в нашем CDN

Уменьшаем задержку в live-трансляциях
Как мы реализовали прямые трансляции с низкой задержкой

QoE-метрика в видеоплеере Яндекса
Доклад об устройстве нашей метрики качества видеостриминга

Как работает видеостриминг в мобильных приложениях
О том, как устроено воспроизведение видео в мобильных устройствах

Алгоритмы ABR на пальцах
Рассказываем, что такое «качество видео» и какие есть существующие стратегии выбора качества в ABR на примере популярных библиотек для проигрывания видео.

Контроль качества WebRTC-сессий
Обсуждаем, как искать проблемы автоматически и глазами, что сохранилось в дебаге и поиске проблем, а что изменилось

Как сэкономить трафик (и деньги) в видеостриминге?
Рассмотрим способы сэкономить количество потребляемого трафика без ухудшения пользовательского опыта

Ваш плеер работает неправильно
Обсудим, почему плеер почти всегда нам врёт. Узнаем, как это сказывается на пользовательском опыте, какие могут быть пути решения проблемы, при чём тут математические модели и почему важно их правильно применять.

Как мы увеличили time-to-market плеера в 5 раз
Доклад о нашем релизном пайплайне и обеспечении качества Видеоплатформы

Как подружиться со статистикой WebRTC
Обсудим популярные сервисы типа callstats.io и testRTC

Архитектурная ката: платформа для видеосвязи
Что такое SFU и MCU архитектуры, и как использовать их с максимальной пользой

Как Chromium управляет битрейтом WebRTC
В индустрии WebRTC в целом полно мифов по этому поводу
Как попасть к нам в команду
В Медиаплатформе есть задачи для разных технических специалистов. Нужны как амбициозные мидл-разработчики и опытные ведущие инженеры, так и активные технические менеджеры.
Вы также можете попробовать свои силы в формате буткемпа в Core Infrastructure.