ライブラリ (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 は構造体 AVFormatContext です。私の質問は、鍵をどこで入手するのですか? DRMキーでデコードするようです。
私は ASF Spec を見て、asfdec.c にパッチを当てようとしました。これで、取得ライセンスの URL とキー ID がわかりました。この問題は、「Linux 用の MS-DRM クライアント ライブラリはありますか?」と書き換えることができます。(旧: ffmpeg で DRM を使用して MMS ストリーミング URL をデコードする方法は?)
ライセンス URL とキー ID を使用してコンテンツ キーを取得することはできますか?