Онлайн-кинотеатр не может просто купить и залить фильм на платформу: сначала видео проходит техническую обработку, снабжается сопроводительными медиа и заносится в библиотеку.
Технический руководитель онлайн-кинотеатра KION Александр Шаталов рассказал, что происходит с кинолентами перед тем, как они оказываются в KION.
Как пополняется фильмотека
С собственным производством всё просто — эксклюзивные права на фильмы или сериалы принадлежат МТС. В остальных случаях лицензию нужно купить у правообладателей. Это не всегда авторы ленты — чаще студии, которые занимаются дистрибуцией видео.
Например, недавно KION подписал контракты с «Централ Партнершип» (производителем и дистрибьютором фильмов) и «Вольга» (дистрибьютором).
После подписания договора группа по работе с материалами онлайн-кинотеатра получает исходные данные, кладёт их в специальное хранилище и приступает к подготовке материалов для публикации в сервисе.
Кто проверяет исходный материал
Когда исходный файл попадает к видеоинженерам, с ним проводятся дальнейшие манипуляции:
- техническая валидация контента;
- точечный визуальный осмотр.
Специалисты из исходного видеофайла подготавливают так называемый мастер-файл, который должен соответствовать техническим требованиям видеоплатформы. Например, мы работаем в цветовом пространстве YUV и со средним битрейтом 20–25 Мбит/сек для HD-формата. Во время подготовки мастер-файла видеоинженер проделывает манипуляции с исходным файлом, такие как:
- сборка звука в Dolby Digital 5.1, если в составе материалов есть такой формат;
- монтаж видео, если нужно что-то исправить;
- нормализация звука, чтобы его уровень на клиентских устройствах не был слишком тихим или слишком громким;
- подготовка субтитров;
- размытие и цензурирование постеров и доп. материалов, чтобы они соответствовали возрастному рейтингу;
- монтаж графических элементов (заставки, анимации, водяные знаки).
Серьёзная ошибка
В исходном файле находится не только фильм, но и проморолики с тизерами, которые тоже заливаются в онлайн-кинотеатр.
Однажды мы пропустили очень важный артефакт: дистрибьютор подготавливал ленту другому онлайн-кинотеатру и вставил в промо-ролик его рекламу. А файл с фильмом и этим промо-роликом отдал нам.
При подготовке материалов артефакт на глаза не попался, и ролик пошёл дальше — через все этапы к клиентской витрине. Некоторое время реклама конкурентов проигрывалась на платформе, но её быстро заметили и удалили.
После этого мы изменили подход к проверке мастер файлов, стали больше внимания уделять таким моментам, ввели ускоренную проверку на наличие в мастер-файлах материалов сторонних площадок и конкурентов.
Соблюдение законодательства для защиты пользователя
С 2013 года Минкульт ввёл ограничения на допустимый контент для каждой возрастной категории. Были прецеденты, когда онлайн-кинотеатры и телеканалы штрафовали за демонстрацию контента без соответствующих возрастных ограничений и цензурирования запрещенных сцен.
На текущий момент наша задача — защитить пользователя от просмотра неподобающих сцен и грамотно работать с возрастными ограничениями.
Делать эту работу в ручном режиме становится всё сложнее в связи с большим количеством контента, поэтому совместно с MTS AI идёт активная работа над алгоритмом автоматизированного отсмотра и выявления нежелательных сцен в контенте.
Он способен, например, помещать метки с подозрительными сценами в ленту, чтобы человек вручную их проверил. Это позволит снизить нагрузку на наших сотрудников.
Как фильм доставляется на устройства
Параллельно с подготовкой фильма к публикации в сервисе, мы собираем метаинформацию (описание и длительность), указываем актёров, сценаристов и режиссёров.
Прикладываем логотипы, картинки, постеры и всё это загружаем в нашу CMS. Она отвечает за хранение данных о фильме и за весь его жизненный цикл: отображение в KION’е, модель распространения, допустимые для просмотра устройства и т. д.
Когда CMS-запись готова, эстафету принимает ТВ-платформа — техническое ядро всего сервиса. Она содержит информацию о клиентах и подписках, управляет авторизацией и раздачей видеопотока.
Что делает ТВ-платформа?
- Кодирует фильм, параллельно шифруя его для предотвращения несанкционированного доступа.
- Упаковывает метаинформацию из CMS в технические сущности для доставки на устройство пользователя.
- Упаковывает мастер-файл в контейнер, необходимый для доставки видео. У нас используются MPEG-DASH и HLS, но сначала контент упаковывается только в протокол MPEG-DASH (почему так — расскажем чуть позже).
- Делает контент доступным для покупки и просмотра на витрине клиентского устройства.
MPEG-DASH — международный стандарт адаптивной передачи данных. HLS — протокол передачи данных, разработанный Apple для своих устройств. Принципы работы у них одинаковый: файл «пакуется» в контейнер, который содержит манифест и плейлист.
В манифесте указывается информация для принимающей стороны: характеристики аудио, видео, ключ DRM и прочее. Внутри плейлиста содержатся ссылки на чанки — двухсекундные (MPEG-DASH) или шестисекундные (HLS) фрагменты видео, которые последовательно скачиваются и воспроизводятся на устройстве.
Зачем шифровать фильмы
Мы должны обеспечивать требования правообладателя по защите его контента от копирования и нелегального распространения (это зафиксировано в ГК РФ). Традиционно для защиты авторского контента используется технология DRM.
Её реализуют либо единым решением для всех клиентских устройств (например, на базе CAS/DRM Verimatrix), либо в виде отдельных DRM-систем под каждую операционную систему:
- Google — Widevine;
- Microsoft — PlayReady;
- Apple — FairPlay.
Почему DRM так много? Исторически единого стандарта DRM не существовало. Каждая крупная компания хотела повысить привлекательность своего софта для контент-производителей, предлагая более простую в использовании и более устойчивую к взлому технологию.
Раньше мы упаковывали всё в MPEG-DASH. Технология Common Encryption позволяла устройству выбирать «родной» DRM для дешифровки и использовать аппаратные возможности чипсета, а не оперативную память.
И даже на устройства Apple мы доставляли контент в формате MPEG-DASH с шифрованием PlayReady, для чего использовался кастомный плеер со встроенным DRM-клиентом.
Делалось это для экономии места в Origin — хранилище подготовленного контента. «Родной» для Apple DRM поддерживает только контейнер HLS: если бы мы хранили мастер-файлы и в MPEG-DASH, и в HLS-контейнерах, это увеличило бы объем VoD-материала вдвое.
Вскоре мы обнаружили, что MPEG-DASH сильно нагружает CPU устройств от Apple и приводит к ускоренной разрядке батареи, а на старых девайсах — и к «тормозам» при воспроизведении видео. И чем старше поколение — тем хуже ситуация. Пришлось планировать переход на нативный для Apple DRM FairPlay.
Начали думать, как это исправить:
- хранить ещё одну копию контента в паре «HLS + FairPlay»;
- пытаться шифровать VoD-материал и переводить MPEG-DASH в HLS «на лету», закрывая его DRM FairPlay вместо Common Encryption.
Подсчитали затраты и оказалось, что хранить дубль в 20 ГБ для одного фильма — слишком дорого. Так у нас появился JITX-сервер, выполняющий функцию шифрования (Just-in-Time encryption) и переупаковки (Just-in-Time packaging).
Теперь после получения запроса на воспроизведение контента от устройства на iOS, в работу включаются эти сервера:
- забирают контент из хранилища Origin;
- дешифруют его как обычное клиентское устройство;
- конвертируют исходный манифест MPEG-DASH (mpd) в манифест формата m3u8 и упаковывают в HLS;
- шифруют технологией DRM FairPlay;
- отправляют контент клиенту.
Из плюсов — оба протокола поддерживают кодек MP4. Из минусов — в MPEG-DASH длительность фрагментов — 2 секунды. А в HLS — 6 секунд (по рекомендации Apple). Поэтому пришлось научить JITX-сервер склеивать три фрагмента в один.
Были опасения, что эта конструкция повлияет на скорость отдачи файлов. Но оказалось, что задержка составляет примерно 150–200 миллисекунд и не влияет на пользовательский опыт.
И вот фильм у вас
После всех манипуляций на нашей стороне контент готов к показу пользователям. Вы можете зайти в KION, выбрать подходящий фильм и кликнуть по нему. А нам остаётся только пожелать вам приятного просмотра!
Читать первым в Telegram-канале «Код Дурова»