Linux是否有MS-DRM客户库库?
-
10-10-2019 - |
题
我已经使用了库(libavformat和libavcodec)来解码一些MMS流URL。但是其中一些受到保护 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是struct avformatContext。我的问题是从哪里获取钥匙?它似乎用DRM密钥对其进行了解码。
我看ASF规格,然后尝试 补丁ASFDEC.C. 。现在,我有了获得许可URL和密钥ID。问题可能会重写为“是否有MS-DRM客户端库?” (旧:如何用ffmpeg用DRM解码MMS流URL?)
是否可以使用许可URL和密钥ID获取内容密钥?
解决方案
原则上,您可以许可 Playready设备移植套件 来自微软,但它会让您退还50,000美元。它是标准的ANSI C,它将为Linux编译,并且可以解密Windows Media DRM和PlayReady ASF流。我相信没有其他方法可以在Linux上执行此操作。
不隶属于 StackOverflow