Я использовал библиотеки (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-адрес лицензии и идентификатор ключа для получения ключа содержимого?