2010-11-16 30 views
6

Tôi đã sử dụng các thư viện (libavformat và libavcodec) để giải mã một số url phát trực tuyến MMS. Nhưng một số trong số chúng được bảo vệ bởi DRM. Khi tôi cố gắng giải mã chúng, thư viện sẽ cảnh báo về nóCó thư viện máy khách MS-DRM cho Linux không?

Trong 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"); 
    } 
} 

Biến s là AVFormatContext struct. Câu hỏi của tôi là nơi lấy chìa khóa? Dường như giải mã bằng khóa DRM.


Tôi xem ASF Spec và cố gắng patch asfdec.c. Bây giờ, tôi có URL giấy phép mua lại và id khóa. Vấn đề có thể viết lại là 'Có thư viện máy khách MS-DRM cho Linux không?' (cũ: Cách giải mã url phát trực tuyến MMS bằng DRM bằng ffmpeg?)

Có thể sử dụng url giấy phép và id khóa để lấy khóa nội dung không?

Trả lời

5

Về nguyên tắc, bạn có thể cấp phép cho PlayReady Device Porting Kit từ Microsoft, nhưng bạn sẽ trả lại 50.000 đô la. Nó là chuẩn ANSI C, nó sẽ biên dịch cho Linux, và nó có thể giải mã cả hai luồng Windows Media DRM và PlayReady ASF. Tôi tin rằng không có cách nào khác để làm điều này trên Linux.

Các vấn đề liên quan