Protezione dei contenuti DRM

Il lettore Primetime supporta l’integrazione di Primetime DRM 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 fornisce il gestore 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, ottimizzati per tassi di errore bassi e avvio rapido.
  • Come caricare e riprodurre flussi HLS con protezione dei contenuti AES128.
  • Come caricare e riprodurre flussi HLS con protezione dei contenuti PHLS, ottimizzati per tassi di errore bassi e avvio rapido.

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

Aggiungere la protezione dei contenuti al lettore

Puoi aggiungere la protezione dei contenuti al lettore creando un gestore della riproduzione o utilizzando il programma di fabbrica del gestore.

Per creare un gestore della protezione dei contenuti:

  • Inizializzare il sistema DRM.

    Esempio Nell'esempio di codice riportato di seguito viene illustrato come chiamare loadDRMServices nell’applicazione onCreate() per garantire che qualsiasi inizializzazione necessaria per il sistema DRM venga avviata prima dell'avvio della riproduzione.

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

    Nell'esempio di codice riportato di seguito viene illustrato come caricare VideoItems al termine del caricamento dell’elenco dei contenuti. In questo modo, le licenze DRM vengono acquisite dal server licenze e memorizzate nella cache locale, in modo che all’avvio della riproduzione il contenuto venga caricato con il minimo ritardo.

    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 Precache DRM license (Licenze DRM precedenti) su ON (Attivate) nell'interfaccia utente Settings (Impostazioni) per prememorizzare le licenze DRM nella cache durante il caricamento del contenuto. Tuttavia, si consiglia di precaricare un elemento specifico invece di prememorizzare nella cache tutte le licenze nel catalogo.

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

    drmManager = ManagerFactory.getDrmManager(config, mediaPlayer);
    

Documentazione API correlata

In questa pagina