Einleitung
Die Medienfreigabe ist eine Funktion von Video Cloud, mit der Publisher Videos mit anderen Publishern teilen können, sodass Sie Videos einfacher über mehrere Konten hinweg verwalten können. Publisher können beispielsweise einen Master-Account mit Videoinhalten führen und dann Videos an andere Abteilungen oder Tochtergesellschaften der Organisation weitergeben.
Beachten Sie, dass alle Medienfreigabevorgänge auch in Studio ausgeführt werden können. Sehen Verwalten von Medienfreigabeeinstellungen.
Geteilte Medien und Abrechnung
Informationen zur Abrechnung von Shared Media finden Sie unter Medienfreigabe mit dem Medienmodul.
Terminologie
Bei der Medienfreigabe besteht eine Beziehung zwischen einem Master-Konto (das Videos teilt) und einem oder mehreren Affiliate-Konten (die geteilte Videos empfangen):
Konto | Beschreibung |
---|---|
Meister | Das Konto, das das Originalvideo erstellt hat.
Der Master besitzt den Inhalt und ist verantwortlich für die Einrichtung, Verwaltung und Bereitstellung von Inhalten für Affiliates. |
Affiliate | Das Konto, das das Video empfängt.
Der Partner kann Inhalte akzeptieren, die ihm von einem Master freigegeben wurden. |
Kanal | Eine Pipeline, über die Inhalte von einem Master an eine beliebige Anzahl von Affiliates weitergegeben werden. Wenn die Medienfreigabe aktiviert ist a default Kanal wird in Ihrem Konto erstellt. |
Beziehung | Beschreibt die Interaktion zwischen einem Master und einem Affiliate.
Eine Beziehung besteht aus einem Master zum Teilen von Inhalten, einem Kanal, über den Inhalte geteilt werden, einem Vertrag zur Annahme von Inhalten und einem Verbundenen Unternehmen zum Empfangen von Inhalten. |
Vertrag | Beschreibt die Sharing-Beziehung zwischen einem Master und einem Affiliate.
Ein Vertrag wird vom Master erstellt und muss dann akzeptiert werden, damit die Freigabe aktiviert wird. Der Affiliate kann auch festlegen, ob geteilte Videos automatisch akzeptiert werden oder einzeln freigegeben werden müssen. |
Basis-URL
Wie für alle CMS API Anfragen lautet die Basis-URL für die unten beschriebenen Vorgänge:
https://cms.api.brightcove.com/v1
Alle unten besprochenen Endpunkte werden an die Basis-URL angehängt, wenn Sie Anfragen stellen.
Authentifizierung
Die Authentifizierung für Anfragen erfordert einen Authorization-Header:
Authorization: Bearer {access_token}
Die access_token
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.
Beachten Sie, dass alle Operationen um Beziehungen benötigte neue Berechtigungen:
video-cloud/video/all
video-cloud/sharing-relationships/read
video-cloud/sharing-relationships/create
video-cloud/sharing-relationships/update
video-cloud/sharing-relationships/delete
Alternativ können Sie einfach verwenden:
video-cloud/sharing-relationships/all
Auf der Seite Studio API Authentication Admin werden zwei Berechtigungen angezeigt:
- Gelesenes teilen (gleichwertig
video-cloud/sharing-relationships/read
) - Lesen/Schreiben teilen (gleichwertig
video-cloud/sharing-relationships/all
)
Einschränkungen beim Teilen
Standardmäßig können alle Videos geteilt werden. Sie können die Freigabe jedoch verhindern, wenn:
- Das Affiliate-Konto hat kein benutzerdefiniertes Feld, für das ein Wert für das Video im Master-Konto festgelegt ist
- Für das Hauptkonto ist die Geofilterung aktiviert, für das Partnerkonto jedoch nicht
Benutzerdefinierter Feldabgleich
Du kannst einen benutzerdefinierten Feldabgleich für einen Kanal erzwingen, was bedeutet, dass Videofreigaben fehlschlagen wenn das Video Werte für benutzerdefinierte Felder enthält, die nicht im Partnerkonto vorhanden sind. Videos werden weiterhin erfolgreich geteilt, wenn das Video keine Werte für nicht übereinstimmende benutzerdefinierte Felder hat
Standardmäßig ist die Übereinstimmung mit benutzerdefinierten Feldern nicht durchgesetzt.
Wenn eine Videofreigabe aufgrund nicht übereinstimmender benutzerdefinierter Felder fehlschlägt, wird in der Antwort eine Fehlermeldung wie diese angezeigt:
{
"video_id": "5691312273001",
"affiliate_id": "47509719001",
"affiliate_video_id": null,
"status": "PROCESSING",
"error_message": [{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [subject]"}],
"shared_at": "2018-01-03T16:29:19.080Z",
"updated_at": "2018-01-03T16:29:19.080Z"
}
Geo-Filter-Matching
Wenn der Geofilter-Abgleich für einen Kanal aktiviert ist, können Videos nicht geteilt werden, wenn der Geofilter für das Masterkonto aktiviert ist und das Partnerkonto nicht.
Standardmäßig Geofilter-Matching ist durchgesetzt.
Der Fehler sieht so aus:
{
"video_id": "5691312273001",
"affiliate_id": "47509719001",
"affiliate_video_id": null,
"status": "PROCESSING",
"error_message": [{"error_code":"CONFLICT","error_message":"Affiliate account is not configured for geo restriction."}],
"shared_at": "2018-01-03T16:29:19.080Z",
"updated_at": "2018-01-03T16:29:19.080Z"
Sehen Kanal aktualisieren Unten sehen Sie, wie Sie einen Kanal aktualisieren, um benutzerdefinierte Felder und/oder Geofilter-Abgleiche zu erzwingen.
Was wird geteilt?
In diesem Abschnitt wird erläutert, was freigegeben wird und wie nachfolgende Änderungen am Video gehandhabt werden.
Wenn das Video geteilt wird
Die meisten Videometadatenfelder werden beim Teilen des Videos vom Master in das Affiliate-Konto kopiert. Die bemerkenswerten Ausnahmen sind:
id
- Das Video hat eine eigene eindeutige ID im Affiliate-Konto- Datumsfelder wie
created_at
undupdated_at
Alle Video-Assets (Wiedergaben, Bilder, Text_Tracks usw.) werden von den Affiliate-Konten für die Wiedergabe verwendet.
Nachdem das Video geteilt wurde
Nachdem das Video geteilt wurde, werden einige Änderungen am Video im Master-Konto automatisch von den Affiliate-Konten übernommen, andere nicht.
Video-Assets
Mit Ausnahme von Bildern werden Master-Änderungen an den Video-Assets immer von den Affiliates übernommen. Mitgliedsorganisationen kann Vermögenswerte nicht ändern wie Wiedergaben, Manifeste, Textspuren oder das digitale Master.
Änderungen an Bildern durch den Master werden vom Affiliate geerbt es sei denn, der Partner hat die Bilder ersetzt. Sobald ein Partner ein Bild ändert, wird dieses Bild nicht mehr vom Master geerbt.
Video-Metadaten
Alle Video-Metadaten (wie Name, Beschreibung und Referenz-ID) können vom Partner geändert werden, und Änderungen am Master-Video sind nicht vom Partner geerbt.
Erneutes Teilen von Videos
Beachten Sie jedoch, dass, wenn der Master wieder teilt das Video (dies kann nur über die CMS-API erfolgen, nicht in Studio), alle Assets und Metadaten (außer Daten-/Zeitfeldern) werden an Affiliates weitergegeben, Überschreiben aller Änderungen, die die Partner vorgenommen haben.
Übersicht über die Schritte zum Teilen von Medien
Eine Beziehung aufbauen
Nachfolgend finden Sie eine Zusammenfassung der Vorgänge zum Einrichten einer Beziehung (klicken Sie auf den Vorgangsnamen, um weitere Informationen zu erhalten):
Master-Operationen | ||
---|---|---|
Betrieb | Methode/Endpunkt | Beschreibung |
Sender auflisten | GET /accounts/ master_account_id/channels |
Rufen Sie eine Liste der Kanäle für das Konto ab |
Kanaldetails abrufen | GET /accounts/ master_account_id/channels/ channel_name [2-1] |
Details zu einem Kanal abrufen |
Kanal aktualisieren | POST /accounts/ master_account_id/channels/ channel_name |
Kanaleinstellungen aktualisieren |
Kanalpartner auflisten | GET /accounts/ master_account_id/channels/default/members |
Holen Sie sich die Affiliates für einen Kanal |
Partner hinzufügen | PUT /accounts/ master_account_id/channels/default/members |
Affiliates zu einem Kanal hinzufügen |
Partner entfernen | DELETE /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
Entfernt einen Partner aus einem Kanal |
Partnerbetrieb | ||
Betrieb | Methode/Endpunkt | Beschreibung |
Verfügbare Verträge auflisten | GET /accounts/ affiliate_account_id/contracts |
Ruft alle Verträge ab, die für das Konto verfügbar sind |
Vertrag für ein bestimmtes Konto abschließen | GET /accounts/ affiliate_account_id/contracts/ master_account_id |
Ruft einen Vertrag, falls vorhanden, von einem bestimmten Konto ab |
Genehmigen Sie einen Vertrag | PATCH /accounts/ affiliate_account_id/contracts/ master_account_id |
Akzeptieren und konfigurieren Sie die Annahmebedingungen des Vertrags |
Hinweise
- [2-1] Derzeit gibt es nur einen Kanal mit dem Namen
default
Videos teilen
Videofreigabevorgänge werden vom Masterkonto ausgeführt. Das Partnerkonto kann den Anteil annehmen (ggf auto_accept
ist eingestellt auf false
) und kann freigegebene Videometadaten und -bilder mithilfe des Standards aktualisieren Video aktualisieren Betrieb.
Hier sind die Freigabevorgänge, die ausgeführt werden können, sobald eine Beziehung eingerichtet ist (klicken Sie auf einen Vorgangsnamen, um weitere Informationen zu erhalten):
Master-Operationen | ||
---|---|---|
Betrieb | Methode/Endpunkt | Beschreibung |
Bestehende Aktien auflisten | GET /accounts/ master_account_id/videos/ video_id/shares |
Erhalten Sie eine Liste der vorhandenen Freigaben für ein Video - das ist wichtig wegen der Folgen von ein Video erneut teilen wenn es schon geteilt wurde |
Teile ein Video | POST /accounts/ master_account_id/videos/ video_id/shares |
Teilen Sie ein Video mit einem oder mehreren Partnern – beachten Sie, dass dieser Vorgang ausgeführt wird, wenn das Video bereits geteilt wurde teile es erneut - das ist wahrscheinlich nicht was willst du tun |
Freigabe eines Videos für einen Partner aufheben | DELETE /accounts/ master_account_id/videos/ video_id/shares |
Freigabe eines Videos für einen bestimmten Partner aufheben – beachten Sie, dass das Aufheben und erneute Teilen dazu führt, dass das geteilte Video eine neue Video-ID im Affiliate-Konto erhält |
Partnerbetrieb | ||
Betrieb | Methode/Endpunkt | Beschreibung |
Akzeptiere ein geteiltes Video | PATCH /accounts/ affiliate_account_id/videos/ video_id |
Akzeptiere ein geteiltes Video (wenn auto_accept ist ausgeschaltet) |
Hinweis: Um freigegebene Videos zu identifizieren, die auf ihre Annahme warten, suchen Sie nach Videos mit state:pending
::
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos?q=state:pending
oder
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos?query=state:PENDING
CMS-API-Anfragen – Einrichtung
Dieser Abschnitt listet die CMS API Vorgänge beim Einrichten der Medienfreigabe.
Master-Operationen
Kanal(e) auflisten
Methode | GET |
---|---|
Endpunkt | /accounts/ master_account_id/channels |
Anfragetext | |
Beispielantwort |
|
Kanaldetails abrufen
Methode | GET |
---|---|
Endpunkt | https://cms.api.brightcove.com/v1/accounts/ master_account_id/channels/ channel_name [5-1] |
Anfragetext | |
Beispielantwort |
|
Hinweise
- [5-1] Derzeit gibt es nur einen Kanal mit dem Namen
default
Kanal aktualisieren
Methode | PATCH |
---|---|
Endpunkt | /accounts/ master_account_id/channels/ channel_name [6-1] |
Anfragetext |
|
Beispielantwort |
|
Hinweise
- [6-1] Derzeit gibt es nur einen Kanal mit dem Namen
default
Affiliates für den Kanal auflisten
Methode | GET |
---|---|
Endpunkt | /accounts/ master_account_id/channels/default/members |
Anfragetext | |
Beispielantwort |
|
Der Wert der approved
Das Feld zeigt an, ob der Partner den Vertrag genehmigt hat oder nicht.
Partner zum Kanal hinzufügen
Methode | PUT |
---|---|
Endpunkt | /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
Anfragetext |
|
Beispielantwort |
|
Affiliate aus Kanal entfernen
Methode | DELETE |
---|---|
Endpunkt | /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
Anfragetext | |
Beispielantwort | 204 NO CONTENT (leerer Antworttext) |
Partnerbetrieb
Verfügbare Verträge auflisten
Methode | GET |
---|---|
Endpunkt | /accounts/ affiliate_account_id/contracts |
Anfragetext | |
Beispielantwort |
|
Die beiden wesentlichen Felder in der Antwort sind:
approved
- wenn auf true gesetzt, wird der Vertrag vom Affiliate akzeptiertauto-accept
- Wenn auf "true" gesetzt, werden Videos, die über diesen Vertrag geteilt werden, automatisch vom Partner akzeptiert; andernfalls müssen sie einzeln genehmigt werden
Wir werden unten sehen, wie Sie den Vertrag aktualisieren.
Vertrag für ein bestimmtes Konto abschließen
Methode | GET |
---|---|
Endpunkt | /accounts/ affiliate_account_id/contracts/ master_account_id |
Anfragetext | |
Beispielantwort |
|
Vertrag genehmigen
Methode | PATCH |
---|---|
Endpunkt | /accounts/ affiliate_account_id/contracts/ master_account_id |
Anfragetext |
|
Beispielantwort |
|
Wenn Sie nur angeben "approved":true
, muss jedes Video einzeln genehmigt werden.
CMS-API-Anfragen – Freigabe
Dieser Abschnitt beschreibt die CMS API Anforderungen, die beim Teilen von Videos verwendet werden. Medienfreigabevorgänge werden vom Masterkonto ausgeführt. Das Affiliate-Konto kann Aktien akzeptieren, wenn auto_accept
ist ausgeschaltet.
Master-Operationen
Bestehende Aktien auflisten
Um herauszufinden, ob ein Video bereits für andere Konten freigegeben wurde, können Sie die unten stehende Anfrage verwenden.
Methode | GET |
---|---|
Endpunkt | /accounts/ master_account_id/videos/ video_id/shares |
Anfragetext | |
Beispielantwort |
|
Ein Video teilen (oder erneut teilen)
Die unten beschriebene Anfrage teilt ein Video mit einem oder mehreren Affiliate-Konten.
Methode | POST |
---|---|
Endpunkt | /accounts/ master_account_id/videos/ video_id/shares |
Anfragetext |
|
Beispielantwort |
Erfolgsantwort
Fehlerreaktion
|
Durch das Teilen wird ein neues Video im Konto des Partners erstellt. Die state
des Videoanteils wird PROCESSING
bis die Freigabe abgeschlossen ist und das Video wird im Affiliate-Konto erstellt. Der Partner muss das Video möglicherweise noch akzeptieren (wenn auto_accept
ist eingestellt auf false
zum Vertrag durch den Partner - siehe den vorherigen Abschnitt zum Einrichten des Teilens).
Freigabe eines Videos für einen Partner aufheben
Methode | DELETE |
---|---|
Endpunkt | /accounts/ master_account_id/videos/ video_id/shares/ affiliate_account_id |
Anfragetext | |
Beispielantwort | 202 ACCEPTED (leerer Antworttext) - Die Antwort gibt an, dass die Anfrage zur Verarbeitung akzeptiert wurde, der Vorgang jedoch möglicherweise erst nach einigen Minuten abgeschlossen ist |
Partnerbetrieb
Geteiltes Video akzeptieren
Um ein geteiltes Video zu akzeptieren, aktualisiert der Partner das geteilte Video, indem er seine state
zu ACTIVE
. (Einstellung der state
zu INACTIVE
lehnt die Aktie ab.)
Methode | PATCH |
---|---|
Endpunkt | /accounts/ affiliate_account_id/videos/ affiliate_video_id |
Anfragetext |
|
Beispielantwort |
|
Stellen Sie die state
zu INACTIVE
die Aktie abzulehnen.
Beachten Sie, dass es keine besondere Benachrichtigung gibt, die darauf hinweist, dass ein Video für Ihr Konto freigegeben wurde. Wenn Sie jedoch nach Videos suchen state:pending
, werden alle nicht akzeptierten Shares gefunden. Alternativ können Sie die Liste „Ausstehende Freigaben“ im Studio Media-Modul verwenden, um ausstehende Freigaben anzuzeigen und zu akzeptieren/abzulehnen:
Fehler
Fehler bei der Medienfreigabe werden nicht als separate Fehlerantwort auf die API-Anfrage zurückgegeben, sondern in einer error_message
Feld in der normalen Antwort:
[
{
"video_id" : "1239817239128",
"affiliate_id" : "32871239",
"affiliate_video_id" : "30308254055202",
"status" : "COMPLETE",
"shared_at" : "2017-12-11T17:57:45.530Z",
"updated_at" : "2017-12-11T18:03:32.789Z",
"error_message" : "[{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [whisky]"}]"
}
]
Sehen das CMS API Fehlerreferenz für mehr Details.
Einschränkungen
Derzeit gelten für die Medienfreigabe folgende Einschränkungen:
- DRM: Medienfreigabe über die CMS API wird derzeit für DRM-fähige Konten nicht unterstützt. Das Teilen von Videos von einem Konto, das nicht DRM-aktiviert ist, für ein Konto, das DRM-aktiviert ist, wird unterstützt, aber die geteilten Videos werden nicht für DRM verpackt werden.
-
Wenn der vom Hauptkonto definierte Kanal
enforce_custom_fields
auftrue
eingestellt ist und dann ein Video mit einem benutzerdefinierten Feld mit einem Wert teilt, der für das Affiliate-Konto nicht zulässig ist, schlägt dieser Versuch zum Teilen fehl. Der Freigabestatus wird mit einer Fehlermeldung wie dieser aktualisiert:[{"error_code": "ILLEGAL_CUSTOM_FIELD_VALUE", "error_message": "Illegal value for custom fields: [topic]"}]
Wenn der vom Hauptkonto definierte Kanal
enforce_custom_fields
auffalse
gesetzt ist und dann ein Video mit einem benutzerdefinierten Feld mit einem Wert teilt, der vom Affiliate-Konto nicht zulässig ist, funktioniert der Versuch zum Teilen, aber das Feld mit dem schlechten Wert wird nicht in der Affiliate-Kopie des Videos enthalten sein. -
Beim Abspielen eines freigegebenen Videos mit SSAI verwendet der SSAI-Makro-Ersatz die Metadaten des übergeordneten Videos anstelle des untergeordneten Videos. SSAI überspringt auch die Anzeigensuche, wenn das übergeordnete Video als markiert ist
Advertising='Free'
, selbst wenn das untergeordnete Video als gekennzeichnet istAd Supported
.