Lieferregeln implementieren

In diesem Thema erfahren Sie, wie Sie die Bereitstellungsregeln von Brightcove implementieren, mit denen Sie die Bereitstellung Ihrer Medien an Ihre Geschäftsziele anpassen können.

Überblick

Verlage müssen aus technischen und geschäftlichen Gründen häufig die Inhaltsmerkmale ihrer Medienmanifeste ändern. Um diese Anforderungen zu erfüllen, hat Brightcove ein Framework erstellt, in dem Regeln angewendet werden können, die den Inhalt des von Dynamic Delivery zurückgegebenen Manifests ändern.

Lieferregeln bestehen aus Bedingungen und Aktionen.

  • Bedingungen - „Wenn“-Bedingungen, die eine bestimmte Aktion auslösen
  • Aktionen - "Dann"-Parameter, die definieren, wie das Manifest geändert wird

Weitere Informationen zu Lieferregeln finden Sie unter:

Kontoeinrichtung

Wenden Sie sich an Ihren Customer Success Manager, um die Preise zu erfahren und diese Funktion für Ihr Konto zu aktivieren.

Regeln anwenden

Das folgende Flussdiagramm zeigt, wie Versandregeln angewendet werden.

Angewendete Lieferregeln
Angewendete Lieferregeln

Bedingungen

Die "if"-Bedingungen, die in der ersten Phase unterstützt werden, umfassen Folgendes:

  • Explizite Anfrage - Eine Konfigurations-ID ist die ID einer Aktion, die Sie erstellt haben. Sie verwenden diese ID, um zur Laufzeit an die Playback-API zu übergeben. Diese ID wird Konfigurationswerten zugeordnet, die es den zugrunde liegenden Diensten ermöglichen, Entscheidungen zu treffen, die von der Playback-API genutzt werden, um die entsprechenden Antwortdaten zurückzugeben.

  • Gerätegruppe - Gerätetyp, wie er vom User-Agent-Parsing erkannt wurde. Zu den derzeit unterstützten Gruppen gehören:
    • Android
    • Apple TV
    • Chromecast
    • iPad
    • iPhone
    • Desktop-Chrom
    • Desktop-Firefox
    • Desktop-Safari
    • tv holen
    • ios-andere
    • roku-7/8
    • Smartphone-Generikum
    • Tablet-Android
    • Tablet-Kindle
    • unbekannt
     
  • Geographie - Physischer Standort des anfordernden Geräts:
    • Kontinent
    • Land

Aktionen

Die in der ersten Phase unterstützten Aktionen oder "dann"-Parameter umfassen Folgendes:

  • CDN für die Medienbereitstellung - Von den CDNs, die für die Verwendung in einem bestimmten Dynamic Delivery-Konto konfiguriert sind, das CDN, das für die Bereitstellung von Mediensegmenten verwendet werden soll.

  • Wiedergabeeigenschaften - Filter basierend auf den Eigenschaften der zugrunde liegenden Medienwiedergaben. Dazu gehören:
    • Minimale Video-Bitrate
    • Maximale Video-Bitrate
    • Mindestvideoauflösung
    • Maximale Videoauflösung
    • Maximale Anzahl von Audiowiedergaben
    • Maximale Anzahl von Videowiedergaben
    • Erste Video-Bitrate
    • Diskontinuitäten

Umfang

Aktionen können auf zwei Ebenen angewendet werden:

  • Konto - Aktionen, die für alle Anfragen gelten, die an ein bestimmtes Kundenkonto gestellt werden
  • Spezifische Anfrage - Aktionen, die bei einer bestimmten Anfrage aufgerufen werden

Die Aktionen werden in der oben aufgeführten Reihenfolge angewendet. Spätere Aktionen überschreiben frühere.

Regeln definieren

Verwenden Sie die Delivery Rules API, um die Medienbereitstellung anzupassen.

Lieferregeln-API

Die Lieferregeln-API ermöglicht es Ihnen, Bedingungen und Aktionen zu definieren, um Ihre Medienbereitstellung zu steuern.

Die Antwort aus der Delivery Rules API enthält a conditions Array. Mit diesem Array können Sie mehrere erstellen if / then Bedingungen, in denen jeder then verweist auf einen oder mehrere Aktions-IDs.

Obwohl es keine Methoden zum Hinzufügen oder Löschen gibt conditions, können Sie dies tun, indem Sie das conditions Array aktualisieren.

Basis-URL

Die Basis-URL für die API lautet:

https://delivery-rules.api.brightcove.com

Account-Pfad

In allen Fällen werden Anfragen für ein bestimmtes Video Cloud-Konto gestellt. Sie fügen also immer den Begriff Konten gefolgt von Ihrer Konto-ID zur Basis-URL hinzu:

https://delivery-rules.api.brightcove.com/accounts/{accountID}

Autorisierung

Ein Zugriffstoken für Anfragen ist erforderlich und muss im Autorisierungsheader vorhanden sein።

Authorization: Bearer {access_token}

Das Zugriffstoken ist ein temporäres OAuth2-Zugriffstoken, das vom Brightcove OAuth-Dienst abgerufen werden muss. Ausführliche Informationen zum Abrufen von Client-Anmeldeinformationen und deren Verwendung zum Abrufen von Zugriffstoken finden Sie im Übersicht über Brightcove OAuth.

Berechtigungen

Anfragen an die Playback Rights API müssen gestellt werden von Kundenanmeldeinformationen mit folgenden Berechtigungen:

  • video-cloud/delivery-rules/read
  • video-cloud/delivery-rules/all

Regeln verwalten

Die Delivery Rules API unterstützt die folgenden Anfragen. API-Details finden Sie im API-Referenz für Lieferregeln.

Lieferregeln abrufen

Verwenden Sie die folgende GET-Anfrage, um die neueste Version der Übermittlungsregeln für ein Konto abzurufen.

GET /accounts/{accountID}
API-Antwort

Hier ist der Antworttext. Beachten Sie, dass Lieferregeln eine Reihe von Bedingungen und eine Reihe von Aktionen enthalten.

{
  "conditions": [
    {
      "name": "MyCondition1",
      "if": {
        "device_group": [
          "ipad"
        ],
        "request_country": [
          "string"
        ],
        "request_continent": [
          "AF"
        ]
      },
      "then": [
        "{action_id}"
      ]
    }
  ],
  "actions": [
    {
      "id": "44c91a1d-71f1-40b4-b9cf-3abcd12345",
      "properties": {
        "min_video_bitrate": 0,
        "max_video_bitrate": 0,
        "first_video_bitrate": 0,
        "min_video_resolution": "string",
        "max_video_resolution": "string",
        "max_video_renditions": 0,
        "max_audio_renditions": 0,
        "preferred_cdn_provider": "string",
        "preferred_cdn_domain": "string",
      "video_codecs": [
        "string"
      ],
      "audio_codecs": [
        "string"
      ]
    }
    }
  ]
}

Bedingungen abrufen

Verwenden Sie die folgende GET-Anfrage, um die Bedingungen für ein Konto abzurufen.

GET /accounts/{accountID}/conditions
API-Antwort

Hier ist der Antworttext.

[
  {
    "name": "MyCondition1",
    "if": {
      "device_group": [
        "ipad"
      ],
      "request_country": [
        "string"
      ],
      "request_continent": [
        "AF"
      ]
    },
    "then": [
      "44c91a1d-71f1-40b4-b9cf-3abcd12345"
    ]
  }
]

Bedingungen aktualisieren

Verwenden Sie die folgende PUT-Anfrage, um die Bedingungen für ein Konto zu aktualisieren.

PUT /accounts/{accountID}/conditions
  Content-Type: application/json
  Authorization: Bearer {access_token}
  Body: {conditions object}

Anforderungsstelle für Bedingungen

Hier ist der Anforderungstext für Bedingungen. Beachten Sie, dass dies ein Array von Bedingungsobjekten ist.

[
  {
    "name": "MyCondition1",
    "if": {
      "device_group": [
        "ipad"
      ],
      "request_country": [
        "string"
      ],
      "request_continent": [
        "AF"
      ]
    },
    "then": [
      "44c91a1d-71f1-40b4-b9cf-3abcd12345"
    ]
  }
]

Hier sind die Felddetails für Bedingungen:

Feld Typ Beschreibung
name Zeichenfolge Eindeutiger Bezeichner für die Bedingung
device_group Zeichenfolge Array von Gerätetypen, wie sie vom User-Agent-Parsing erkannt wurden
request_country Zeichenfolge Array von zweibuchstabigen Ländercodes
request_continent Zeichenfolge Array von Kontinentcodes mit zwei Buchstaben
then Zeichenfolge Eindeutige Kennung für die zugehörige Aktion

Erstellen Sie eine Aktion

Verwenden Sie die folgende POST-Anfrage, um Aktionen für ein Konto zu erstellen.

POST /accounts/{accountID}/actions
  Content-Type: application/json
  Authorization: Bearer {access_token}
  Body: {actions object}

Anfragetext für Aktionen

Hier ist der Anforderungstext für Aktionen.

{
    "properties": {
      "min_video_bitrate": 0,
      "max_video_bitrate": 0,
      "first_video_bitrate": 0,
      "min_video_resolution": "string",
      "max_video_resolution": "string",
      "max_video_renditions": 0,
      "max_audio_renditions": 0,
      "preferred_cdn_provider": "string",
      "preferred_cdn_domain": "string",
      "video_codecs": [
        "string"
      ],
      "audio_codecs": [
        "string"
      ]
  }
}

Hier sind die Felddetails für Aktionen:

Feld Typ Beschreibung
properties Objekt Ein Objekt mit definierten Eigenschaften für eine bestimmte Aktion
min_video_bitrate,
max_video_bitrate
Ganze Zahl Legen Sie die minimal oder maximal zulässige Video-Bitrate (kbps) fest.
first_video_bitrate Ganze Zahl Stellen Sie die Bitrate für das erste Video ein (kbps)
min_video_resolution,
max_video_resolution
Zeichenfolge Legen Sie die minimal oder maximal zulässige Videoauflösung (BxH) fest.
max_video_renditions Ganze Zahl Legen Sie die maximale Anzahl von Videowiedergaben fest
max_audio_renditions Ganze Zahl Legen Sie die maximale Anzahl von Audiowiedergaben fest
preferred_cdn_provider Zeichenfolge Legen Sie den bevorzugten CDN-Anbieter fest
preferred_cdn_domain Zeichenfolge Legen Sie die bevorzugte CDN-Domain fest
video_codecs Zeichenfolge Array von Video-Codecs
audio_codecs Zeichenfolge Array von Audio-Codecs

API-Antwort für Aktionen

Hier ist ein Beispiel für einen Antwortkörper für Aktionen.

{
    "id": "44c91a1d-71f1-40b4-b9cf-3abcd12345",
    "properties": {
      "min_video_bitrate": 0,
      "max_video_bitrate": 0,
      "first_video_bitrate": 0,
      "min_video_resolution": "string",
      "max_video_resolution": "string",
      "max_video_renditions": 0,
      "max_audio_renditions": 0,
      "preferred_cdn_provider": "string",
      "preferred_cdn_domain": "string",
      "video_codecs": [
       "string"
      ],
      "audio_codecs": [
       "string"
      ]
  }
}

Zusätzlich zu den Aktionsfeldern in der Anfrage enthält die API-Antwort das folgende generierte Feld:

Feld Typ Beschreibung
id Zeichenfolge Ein vom System generierter eindeutiger Bezeichner für die Aktion. Dies ist das actionID in den Update- und Löschmethoden verwendet.

Aktionen abrufen

Verwenden Sie die folgende GET-Anfrage, um die Aktionen für ein Konto abzurufen.

GET /accounts/{accountID}/actions
API-Antwort

Siehe die API-Antwort für Aktionen.

Holen Sie sich eine Aktion

Verwenden Sie die folgende GET-Anfrage, um eine bestimmte Aktion für ein Konto abzurufen.

GET /accounts/{accountID}/actions/{actionID}
API-Antwort

Siehe die API-Antwort für Aktionen.

Aktualisieren einer Aktion

Verwenden Sie die folgende PUT-Anfrage, um eine Aktion für ein Konto zu aktualisieren.

PUT /accounts/{accountID}/actions/{actionID}
  Content-Type: application/json
  Authorization: Bearer {access_token}
  Body: {actions object}
API-Anfrage

Hier ist ein Beispiel für den Anforderungstext zum Aktualisieren von Aktionen.

{
  "id": "44c91a1d-71f1-40b4-b9cf-3edb94645943",
  "properties": {
   "custom_properties": {
    "generate_thumbnails": false,
    "hls_iframes": true
   }
  }
 }
API-Antwort

Hier ist eine Beispielantwort für aktualisierte Aktionen.

{
  "id": "44c91a1d-71f1-40b4-b9cf-3edb94645943",
  "properties": {
   "custom_properties": {
    "generate_thumbnails": false,
    "hls_iframes": true
   }
  }
 }

Eine Aktion löschen

Verwenden Sie die folgende DELETE-Anfrage, um eine Aktion für ein Konto zu entfernen.

DELETE /accounts/{accountID}/actions/{actionID}

Einschränkungen

Es gibt einige bekannte Einschränkungen bei der Verwendung von Lieferregeln:

  • Medieninhalte — Die Lieferregeln funktionieren nicht mit Smooth- oder PMP4-Videos.
  • Medieninhalt - Lieferregeln funktionieren nicht mit Live-Videos.
  • Nur Audio - Lieferregeln mit aktivierten Server-Side Ads (SSAI) erfordern sowohl Video- als auch Audioinhalte. Dies ist eine SSAI-Einschränkung.