6

ライブラリ (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 を使用してコンテンツ キーを取得することはできますか?

4

1 に答える 1

6

原則として、Microsoft からPlayReady Device Porting Kitのライセンスを取得できますが、50,000 ドルの費用がかかります。これは標準の ANSI C であり、Linux 用にコンパイルされ、Windows Media DRM と PlayReady ASF ストリームの両方を復号化できます。Linuxでこれを行う方法は他にないと思います。

于 2011-01-25T08:02:44.267 に答える