2015-11-19 2 views
3

Извините, если мой вопрос кажется неуместным, но я новичок в технологии MPEG-DASH и DRM, и мне что-то неясно. Я рассматриваю следующие примеры тестов: http://dashif.org/reference/players/javascript/v1.5.1/samples/dash-if-reference-player/index.htmlРазница между системами защиты контента в манифесте MPEG-DASH

В частности, я сосредоточен на примерах «Cablelabs cenc» с лицензиями. может кто-нибудь объяснить мне разницу между:

  • CableLabs Cenc ClearKey
  • CableLabs Cenc Widevine
  • CableLabs Cenc PlayReady

Глядя на манифестов, нет никакой разницы между ними. Изменяется только параметр «cenc: default_KID». Итак, как видеопроцессор может понять, нужна ли и какая конкретная лицензия?

Кроме того, для приобретения лицензии иногда требуются данные инициализации. Что именно содержат эти данные?

ответ

7

В MPEG-DASH Вы можете получить информацию инициализации DRM-специфической в ​​одном из двух мест:

  • непосредственно в MPD (то, что вы называете «манифест» в вашем вопросе), или
  • Вы можете получить его в «сегменте init», который по существу является фрагментом формата файла базового медиафайла ISO, содержащим (как правило) атом «moov» и - применительно к этому вопросу - атом «pssh». Атом «pssh» важен, потому что он содержит заголовок, соответствующий DRM, например, PlayReady или WideVine.

В данном конкретном случае, это второй вариант, то есть у вас есть информация DRM в сегменте инициализации. В частности:

PlayReady

, если вы посмотрите на PlayReady MPD, вы увидите, что он содержит элемент, как это:

<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> 

Если вы посмотрите на init segment referenced by the <BaseURL> элемента в шестнадцатеричном редакторе, вы» Посмотрим, что у него есть поле «BMX» ISO BMFF под названием «pssh», за которым следует что-то четко узнаваемое как текст Unicode, который читает что-то вроде <WRMHEADER ... />, который является заголовком управления правами Microsoft PlayReady. Если вы копаете дальше, вы узнаете там «URL-адрес приобретения лицензии», который, как клиент DRM (например, Internet Explorer 11 на Windows 8.1 или выше), может получить лицензию.

Widevine

Теперь вы можете сделать то же самое с помощью WideVine MPD, который ссылается на its own init segment from its own <BaseURL> element. Если вы посмотрите на , что в шестнадцатеричном редакторе, вы также найдете поле «pssh», которое, в свою очередь, содержит заголовок управления правами WideVine. С помощью этого клиента WideVine DRM (например, Chrome) можно получить лицензию WideVine.

+2

Если вам когда-либо понадобилось проверять заголовок PSSH, когда он запел в видео, см. Https://github.com/use-sparingly/pywvpssh –

Смежные вопросы