Создание Viju: как мы решили задачи с хранением, кодированием и раздачей контента OTT-сервиса
Приветствуем всех! Мы — Platformcraft, российское объектное хранилище, предназначенное для хранения любых файлов и работы с медиа контентом. О создании нашего облачного сервиса вы можете прочитать в прошлой статье.
Тут мы расскажем о создании цифрового ТВ (Over-The-Top, OTT) с нуля на примере стримингового сервиса Viju. Мы разберем вызовы, с которыми столкнулся клиент, а также какие инструменты требовались для успешной реализации проекта и беспрепятственного распространения видеоконтента на мировую аудиторию.
Запрос на создание потокового телевидения
Для создания стримингового сервиса необходимо:
закупить профессиональное оборудование для избыточного хранения медиаконтента;
приобрести программное обеспечение для обработки и перекодирования видео;
- нанять специалистов, способных развернуть инфраструктуру и поддержать ее;
- построить широкую сеть для распространения контента.
Всё это требует значительных вложений и нецелесообразно в связи с развитием SaaS-решений, которые экономически выгодны для хранения больших объемов видео и доставки контента.
Компании Viju (TV1000, ранее «ViP Play») требовалась единая платформа для хранения и управления медиафайлами с возможностью кодирования видео, монетизацией, защитой контента (DRM) и отчетностью по стримингу. Решение Platformcraft полностью закрыло потребности Viju.
С какими трудностями столкнулся OTT-сервис?
Создание сервиса Over-The-Top (OTT) сопровождалось рядом вызовов:
Хранение видео в исходном качестве – масштабируемое, отказоустойчивое хранилище для размещения огромного количества медиафайлов.
Обработка и транскодирование – оптимизация видеоконтента под разные устройства и скорость Интернета для комфортного просмотра.
Распространение контента – организация передачи таких больших видеофайлов без задержек в разные регионы и страны.
- Видео по запросу (VoD) – пользователи должны получать доступ к оплаченным ими фильмам и сериалам в любое время.
- Долгосрочная запись – непрерывная запись трансляции от 1 месяца для предоставления отчетов рекламодателям и регулятором.
Мониторинг качества трансляций – инструменты для мониторинга качества потоков, сбора статистики по просмотрам и аудитории.
Клиент приобрел лицензии на контент и создал веб-сайт. Весь остальной бэкенд мы взяли на себя.
Как Platformcraft реализовал запрос клиента?
Platformcraft работает на основе самописного программного обеспечения, что позволяет гибко подходить к решению клиентских задач. До обращения Viju в нашем облачном сервисе не было ряда функций, которые мы доработали в процессе.
Во-первых, Viju требовалась загрузка файлов объемом до 100 Гбайт. Для правильной и удобной работы клиента мы внедрили чанковую загрузку.
Чанковая загрузка (Chunk) — это метод, при котором медиафайлы делятся на более мелкие «фрагменты» и загружаются по отдельности. Так обеспечивается быстрое и плавное воспроизведение, а в случае сбоя, загрузка продолжается с того же места.
Далее мы доработали интерфейс:
Сделали кастомные выгрузки под клиента.
Добавили транскодирование видео из длинной дорожки.
- Внедрили возможность наложения фактического времени на трансляцию.
Еще одним запросом было обеспечение долгосрочной «полицейской» записи для отчетности, и мы улучшили эту функцию в нашем продукте. Теперь можно беспрерывно вести запись трансляций до 3 месяцев и выгружать конкретные фрагменты из нее.
Для хранения видеоконтента без ограничений на объем мы предоставили надежное хранилище. Многократная репликация гарантирует доступность контента даже в случае выхода из строя двух из трех дата-центров.
Для быстрой глобальной доставки контента на многочисленную аудиторию мы подключили CDN-сети с подробной статистикой по трафику, количеству пользователей, географии и пр.
Мы также реализовали защиту контента от несанкционированного доступа и кражи (Video on Demand).
Видео по запросу (VOD) — это технология распространения медиа контента, позволяющая отдельным зрителям получать немедленный доступ к контенту в любое время.
Архитектура интеграции OTT-сервиса с Platformcraft
Используя возможности нашей платформы, Viju добились бесперебойной работы стриминга с функцией VoD. Они получили постоянно развивающийся сервис без капитальных вложений.
Схема интеграции представлена на рисунке ниже:
Работа с сервисом Platformcraft осуществляется через личный кабинет заказчика, интегрированный с API. Наши специалисты никакого доступа к личному кабинету не имеют. Клиент создал роли для контент-менеджеров Viju, студий с возможностью загрузки видео (в .mov, .mkv и т. д.), а также администратора.
Сама архитектура взаимодействия организована следующим образом:
- Студия-производитель загружает исходники видео чанками на платформу, где их можно транскодировать для просмотра с адаптивным битрейтом.
После транскодирования, медиафайл загружается в облако, где он реплицируется в трех географически независимых дата-центрах.
Далее видео нарезается в HLS и к контенту применяется защита (DRM/MD5).
При первом запросе, видео идет к пользователю с оригинального сервера, кэшируясь на CDN- узлах для дальнейшей раздачи через них.
Конечный пользователь получает доступ к видеофайлу через плеер на сайте (в приложении).
Результаты
За короткий срок компания Viju запустила стриминговый сервис на многочисленную аудиторию. Пользователи со всего мира смогли насладиться фильмами и сериалами из обширной библиотеки без каких-либо задержек.
Мы обеспечили:
хранение больших необработанных видеофайлов;
постоянную доступность контента за счет отказоустойчивой архитектуры;
- бесперебойную передачу больших видео с транскодированием;
- монетизацию для увеличения доходов от рекламы;
- надежную защиту контента для предотвращения пиратства;
- функцию полицейской записи для соблюдения юридических требований и контроля.
Индустрия потокового вещания требует гибкости и инноваций, и OTT-сервис Viju продолжит масштабироваться и развиваться.
В зависимости от меняющихся требований рынка Platformcraft внедряет новые функции в свою платформу, чтобы гарантировать рост своих клиентов. Такой упреждающий подход позволяет Viju оставаться конкурентоспособной и предоставлять бесперебойную потоковую раздачу контента на глобальную аудиторию.