En MPEG-DASH vous pouvez choisir d'avoir les informations d'initialisation spécifiques à DRM dans l'un des deux endroits:
- directement dans le RPD (ce que vous appelez le « manifeste » dans votre question), ou
- Vous pouvez l'avoir dans le "segment init", qui est essentiellement un fragment ISO Base Media Format contenant (typiquement) l'atome 'moov' et - de manière pertinente pour cette question - l'atome 'pssh'. L'atome 'pssh' est important car il contient l'entête spécifique à DRM, tel que le PlayReady one ou le WideVine.
Dans ce cas précis, il est la deuxième option, à savoir vous avez vos informations DRM dans le segment d'initialisation. Plus précisément:
PlayReady
si vous regardez le PlayReady MPD, vous verrez qu'il contient un élément comme celui-ci:
<Representation id="3" mimeType="video/mp4" codecs="avc1.640020" width="1280" height="720" frameRate="25" sar="1:1" startWithSAP="1" bandwidth="2276507">
<BaseURL>video_1280x720_h264-2500k_dashinit.mp4</BaseURL>
<SegmentBase indexRangeExact="true" indexRange="1789-2024">
<Initialization range="0-1788"/>
</SegmentBase>
</Representation>
Si vous regardez l'élément init segment referenced by the <BaseURL>
dans un éditeur hexadécimal, vous On verra qu'il a une "boîte" ISO BMFF appelée "pssh", suivie par quelque chose de clairement reconnaissable comme texte Unicode qui lit quelque chose comme <WRMHEADER ... />
, qui est l'en-tête de gestion des droits de Microsoft PlayReady. Si vous creusez plus loin, vous y reconnaîtrez une "URL d'acquisition de licence", c'est-à-dire comment un client DRM (comme par exemple Internet Explorer 11 sur Windows 8.1 ou supérieur) peut obtenir la licence.
Widevine
Maintenant, vous pouvez faire la même chose en utilisant la WideVine MPD, qui fait référence à its own init segment from its own <BaseURL>
element. Si vous regardez que dans un éditeur hexadécimal, vous y trouverez également une boîte 'pssh', qui à son tour contient un en-tête de gestion des droits spécifique à WideVine. Grâce à cela, un client WideVine DRM (comme par exemple Chrome) peut obtenir une licence WideVine.
Si vous avez déjà besoin d'inspecter l'en-tête PSSH quand il est cuit dans la vidéo, voir: https://github.com/use-sparingly/pywvpssh –