6
我已经使用库(libavformat和libavcodec)来解码一些MMS流式URL。但其中一些受到DRM的保护。当我试图把它们解码,图书馆将发出警告它是否有适用于Linux的MS-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规范,并尝试到patch asfdec.c。现在,我拥有获取许可证URL和密钥ID。问题可以重写为'是否有一个适用于Linux的MS-DRM客户端库?' (旧:如何通过ffmpeg解码带有DRM的MMS流媒体网址?)
是否可以使用许可证URL和密钥ID来获取内容密钥?