Вопрос

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

В 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?» (Старый: Как расшифровать URL -адрес MMS с DRM от FFMPEG?)

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top