Существует ли клиентская библиотека MS-DRM для Linux? - PullRequest
6 голосов
/ 16 ноября 2010

Я использовал библиотеки (libavformat и libavcodec) для декодирования некоторых потоковых URL-адресов MMS. Но некоторые из них защищены DRM . Когда я пытаюсь их расшифровать, библиотека предупреждает об этом

В libavformat / asfdec.c:

if (!s->keylen) {
    if (!guidcmp(&g, &ff_asf_content_encryption)) {
        av_log(s, AV_LOG_WARNING, "DRM protected stream detected, decoding will likely fail!\n");
    } else if (!guidcmp(&g, &ff_asf_ext_content_encryption)) {
        av_log(s, AV_LOG_WARNING, "Ext DRM protected stream detected, decoding will likely fail!\n");
    } else if (!guidcmp(&g, &ff_asf_digital_signature)) {
        av_log(s, AV_LOG_WARNING, "Digital signature detected, decoding will likely fail!\n");
    }
}

Переменная s является структурой AVFormatContext. У меня вопрос, где взять ключ? Кажется, он декодируется с помощью ключа DRM.


Я смотрю спецификацию ASF и пытаюсь исправить asfdec.c . Теперь у меня есть URL-адрес и идентификатор ключа приобретающей лицензии. Проблема может быть переписана как «Есть ли клиентская библиотека MS-DRM для Linux?» (old: Как декодировать потоковый URL-адрес MMS с помощью DRM с помощью ffmpeg?)

Можно ли использовать URL-адрес лицензии и идентификатор ключа для получения ключа содержимого?

1 Ответ

6 голосов
/ 25 января 2011

В принципе, вы можете лицензировать PlayReady Device Porting Kit от Microsoft, но это обойдется вам в 50 000 долларов. Это стандарт ANSI C, он компилируется для Linux и может расшифровывать потоки Windows Media DRM и PlayReady ASF. Я считаю, что в Linux нет других способов сделать это.

...