¿Hay una biblioteca de cliente MS-DRM para Linux?
-
10-10-2019 - |
Pregunta
he utilizado las bibliotecas (libavformat y libavcodec) para decodificar algunos MMS streaming de direcciones URL. Pero algunos de ellos están protegidos por DRM . Cuando trato de decodificarlos, la biblioteca le advertirá de ello
En 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");
}
}
La variable s es el AVFormatContext estructura. Mi pregunta es dónde obtener la clave? Parece decodificarlo con una clave de DRM.
miro la ASF Spec, y tratar de parche asfdec.c . Ahora, tengo la URL licencia de adquisición y ID de la llave. El problema se puede reescribir como "¿Existe una biblioteca de cliente MS-DRM para Linux? (Edad:? Cómo decodificar un MMS de streaming url con DRM por ffmpeg)
¿Es posible utilizar la url de licencia y el ID de la clave para obtener la clave de contenido?
Solución
En principio se puede licenciar el PlayReady Device Porting Kit de Microsoft, pero que va a configurar de nuevo $ 50.000. Es estándar ANSI C, se compilará para Linux, y puede descifrar tanto Windows Media DRM y PlayReady ASF arroyos. Creo que no hay otras maneras de hacer esto en Linux.