Forensisches Wasserzeichen mit den nativen SDKs

In diesem Thema erfahren Sie, wie Sie die nativen SDKs von Brightcove verwenden, um mit forensischem Wasserzeichen geschützte Videos bereitzustellen.

Einleitung

Mit Forensic Watermarking können Sie Ihre Premium-Inhalte vor Piraterie und unbefugtem Teilen von Inhalten schützen. Diese Funktion fügt Ihren Videos ein unsichtbares Wasserzeichen hinzu, sodass Sie Inhaltslecks verfolgen können.

Weitere Informationen finden Sie im Überblick: Dokument zum forensischen Wasserzeichen.

Voraussetzungen

Die folgenden Anforderungen sind erforderlich, um diese Funktion zu unterstützen:

Setup

Zusätzlich zur Konfiguration Ihres Players gibt es Setup-Anforderungen. Einzelheiten finden Sie im Überblick: Dokument zum forensischen Wasserzeichen.

Gerätebetriebssystemversion

  • Android 6.0 und neuer
  • iOS 11.0 und neuer

Brightcove SDK-Version

  • Natives SDK für Android 6.16.3 und neuer
  • Natives SDK für iOS 6.9.0 und neuer

Android-Implementierung

Die Konfiguration für forensische Wasserzeichen wird auf Videoebene durchgeführt.

  1. Der Player muss in Ihr Registrierungssystem integriert sein, damit eine Viewer-ID an das Analytics-Web-Beacon (im user Feld) weitergegeben wird.

    Zum Beispiel:

    HashMap<String, String> baseParams = new HashMap<>();
      baseParams.put(Analytics.Fields.USER, "viewer id");
      baseParams.put(Analytics.Fields.APPLICATION_ID, "application id");
      
      HashMap<String, Object> eventParams = new HashMap<>();
      eventParams.put(Analytics.Fields.BASE_PARAMS, baseParams);
      eventEmitter.emit(EventType.ADD_ANALYTICS_BASE_PARAMS, eventParams);          
    
  2. In dem Catalog.findVideo oder Catalog.findPlaylist Methodenaufrufe, fügen Sie die VideoUtil -Methode, um Ihr Wasserzeichen-Token hinzuzufügen.

    Im onVideo Rückruf

    public void onVideo(Video video) {
        VideoUtil.addWatermarkingToken(video, yourWatermarkingToken);
        brightcoveVideoView.add(video);
    } 
    

    Im onPlaylist-Rückruf

    public void onPlaylist(Playlist playlist) {
      for (Video video : testPlaylist.getVideos()) {
          VideoUtil.addWatermarkingToken(video, yourWatermarkingToken);
      }
      brightcoveVideoView.addAll(testPlaylist.getVideos());
    }
    
  3. Wenn dieser Aufruf vorhanden ist und der Katalog die Video- oder Playlist-Metadaten von der Playback-API abruft, wird die VideoUtil -Klasse ersetzt den Platzhalter für das Wasserzeichen-Token {WMT} mit dem Tokenwert, wo immer er in den Quell-URLs des Videos vorkommen kann. Dieses Token kann für jedes Video in einer Playlist ersetzt werden, das möglicherweise mit einem Wasserzeichen versehen ist.

Chromecast

Um ein Video mit Wasserzeichen zu streamen, müssen Sie beim Erstellen Ihres Videos Ihre Anwendungs-ID, Ihr Wasserzeichen-Token und Ihre Benutzer-ID angeben BrightcoveCastCustomData Objekt mit dem Cast-Plugin.

In Ihrem Code zum Einrichten der BrightcoveCastCustomData Objekt, fügen Sie diese Zeile hinzu:

public static void setupGoogleCast() {
GoogleCastComponent.Builder castPluginBuilder = new GoogleCastComponent.Builder(eventEmitter, context)
        .setAutoPlay(isAutoPlayEnabled)
        .setQueuingSupported(isQueuingSupported);

    BrightcoveCastCustomData.Builder customDataBuilder = new BrightcoveCastCustomData.Builder(context)
        .setApplicationId(yourApplicationId)
        .setWatermarkingToken(yourWatermarkingToken);
        .setUserId(yourUserId);
        // Add the custom data elements to the castPluginBuilder
        
    castPluginBuilder
        .setEnableCustomData(true)
        .setCustomData(customDataBuilder.build());
}            

Wenn Sie eine Cast-Verbindung mit einem mit Wasserzeichen versehenen Video öffnen, sollte ein customData Objekt formatiert wie folgt:

{
      "accountId": "yourAccountId",
      "analyticsParams": {
          "application": "yourApplicationId",
          "user": "yourUserId"
      },
      "catalogParams": {
          "type": "video",
          "id": "videoId",
          "policyKey": "yourPolicyKey",
          "watermarkingToken": "yourWatermarkingToken"
      }
  }  

Offline-Wiedergabe

Der Prozess zum Herunterladen eines Videos kann mehr als einen Katalogaufruf umfassen, um die aktuellen Video-Metadaten abzurufen. Brightcove empfiehlt das Hinzufügen der onVideo Rückrufcode oben für Ihre Rückrufe, die beim Erwerb von Kauf- oder Mietlizenzen und beim Herunterladen des Videos vorhanden sein können.

Sobald das Video heruntergeladen wurde, sollte die Offline-Wiedergabe wie gewohnt funktionieren.

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

iOS-Implementierung

Gehen Sie folgendermaßen vor, um einen Player für die Verwendung von forensischem Wasserzeichen zu konfigurieren:

  1. Der Player muss in Ihr Registrierungssystem integriert sein, damit eine Viewer-ID an das Analytics-Web-Beacon (im user Feld) weitergegeben wird.

    Hier geben Sie Werte für die Benutzer-ID und die Anwendungs-ID an:

    @try
      {
        [BCOVGlobalConfiguration.sharedConfig setValue:@{
          @"privateUser": @"your user id",
          @"privateApplication": @"your application id"
        }
        forKey:@"privateSessionAnalytics"];
      }
      @catch (NSException *e)
      {
        NSLog(@"%@", e.description);
      }       
    
  2. Als Teil der Brightcove-Kataloganforderung für ein einzelnes Video oder eine Playlist stellen Sie Ihr NAGRA-Wasserzeichen-Token bereit. Dies geschieht mit dem watermarkingToken Eigentum.

    Fügen Sie Ihr Wasserzeichen-Token zum Wiedergabedienst hinzu.

    /**
    * The watermarking token for use with Forensic Watermarking
    */
    @property (nonatomic, copy) NSString *watermarkingToken;
    ...
    playbackService.watermarkingToken = self.watermarkingToken;     
    
  3. Senden Sie Ihre Anfrage an den Brightcove-Katalog für ein einzelnes Video oder eine Playlist.

    Für eine Videoanfrage:

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

    Für eine Playlist-Anfrage:

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

Weitere Informationen finden Sie im Abschnitt Forensic Watermarking der Native SDK für iOS-Referenz.

Chromecast

Für das Casting müssen Sie das Wasserzeichen-Token und die userId-Felder angeben.

In Ihrem Code zum Einrichten der BrightcoveCastCustomData Objekt, fügen Sie diese Zeile hinzu:

BCOVReceiverAppConfig *appConfig = [BCOVReceiverAppConfig new];
...
appConfig.userId = @"ios-client@brightcove.com";
appConfig.watermarkingToken = watermarkingToken;
...                 

In der Debugging-Konsole sehen Sie die Konfigurationswerte, die für Ihre Chromecast-Sitzung verwendet werden.

Google Cast Custom Data: {
  accountId = <your_account_id>;
  analyticsParams =     {
      application = "";
      user = "ios-client@brightcove.com";
  };
  catalogParams =     {
      adConfigId = "";
      bcovAuthToken = "";
      id = <your_video_id>;
      policyKey = "<your_policy_key";
      type = video;
      watermarkingToken = "<your_watermark_token";
  };    

Offline-Wiedergabe

Die Offline-Wiedergabe sollte wie gewohnt funktionieren, sobald das Video heruntergeladen wurde.

Um mit dieser Funktion zu beginnen, lesen Sie die Entwicklerleitfaden für iOS-Apps zur Offline-Wiedergabe Hinweis.

Einschränkungen

Weitere Informationen zu den Einschränkungen für diese Funktion finden Sie in der Übersicht: Dokument zum forensischen Wasserzeichen.