Kontaktieren Sie Support | Systemstatus
Seiteninhalt

    Verwenden von Wiedergabeautorisierungs-DRM mit den nativen SDKs

    In diesem Thema erfahren Sie, wie Sie den Wiedergabeautorisierungsdienst von Brightcove verwenden, um Videos abzurufen, die für die dynamische Bereitstellung mit den nativen Brightcove-SDKs aufgenommen wurden.

    Einführung

    Der Playback Authorization Service (PAS) von Brightcove bietet ein zusätzliches Maß an Sicherheit, wenn Dynamic Delivery mit DRM-geschützten oder HTTP Live Streaming Encryption (HLSe)-Inhalten verwendet wird.

    Mit PAS werden Lizenzanfragen mit einem signierten . authentifiziert JSON-Webtoken (JWT).

    Es wird bei der Anforderung der Videolizenz verwendet, nachdem das Video auf den Player geladen und die Quelle ausgewählt wurde.

    Weitere Informationen zu PAS finden Sie im Überblick: DRM mit Playback Authorization Service dokumentieren.

    Android-Implementierung

    Das Native SDK für Android unterstützt derzeit PAS für HLSe- und Widevine DASH-Quellen. Sie geben Ihr Autorisierungstoken als Teil der Brightcove-Kataloganforderung für ein einzelnes Video oder eine Playlist an.

    Gehen Sie folgendermaßen vor, um eine Brightcove-Kataloganforderung mit PAS zu erstellen:

    1. Erstelle ein HttpRequestConfig -Objekt und legen Sie das Brightcove-Autorisierungstoken wie hier gezeigt fest:

      HttpRequestConfig httpRequestConfig = new HttpRequestConfig.Builder()
             .setBrightcoveAuthorizationToken(myToken)
             .build();
      

      Der Wert des Autorisierungs-Tokens ist der Wert Ihres JSON-Web-Tokens.

    2. Nachdem Sie die erstellt haben HttpRequestConfig -Objekt können Sie dieses an eine der folgenden Catalog-Methoden übergeben:

      Verwenden Sie für eine Videoanfrage eine der folgenden Möglichkeiten:

      findVideoByID(String, HttpRequestConfig, VideoListener)
      
      findVideoByReferenceID(String, HttpRequestConfig, VideoListener)
      

      Verwenden Sie für eine Playlist-Anfrage eine der folgenden Möglichkeiten:

      findPlaylistByID(String, HttpRequestConfig, PlaylistListener)
      
      findPlaylistByReferenceID(String, HttpRequestConfig, PlaylistListener)
      

      Die Details der Token-Nutzung für den Erwerb von HLSe- und Widevine-Lizenzen werden vom SDK gehandhabt.

    Codebeispiel

    Das folgende Beispiel zeigt, wie Sie Ihr Autorisierungstoken bei einer Kataloganforderung übergeben:

    String myToken = "...";
    HttpRequestConfig httpRequestConfig = new HttpRequestConfig.Builder()
           .setBrightcoveAuthorizationToken(myToken)
           .build();
    …
    
    Catalog catalog = new Catalog(eventEmitter, accountId, policyKey, playbackApiBaseUrl);
    catalog.findVideoByReferenceID(videoReferenceId, httpRequestConfig, new VideoListener(){...});
    

    Offline-Wiedergabe

    Der OfflineKatalog findVideo , requestPurchaseLicense und requestRentalLicense Methoden nehmen alle eine HttpRequestConfig als Argument.

    private HttpRequestConfig httpRequestConfig;
    private String pasToken = "YOUR_PAS_TOKEN";
    ...
    HttpRequestConfig.Builder httpRequestConfigBuilder = new HttpRequestConfig.Builder();
    httpRequestConfigBuilder.setBrightcoveAuthorizationToken(pasToken);
    httpRequestConfig = httpRequestConfigBuilder.build();
    playlist.findPlaylist(catalog, httpRequestConfig, new PlaylistListener() {
        @Override
        public void onPlaylist(Playlist playlist) {
            videoListAdapter.setVideoList(playlist.getVideos());
            onVideoListUpdated(false);
            brightcoveVideoView.addAll(playlist.getVideos());
        }
    
        @Override
        public void onError(String error) {
            String message = showToast("Failed to find playlist[%s]: %s", playlist.displayName, error);
            Log.w(TAG, message);
            onVideoListUpdated(true);
        }
    });

    Einzelheiten finden Sie im Beispiel-App für die Offline-Wiedergabe.

    Antworten

    Die folgenden Antworten sind mit PAS verbunden:

    • 200 - Lizenz darf fortgesetzt werden
    • 401 - Die Lizenzlieferung darf nicht fortgesetzt werden

    Einschränkungen

    Bei der aktuellen Version gibt es eine Einschränkung:

    • Chromecast wird mit der Wiedergabeautorisierung nicht unterstützt.

    iOS-Implementierung

    Wenn Sie den Wiedergabeautorisierungsdienst von Brightcove verwenden, müssen Sie die Wiedergabedienstmethoden verwenden, mit denen Sie Ihr Autorisierungstoken übergeben können.

    Verwenden Sie für eine Videoanfrage eine der folgenden Möglichkeiten:

    - (void)findVideoWithVideoID:(NSString *)videoID authToken:(NSString *)authToken parameters:(NSDictionary *)parameters completion:(void (^)(BCOVVideo *video, NSDictionary *jsonResponse, NSError *error))completionHandler;
    
    - (void)findVideoWithReferenceID:(NSString *)referenceID authToken:(NSString *)authToken parameters:(NSDictionary *)parameters completion:(void (^)(BCOVVideo *video, NSDictionary *jsonResponse, NSError *error))completionHandler;
    

    Verwenden Sie für eine Playlist-Anfrage eine der folgenden Möglichkeiten:

    - (void)findPlaylistWithPlaylistID:(NSString *)playlistID authToken:(NSString *)authToken parameters:(NSDictionary *)parameters completion:(void (^)(BCOVPlaylist *playlist, NSDictionary *jsonResponse, NSError *error))completionHandler;
    
    - (void)findPlaylistWithReferenceID:(NSString *)referenceID authToken:(NSString *)authToken parameters:(NSDictionary *)parameters completion:(void (^)(BCOVPlaylist *playlist, NSDictionary *jsonResponse, NSError *error))completionHandler;
    

    Die Details der Token-Nutzung für den Erwerb von HLSe- und FairPlay-Lizenzen werden vom SDK gehandhabt.

    Einzelheiten finden Sie im Wiedergabe-Autorisierungsdienst Abschnitt der Native SDK für iOS-Referenz.

    Offline-Wiedergabe

    Wenn Sie den Playback Authorization Service mit Offline Playback verwenden, gibt es eine neue Methode zum Erneuern einer FairPlay-Lizenz, die einen Autorisierungstoken akzeptiert:

    // Request license renewal
        [BCOVOfflineVideoManager.sharedManager renewFairPlayLicense:offlineVideoToken
            video:video // recent video from Playback API or Playback Service class
            authToken: authToken
            Parameters: parameters
            completion:^(BCOVOfflineVideoToken offlineVideoToken, NSError *error)
        {
            // handle errors
        }];
    

    Wenn die Lizenzverlängerung abgeschlossen ist, wird der Abschlussblock mit demselben Offline-Video-Token aufgerufen, das übergeben wurde. Ein NSError zeigt jedes aufgetretene Problem an (oder null, wenn kein Fehler vorliegt).

    Einzelheiten finden Sie im Erneuern einer FairPlay-Lizenz Abschnitt der Native SDK für iOS-Referenz.

    Antworten

    Die folgenden Antworten sind mit PAS verbunden:

    • 200 - Lizenz darf fortgesetzt werden
    • 401 - Die Lizenzlieferung darf nicht fortgesetzt werden

    Seite zuletzt aktualisiert am 14 Feb 2022