Термин
PSSH box
Protection System Specific Header – это блок внутри файла формата ISO BMFF / CMAF. Он содержит инициализационные данные, специфичные для DRM: указатель на сервер лицензирования, идентификаторы ключей и системный blob, который плеер передаёт CDM.
PSSH – стандартизированный контейнер (ISO/IEC 23001-7:2024 «Common Encryption», CENC) внутри MP4-файла для хранения информации, специфичной для DRM-системы. У каждой DRM-системы есть уникальный 16-байтовый System ID – Widevine `edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`, PlayReady `9a04f079-9840-4286-ab92-e65be0885f95`, FairPlay `94ce86fb-07ff-4f43-adb8-93d2fa968ca2`. Поле `SystemID` в PSSH-боксе указывает плееру, какой CDM должен его обработать `Data`.
Для мульти-DRM-доставки CMAF-файл обычно содержит несколько PSSH-боксов – по одному на каждую DRM-систему. PSSH от Widevine указывает на сервер лицензий Widevine; PSSH от PlayReady включает WRMHEADER с адресом сервера лицензий PlayReady; PSSH от FairPlay указывает на сервер ключей FPS. Плеер выбирает PSSH, соответствующий своему CDM, извлекает из него данные и формирует запрос на лицензию.
PSSH-боксы находятся либо в `moov` (init-сегмент), либо в `moof` (фрагмент) MP4/CMAF-файла. Лучшая практика 2026 года – размещать все PSSH-данные в init-сегменте, чтобы они загружались один раз при старте, а не в каждом фрагменте. Манифест `mpd` также содержит эквивалентные элементы ContentProtection, дублирующие содержимое PSSH; плеер может использовать любой из источников, но при наличии обоих приоритет отдаётся in-band PSSH.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.