Y at-il une bibliothèque client MS-DRM pour linux?
-
10-10-2019 - |
Question
J'ai utilisé les bibliothèques (libavformat et libavcodec) pour décoder certains MMS en streaming urls. Mais certains d'entre eux sont protégés par DRM . Lorsque je tente de les décoder, la bibliothèque en avertit
Dans 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 est la AVFormatContext struct. Ma question est de savoir où obtenir la clé? Il semble décoder avec une clé DRM.
Je regarde la Spec ASF, et essayer de asfdec.c . Maintenant, je l'URL de licence et l'acquisition d'id clé. Le problème peut récrire comme «Y at-il une bibliothèque client MS-DRM pour linux? (Ancienne: Comment décoder un MMS en streaming url avec DRM par ffmpeg)
Est-il possible d'utiliser l'URL de licence et id clé pour obtenir la clé de contenu?
La solution
En principe, vous pouvez licence PlayReady périphérique Kit de Porting Microsoft, mais ça va vous coûtera 50 000 $. Il est la norme ANSI C, il compilera pour Linux, et il peut décrypter les deux flux Windows Media DRM et PlayReady ASF. Je crois qu'il n'y a pas d'autres façons de le faire sous Linux.