Короткое определение

Protection System Specific Header – box внутри ISO BMFF / CMAF файла. Несёт DRM-специфичную init-data – указатель на license-сервер, key IDs, system-specific 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-систему. Widevine PSSH указывает на Widevine license server; PlayReady PSSH несёт WRMHEADER с адресом PlayReady license server; FairPlay PSSH указывает на FPS key server. Плеер выбирает PSSH, соответствующий своему CDM, извлекает данные и собирает license request.

PSSH-боксы лежат либо в `moov` (init-сегмент), либо в `moof` (фрагмент) MP4/CMAF-файла. Best practice 2026 года – класть все PSSH-данные в init-сегмент, чтобы они грузились один раз на старте, а не в каждом фрагменте. Манифест `mpd` также несёт эквивалентные элементы ContentProtection, дублирующие содержимое PSSH; плеер может использовать любой источник, но in-band PSSH побеждает, когда есть оба.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.