Есть ли способ узнать, защищен ли манифест DASH DRM в ExoPlayer? - PullRequest
0 голосов
/ 02 октября 2018

Я хочу определить, защищен ли URL-адрес манифеста DASH DRM или нет с помощью ExoPlayer - однако я не могу найти что-то, что может помочь мне в этом.

Я вижу, что вы можете добиться этого с помощью SmoothStreamingв ExoPlayer есть элемент защиты .

Интересно, сталкивался ли кто-нибудь с этим раньше?

1 Ответ

0 голосов
/ 03 октября 2018

Сам манифест DASH содержит элемент, который указывает, защищен ли контент.

Например, вот указание PlayReady (из документации MS):

<ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value=”MSPR 2.0”>
    <cenc:pssh>
          <!-- *base64-encoded PlayReady ‘pssh’ complete box* -->
    </cenc:pssh>
    <mspr:pro>
          <!-- *base64-encoded PlayReady Object* -->
    </mspr:pro>
</ContentProtection>

URL-адреса отдельных медиа-чанков могут быть запутанными или случайными, поэтому сами эти URL-адреса на самом деле не помогают передавать эту информацию.

ExoPlayer проверяет индикацию защиты в манифесте.Вы можете видеть, что он анализируется в классе 'DashManifestParser' - например:

else if (XmlPullParserUtil.isStartTag(xpp, "ContentProtection")) {
        Pair<String, SchemeData> contentProtection = parseContentProtection(xpp);
        if (contentProtection.first != null) {
          drmSchemeType = contentProtection.first;
        }
        if (contentProtection.second != null) {
          drmSchemeDatas.add(contentProtection.second);
        }

. Это нужно знать (или опасаться ..), что спецификация говорит, что тот факт, что носитель защищен, можетбыть указано в манифесте и / или на самом носителе - то есть в файле ISO есть «ящик», в котором можно указать информацию о схеме защиты.

Теоретически это означает, что вы можете указать маршрут в любом месте, нона практике не все игроки реализуют это таким образом - некоторые, включая ExoPlayer в прошлом, я думаю, не будут воспроизводиться, если поток медиаданных защищен, но Манифест не указывает на это.

...