Integrieren Sie Ihr CMS in Video Cloud

In diesem Thema lernen Sie die grundlegenden Vorgänge bei der Integration von Brightcove Video Cloud in ein CMS kennen. Darin sind typische Funktionen aufgeführt, die Benutzer innerhalb des CMS ausführen, sowie die Brightcove-API-Vorgänge, die zur Bereitstellung dieser Funktionen verwendet werden können.

Benutzerfunktionen

Nachfolgend finden Sie Funktionen im Zusammenhang mit Video-Cloud die Sie den Nutzern Ihres CMS zur Verfügung stellen möchten:

  • Neue Videos hinzufügen zu Video-Cloud
  • Ersetzen Video-Cloud Video mit neuer Version
  • Metadaten für Videos aktualisieren, z. B. Titel, Beschreibung und Tags
  • Videos löschen
  • Playlists erstellen
  • Ändern Sie die Videos in einer Playlist
  • Wiedergabelisten löschen
  • Videoplayer erstellen
  • Eigenschaften des Videoplayers ändern, z. B. Abmessungen oder Stil
  • Fügen Sie Videoplayern durch Plugins spezielle Funktionen hinzu
  • Veröffentlichen Sie einzelne Videos oder Playlists
  • Bereitstellung von Analysedaten zu Videoladevorgängen, Aufrufen, Wiedergaberaten, Engagement usw.

Möglicherweise möchten Sie Ihren Endbenutzern nicht all diese Funktionen zur Verfügung stellen - Sie möchten beispielsweise nicht zulassen, dass sie Videos löschen. Einer der Vorteile der Integration Video-Cloud mit Ihrem CMS, anstatt Benutzer direkt zu lassen Video-Cloud Studio besteht darin, dass Sie genau auswählen können, welche Funktionen den Benutzern über die Brightcove-APIs zur Verfügung gestellt werden sollen.

Authentifizierung

Für alle Brightcove API-Anfragen basiert die Authentifizierung auf OAuth2-Zugriffstoken. Es gibt einen zweistufigen Prozess zum Abrufen von Zugriffstoken:

  1. Erstellen Sie Client-Anmeldeinformationen mit Berechtigungen für die benötigten API-Operationen
  2. Verwenden Sie die Client-Anmeldeinformationen, um ein temporäres Zugriffstoken zu erstellen, um eine API-Anfrage zu authentifizieren

Kundenanmeldeinformationen erstellen

Das Erstellen von Client-Anmeldeinformationen ist ein einmaliger Vorgang, der durch Video-Cloud Studio oder der OAuth-API . Wie auch immer du es tust, a client_id und client_secret zurückgegeben, die Sie speichern müssen, um Zugriffstoken anzufordern.

Zugriffstoken erstellen

Temporäre Zugriffstoken werden mit dem . erstellt OAuth-API . Die client_id und client_secret muss BASE64-codiert und als a . übergeben werden Basic Autorisierungszeichenfolge.

Die access_token zurückgegeben wird wiederum in einem Authorization-Header mit dem API-Aufruf übergeben:

    >Authorization: Bearer your_access_token
    
    

Zugriffstoken sind 5 Minuten lang gültig. Sofern Sie keine Batch-Operation ausführen, die Hunderte von aufeinander folgenden API-Aufrufen ausführt, ist es sinnvoll, für jeden API-Aufruf einfach einen neuen anzufordern, anstatt zu versuchen, das Timeout zu verfolgen.

Hinzufügen Videos

Wenn Sie möchten, dass Benutzer Videos von Ihrem CMS zur Video Cloud hinzufügen, können Sie dies mit dem Dynamic Ingest API . Wir empfehlen, dass Benutzer Videos in Ihr Repository hochladen, bei dem es sich um einen S3-Bucket oder nur um einen öffentlich zugänglichen Server handeln kann. Das Dynamic Ingest-System kann die Videos einlesen und zum hinzufügen Video-Cloud System durch einen zweistufigen Prozess, der unten beschrieben wird.

Hinzufügen eines Videoobjekts zu Video-Cloud

Der erste Schritt besteht darin, ein Videoobjekt im Video Cloud-System zu erstellen, indem Sie a erstellen POST Anfrage an die CMS-API:

    https://cms.api.brightcove.com/v1/accounts/:account_id/videos
    
    

Der Anfragetext enthält grundlegende Videoeigenschaften in a JSON Objekt - minimal das Video name , aber Sie können auch zusätzliche Metadaten wie a description und tags:

    {
    "name": "Woodpecker",
    "description": "A bird that hunts insects inside wood",
    "reference_id": "Bird_Woodpecker.mp4",
    "tags": ["bird", "air", "nature"]
    }
    
    

Aufnahme des Videos

Wenn Sie das Videoobjekt erstellen, wird das CMS API gibt ein JSON-Objekt zurück, das die Videoeigenschaften enthält. Sie werden das Video extrahieren id aus dem JSON, und verwenden Sie es, um einen Anruf beim zu tätigen Dynamic Ingest API um die Aufnahme und Transcodierung des Videos anzufordern:

    https://ingest.api.brightcove.com/v1/accounts/ACCOUNT_ID/videos/VIDEO_ID/ingest-requests
    
    

Sie werden wieder senden JSON im Anfragetext, der den Speicherort der Videodatei angibt:

    {
      "master":{
        "url":"http://some.site.com/videos/mp4/Bird_Woodpecker.mp4"
      },
      "profile":"multi-platform-extended-static",
      "capture-images": true
    }
    
    

Die profile Hier ist das Aufnahmeprofil, das angibt, welche Wiedergabeversionen beim Transcodierungsprozess erstellt werden sollen. In den meisten Fällen sollte eines der folgenden Standardprofile ausreichen:

Dynamische Lieferprofile

  • multi-platform-extended-static
  • multi-platform-standard-static

Ältere Aufnahmeprofile

  • videocloud-default-v1 (the default)
  • screencast-1280
  • smart-player-transition
  • single-bitrate-high
  • audio-only
  • single-bitrate-standard
  • high-resolution

Sie können jedoch bei Bedarf zusätzliche benutzerdefinierte Aufnahmeprofile erstellen, indem Sie die Ingest Profiles API oder verwenden Video-Cloud Studio.

Hinzufügen von Poster- und Miniaturbildern

Die capture-images Option im obigen Code weist an Video-Cloud um Poster und Miniaturbilder für das Video in der Mitte des Transcodierungsprozesses aufzunehmen. Alternativ können Sie einstellen capture-images zu false und nehmen Sie stattdessen Bilder auf, entweder gleichzeitig mit der Aufnahme des Videos oder später:

    {
    "master":{
    "url":"http://some.site.com/videos/mp4/Bird_Woodpecker.mp4"
    },
    "profile":"multi-platform-extended-static",
    "capture-images": false,
    "poster": {
    "url": "http://some.site.com/images/for_video/titmouse-poster.png",
    "width": 640,
    "height": 360
    },
    "thumbnail": {
    "url": "http://some.site.com/images/for_video/titmouse-thumbnail.png",
    "width": 160,
    "height": 90
    }
    }
    
    

Sehen Bilder und die Dynamic Ingest API für mehr Details.

Hinzufügen von Textspuren für Untertitel oder Kapitel

Sie können auch die verwenden Dynamic Ingest API um Textspuren hinzuzufügen WebVTT Dateien zu Videos, entweder zum Zeitpunkt der Aufnahme oder später. Textspuren werden zum Hinzufügen verwendet Bildunterschriften oder Kapitel zu einem Video.

    {
    "master":{
    "url":"http://some.site.com/videos/mp4/Bird_Woodpecker.mp4"
    },
    "profile":"multi-platform-extended-static",
    "capture-images": false,
    "poster": {
    "url": "http://some.site.com/images/for_video/titmouse-poster.png",
    "width": 640,
    "height": 360
    },
    "thumbnail": {
    "url": "http://some.site.com/images/for_video/titmouse-thumbnail.png",
    "width": 160,
    "height": 90
    },
    "text_tracks": [
    {
    "url": "http://some.site.com/captions/for_video/Water-in-Motion.vtt",
    "srclang": "en",
    "kind": "captions",
    "label": "English",
    "default": true
    }
    ]
    }
    
    

Sehen Aufnahme von WebVTT-Dateien für mehr Details.

Verwaltung Videos

Das CMS API ermöglicht es Ihnen, Videodaten für ein Konto zurückzugewinnen. (Wie oben gezeigt, wird es auch zum Erstellen von Videoobjekten als Teil des Videoaufnahmeprozesses verwendet.) Die grundlegendste Anfrage lautet wie folgt:

    https://cms.api.brightcove.com/v1/accounts/account_id/videos
    
    

Standardmäßig gibt diese Anfrage a . zurück JSON Array aus 20 Videoobjekten mit einer Fülle von Metadaten, einschließlich Name, Beschreibung, Tags, benutzerdefinierten Feldern, Datum der Erstellung und letzten Änderung, URLs für Poster und Miniaturansicht und vieles mehr.

Sie können die Ergebnisse der Anfrage verfeinern, indem Sie der Anfrage einen oder mehrere der folgenden Parameter hinzufügen:

limit
dies bestimmt die Anzahl der zurückzugebenden Videoobjekte und kann auf eine beliebige Zahl bis 100 eingestellt werden - der Standardwert ist 20
offset
dies bestimmt die Anzahl der zu übersprinnenden Elemente und wird daher zusammen mit dem limit Durchblättern des Videokatalogs verwendet - der Standardwert ist 0
sort
dies bestimmt das Video-Metadatenfeld, nach dem das Ergebnis sortiert werden soll - standardmäßig werden die Ergebnisse sortiert updated_at(absteigend, um zuerst die zuletzt aktualisierten Videos anzuzeigen)

Sehen CMS API Übersicht - Parameter Für detaillierte Informationen zu diesen Parametern.

Nach Videos suchen

Sie können auch nach einer Vielzahl von Kriterien nach Videos suchen, indem Sie die q Parameter. Sie können nach bestimmten Feldern wie Name, Beschreibung und Tags sowie nach Datum und Status der Videos suchen:

    https://cms.api.brightcove.com/v1/accounts/account_id/videos?q=tags:sea,mammal
    
    

Details und alle Suchmöglichkeiten finden Sie unter Nach Videos suchen.

Ein bestimmtes Video abrufen und aktualisieren

So rufen Sie ein bestimmtes Video anhand seiner ID oder Referenz-ID ab:

    https://cms.api.brightcove.com/v1/accounts/account_id/videos/id
    or
    https://cms.api.brightcove.com/v1/accounts/account_id/videos/ref:reference_id
    
    

EIN GET Anfrage gibt das Videoobjekt zurück. Um es zu aktualisieren, ändern Sie die JSON und geben Sie es mit a zurück PATCH Anfrage an die gleiche URL.

Wiedergabelisten

Playlist-Informationen werden auch mit dem verwaltet CMS API ähnlich wie Videoinformationen. Beachten Sie, dass Video-Cloud unterstützt acht Arten von Wiedergabelisten in zwei Kategorien:

Manuelle (oder EXPLICIT) Wiedergabelisten
enthalten einen bestimmten Satz von Videos - bis zu 100 Videos können enthalten sein
Intelligente Wiedergabelisten
dynamisch zur Laufzeit basierend auf Suchkriterien erstellt - es gibt sieben Arten von intelligenten Wiedergabelisten, die der Reihenfolge der Videos in der Liste entsprechen:
  • ACTIVATEDOLDESTTONEWEST
  • ACTIVATEDNEWESTTOOLDEST
  • ALPHABETICAL
  • PLAYSTOTAL
  • PLAYSTRAILINGWEEK
  • STARTDATEOLDESTTONEWEST
  • STARTDATENEWESTTO_OLDEST

Das Limit für die Anzahl der Videos kann auf eine beliebige Zahl von bis zu 100 festgelegt werden.

Wie bei Videos können Sie alle Playlists abrufen, indem Sie limit und offset um durch die Ergebnisse zu blättern, wenn das Konto über eine große Anzahl von Playlists verfügt:

    https://cms.api.brightcove.com/v1/accounts/account_id/playlists
    
    

Das zurückgegebene Array von Wiedergabelistenobjekten enthält Metadaten für die Wiedergabeliste, einschließlich der type entspricht einem der oben beschriebenen Typen. Wenn der Typ ist EXPLICIT , es wird auch eine geben video_ids Array mit den IDs der enthaltenen Videos. Wenn der Typ einer der intelligenten Wiedergabelistentypen ist, wird es eine search Eigenschaft geben, die die Suchzeichenfolge enthält, die die Videos abruft, etwa wie folgt:

    q=tags:fish,birds
    
    

Sie können eine einzelne Wiedergabeliste auch anhand ihrer id:

    https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id
    
    

Wenn Sie die vollständigen Videoobjekte für eine Wiedergabeliste abrufen müssen (um Informationen zu den Videos auf einer Seite anzuzeigen), fügen Sie einfach hinzu /videos zu dieser URL:

    https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id/videos
    
    

Beachten Sie, dass die Anfrage bei einer intelligenten Wiedergabeliste die Videos zurückgibt, die derzeit den Suchkriterien entsprechen, dies kann sich jedoch ändern.

Spieler erstellen

Brightcove-Player können über das erstellt werden Player Management API. Mit der API können Sie Player erstellen, ihre Eigenschaften aktualisieren und den Einbettungscode in Form einer URL abrufen iframe -Tag oder einen HTML-Block zum Einbetten in die Seite.

Sie können bis zu 200 Spieler pro Konto haben, aber im Allgemeinen ist es für Benutzer weniger verwirrend, so wenige Spieler zu haben, wie Sie unbedingt benötigen. Sie sollten separate Player zum Abspielen einzelner Videos oder Playlists haben, aber ansonsten benötigen Sie unterschiedliche Player nur dann, wenn sie anders gestaltet sind oder unterschiedliche Funktionen durch Plugins hinzugefügt werden.

Um einen Spieler zu erstellen, erstellen Sie einfach einen POST Anfrage an die Player Management API:

    https://players.api.brightcove.com/v2/accounts/account_id/players
    
    

Fügen Sie im Hauptteil der Anfrage die Spielerkonfiguration - das einzige was benötigt wird ist a name:

    {
    "name": "Single video player for blog posts"
    }
    
    

In der Antwort erhalten Sie die Spieler-ID sowie den Einbettungscode in mehreren Formen:

    {
    "embed_code": "<iframe src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
    "embed_in_page": "http://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/in_page.embed",
    "id": "de055fa4-4f09-45af-8531-419c6794ad04",
    "preview_embed_code": "<iframe src='//preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
    "preview_url": "http://preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html",
    "url": "http://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html"
    }
    
    

Um die vollständige Player-Konfiguration zu erhalten, stellen Sie eine Anfrage an die /players Endpunkt, aber fügen Sie die Spieler-ID hinzu, die in der obigen Antwort zurückgegeben wird:

    https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04
    
    

Sie können eine machen PATCH Fordern Sie denselben Endpunkt an, die Player-Konfiguration zu aktualisieren.

Sie werden in der obigen Antwort feststellen, dass preview_embed_code und preview_url. Um das Testen neuer Spieler oder Spieler-Updates zu ermöglichen, werden neu erstellte oder aktualisierte Spieler in den Vorschaumodus eingestellt, damit Sie sie sehen können, bevor Sie Änderungen an bestehende Spieler weitergeben. Um Änderungen in die Produktion zu übertragen, müssen Sie veröffentlichen der Spieler mit dieser Anfrage:

    https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04/publish
    
    

Anpassen von Spielern

Die Brightcove-Player wird mit Standard-Webtechnologien erstellt: HTML, CSS und JavaScript. Sie können den Player mit denselben Technologien anpassen. Dies kann auf der Seite erfolgen, auf der der Player veröffentlicht wird. Es empfiehlt sich jedoch, Ihre Anpassungen über die Player-Konfiguration dem Player selbst hinzuzufügen und den Player über ein PATCH Anfrage an die Player Management API wie im vorherigen Abschnitt erläutert.

Sie können dem Player auch zusätzliche Funktionen und Funktionen hinzufügen über JavaScript Plugins , und es gibt ein umfangreiches Spieler-API um Ihnen bei der Integration Ihres Codes in den Player zu helfen. Brightcove bietet eine Reihe von vorgefertigten Plugins für Dinge wie das Aktivieren von Werbung, das Anpassen des Endscreens und das Hinzufügen von Overlays.

Veröffentlichen von Videos

In dem Abschnitt „Spieler erstellen“ oben haben wir gesehen, dass, wenn Sie das Player-Konfigurationsobjekt mit der Spielerverwaltungs-API , enthalten die zurückgegebenen Daten ein iframe-Tag zum Einbetten des Players in eine HTML-Seite sowie eine URL für den vollständigen HTML-Code, wenn Sie den Player direkt in eine Seite einbetten möchten.

Für welche Einbettung Sie sich auch entscheiden, Sie müssen a . hinzufügen Video-Cloud Video-ID oder Playlist-ID an den Einbettungscode an, um dem Player Inhalte hinzuzufügen. Der Iframe-Einbettungscode sieht wie folgt aus:

    <iframe
    src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html'
    allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
    
    

An die URL für den Player müssen Sie den Parameter anhängen videoId={}video_id, damit der vollständige Einbettungscode wie folgt aussieht:

    <iframe
    src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
    allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
    
    

Wenn dies ein Playlist-Player ist, verwenden Sie den Parameter playlistId={playlist_id} stattdessen. Die Modifikation des In-Page-Einbettungscodes ist ähnlich.

Sofern die Player-Abmessungen nicht in der Player-Konfiguration festgelegt sind, müssen Sie auch die Größe des Players anpassen, indem Sie Breite und Höhe in a . hinzufügen style Attribut:

    <iframe
    src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
    allowfullscreen webkitallowfullscreen mozallowfullscreen
    style=width:640px;height:360px;></iframe>
    
    

Analytics-Berichte abrufen

Das Analytics API ermöglicht es Ihnen, Analyseberichte von vielen verschiedenen zu erstellen dimensions. Siehe die Maßanleitungen für mehr Informationen.

Sie können den Datumsbereich für den Bericht, die zurückzugebenden Metriken angeben, und Sie können die Daten abrufen JSON, <Code">csv oder xlxs Format

Für Zeiträume innerhalb des letzten Monats können Sie auch detaillierte Engagement-Berichte die Aufrufe für jeden hundertsten Teil des Videos anzeigen.

Zusammenfassung der APIs

Hier ist eine Zusammenfassung der APIs, die für die Integration mit . nützlich sind Video-Cloud.

OAuth-API
Wird verwendet, um Client-Anmeldeinformationen und Zugriffstoken für den Zugriff auf die anderen APIs zu erstellen.
Medienmanagement
Ingest Profiles API
Wird verwendet, um benutzerdefinierte Aufnahmeprofile zu erstellen, die die Wiedergabeversionen angeben, die für Videos erstellt werden sollen, die zu . hinzugefügt werden Video-Cloud
Dynamische Aufnahme-API
Wird verwendet, um Videos und zugehörige Medieninhalte zu . hinzuzufügen Video-Cloud
CMS-API
Wird verwendet, um Videoobjekte für die Aufnahme zu erstellen und Videos und Wiedergabelisten zu verwalten
Brightcove-Spieler
Der Brightcove-Player
Der Spieler enthält a JavaScript API zur Interaktion mit dem Player zur Laufzeit
Spielerverwaltungs-API
Wird verwendet, um Player zu erstellen und zu konfigurieren und um den Player-Einbettungscode zu erhalten
Analytics-API
Wird verwendet, um Analyseberichte zur Videoleistung zu erhalten