2017-05-17 81 views
3

我正在開發基於DRM的android應用程序。 應用程序旨在加密文件(音頻,視頻)下載和獲取控制權限(音頻,視頻)的文件(音頻,視頻),以防止文件(音頻,視頻)複製,粘貼和過期文件,以便無法再查看。爲此我使用android.drm如何使用android.drm框架

我尋覓了很多,但沒有得到任何結果

所以,請分享講解如何使用DRM框架API一些示例代碼。

Refered:

https://www.widevine.com/wv_drm.html

https://source.android.com/devices/drm

https://developer.android.com/reference/android/drm/package-summary.html

+0

你爲什麼不只是壓縮文件有密碼嗎? DRM框架並不是爲此目的而設計的。 您的代碼在使用DRM框架時不會涉及到密鑰。 –

回答

4

在大多數DRM方案中,Android裝置將是從一個DRM點客戶端,而不是服務器。

換句話說,Android設備通常是需要向DRM系統請求查看內容的密鑰的回放設備。

從理論上說,Android設備無法充當包裝員或內容加密的理由是沒有理由的,但這不是標準,所以它不是如何設置Android中的DRM框架或示例。

如果您確實想了解如何在設備上播放受DRM保護的內容,那麼Exoplayer演示就有很好的工作示例。

看看在DefaultDRMSessionManager爲出發點:https://github.com/google/ExoPlayer/blob/d979469659861f7fe1d39d153b90bdff1ab479cc/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java

更新

受保護內容的一個例子的工作流程:

  1. 內容是在服務器上的攝入(即加載或以某種方式放置在流服務器上)
  2. 該內容向DRM許可證服務器和加密請求的密鑰
  3. 當用戶請求視頻文件時,文件將打包成適用於該設備的流媒體協議(通常爲Android的MPEG DASH),並使用從DRM服務器接收的密鑰對視頻文件進行加密。
  4. 請求流(即您的情況下的Android設備)的設備接收到流並標識它已加密。它從許可證服務器請求許可證密鑰。在使用Widevine DRM的Android設備上,它必須包含播放器配置中包含的許可證服務器的URL。
  5. DRM服務器將密鑰安全地發送到播放內容的Android設備。由於使用DRM系統和設備來保護媒體路徑,所以應用程序或操作系統都無法看到密鑰或未加密的內容。

流媒體服務器和DRM服務器通常是非常複雜的系統,它不太可能想要自己構建。

對於流媒體服務器有開放源碼的例子,你可以看看和使用 - 例如爲:https://gstreamer.freedesktop.org

如果你想與DRM實驗,那麼你可以使用與MPEG DASH這Exoplayer將支持clearkey DRM。它不像常規的DRM方案那樣安全,但它是免費的,因此值得檢查它是否符合您的需求。

一些編碼服務讓您實驗clearkey設置 - 在這裏看到一個例子:https://bitmovin.com/tutorials/mpeg-cenc-clearkey-drm-encryption/

+0

你是否使用DRM工作過文件保護(加密)視頻源 如何讓DRM系統查看內容的密鑰(實現) – KomalG

+0

好的,這是一個不同的問題 - 現在看客戶端。見上面的更新。 – Mick

+0

您好米克感謝您的迴應,我的觀點是關於使用android.drm保護媒體內容,如何實現該目標 – KomalG