Protezione dei contenuti DRM

Il lettore Primetime supporta l'integrazione DRM di Primetime come flussi di lavoro DRM personalizzati. Ciò significa che l’applicazione deve implementare i flussi di lavoro di autenticazione DRM prima di riprodurre il flusso.

Per abilitare questa funzione, TVSDK ti fornisce la gestione DRM per l’autenticazione. L’implementazione di riferimento fornisce un esempio dei seguenti flussi di lavoro:

  • Come caricare e riprodurre flussi HLS con protezione dei contenuti di Access, ottimizzato per bassi tassi di errore e avvio rapido.
  • Come caricare e riprodurre flussi HLS con la protezione dei contenuti AES128.
  • Come caricare e riprodurre flussi HLS con protezione dei contenuti PHLS, ottimizzato per bassi tassi di errore e avvio rapido.

Tutti i contenuti protetti da DRM vengono gestiti automaticamente dalle librerie DRM integrate nel TVSDK. Tuttavia, puoi esporre la gestione degli errori, l’ottimizzazione dell’individualizzazione del dispositivo e l’acquisizione della licenza utilizzando i callback API TVSDK.

Aggiungi la protezione del contenuto al lettore

È possibile aggiungere la protezione del contenuto al lettore creando un gestore di riproduzione o utilizzando il manager factory.

Per creare un gestore della protezione dei contenuti:

  • Inizializzare il sistema DRM.

    L'esempio di codice seguente mostra la chiamata di loadDRMServices nella funzione dell'applicazione onCreate() per garantire che l'inizializzazione necessaria per il sistema DRM venga avviata prima dell'avvio della riproduzione.

    @Override
     public void onCreate() {
         super.onCreate();
         DrmManager.loadDRMServices(getApplicationContext());
     }
    
  • Caricare le licenze DRM.

    L'esempio di codice seguente mostra il caricamento di VideoItems al termine del caricamento dell'elenco di contenuti. In questo modo le licenze DRM verranno acquisite dal server licenze e memorizzate nella cache locale, in modo che, all'avvio della riproduzione, il contenuto venga caricato con un ritardo minimo.

    DrmManager.preLoadDrmLicenses(item.getUrl(),
      new MediaPlayerItemLoader.LoaderListener() {
    
        @Override
        public void onLoadComplete(MediaPlayerItem item) {
            Player.logger.w(LOG_TAG + "::DRMPreload#onLoadComplete", item.getResource().getUrl());
        }
    
        @Override
        public void onError(MediaErrorCode errorCode, String s) {
            Player.logger.e(LOG_TAG + "::DRMPreload#onError", s);
        }
    }
    
    NOTA

    È possibile impostare le licenze DRM Precache su ON nell'interfaccia utente Impostazioni per prenotare le licenze DRM durante il caricamento del contenuto. Tuttavia, è consigliabile precaricare un elemento specifico invece di prememorizzare tutte le licenze nel catalogo.

  • Per utilizzare ManagerFactory per implementare la gestione degli errori DRM, assicurati che la seguente riga di codice sia nel file PlayerFragment.java:

    drmManager = ManagerFactory.getDrmManager(config, mediaPlayer);
    

Documentazione API correlata

In questa pagina