Einleitung
Es gibt zwei APIs im Zusammenhang mit Cloud-Playout:
- Mit der EPG-API können Sie einen elektronischen Programmführer für einen Cloud-Playout-Kanal abrufen. Cloud Playout generiert EPG gemäß dem XML-TV-Standard, wie im Schema beschrieben unter https://repository.data2type.de/XMLTV/v_1.47/html/index.html.
- Mit der Channels API können Sie Informationen zu Ihren Cloud Playout-Kanälen abrufen, die Sie auf Ihrer Benutzeroberfläche oder Webseite anzeigen können. Sehen Überblick: Kanal-API
Authentifizierung
Die Cloud Playout APIs verwenden die Brightcove OAuth-System um Anfragen über ein Zugriffstoken zu authentifizieren, das in einem Autorisierungsheader mit der Anfrage übergeben wird:
Authorization: Bearer {access token}
Zugriffstoken werden über die OAuth-API abgerufen - siehe Zugriffstoken erhalten für Details. Sie benötigen außerdem Client-Anmeldeinformationen, um die Anforderungen für Zugriffstoken zu authentifizieren. Diese können im Admin-Bereich von Studio erstellt werden - siehe API-Anmeldeinformationen verwalten. Die Berechtigungen, die Ihre Anmeldeinformationen für die EPG-API benötigen, sind:
EPG-Anforderungsparameter
Die folgenden optionalen Abfrageparameter können der EPG-Anfrage hinzugefügt werden:
Parameter | Standardwert | Beschreibung |
---|---|---|
start |
(14 days prior to now) | Das Datum/Uhrzeit, ab dem die EPG-Antworten abgefragt und im ISO 8601-Datumsformat zurückgegeben werden können |
end |
(now - the current date-time) | Das Datum/Uhrzeit, bis zu dem die EPG-Antworten abgefragt und im ISO 8601-Datumsformat zurückgegeben werden können |
limit |
(all programs) | Ein ganzzahliger Wert, der die Anzahl der Programme steuert, die in einer Anforderung zurückgegeben werden. Beachten Sie, dass der Grenzwert (Standard: 100) möglicherweise verhindert, dass alle Programme für den angegebenen Zeitraum zurückgegeben werden. Sehen Best Practices für die EPG-API für mehr Informationen |
include_ads |
false | Setzen Sie dies auf "true", um Anzeigen in die Antwort aufzunehmen |
Hinweise
- Die
start
/end
Fenster darf 14 Tage nicht überschreiten. Der Start kann 14 Tage nach dem aktuellen Datum/Uhrzeit liegen, um den historischen EPG abzufragen. Sie können auch zukünftige EPG-Daten für bis zu 14 Tage ab dem aktuellen Datum/Uhrzeit abrufen. - Wenn die Differenz zwischen Endzeit und Startzeit mehr als 14 Tage beträgt, generiert die API nur 14 Tage von der angeforderten Zeit bis zur Endzeit oder 14 Tage, je nachdem, was früher eintritt.
- Beide
start
undend
kann Datum-Uhrzeit-Werte mit und ohne Zeitzonen-Offset akzeptieren - wenn kein Zeitzonen-Offset enthalten ist, wird UTC angenommen. -
Beide
start
undend
muss URI-codiert sein:URI-Codierung ISO 8601 Probe URI-kodiert 2020-07-24 15:30:00
2020-07-24%2015%3A30%3A00
2020-07-24 15:30:00 +0530
2020-07-24%2015%3A30%3A00%20%2B0530
Beispiel einer EPG-API-Antwort
Unten ist eine Beispielantwort von der API:
<?xml version="1.0" encoding="utf-8"?>
<tv source-info-name="Cloudplayout Schedules" source-info-url="https://www.cloudplayout.qa.brightcove.com">
<channel id="9fb8032ff2fe4f55b388d8969c22ca58">
<display-name>MyCloudChannel</display-name>
<icon src="https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png"/>
</channel>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120132000" stop="20201120132228">
<title>Frozen</title>
<desc>FrozenMultiLanguage</desc>
<length units="seconds">147.605</length>
<icon src="https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/43d57501-b98a-4708-bdd1-a09081f7a585/main/1280x720/1m13s802ms/match/image.jpg" width="1280" height="720"/>
<category>video</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAwNDQxMDk2MjAyIiwib3JkZXIiOjEsInRhZ3MiOiJjaGlsZHJlbixjb21lZHkiLCJjdXN0b21fbWV0YWRhdGEiOnsicmVnaW9uIjoiYWZyaWNhIiwic29uZ3MiOjV9fQ==</keyword>
</programme>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120132228" stop="20201120133228">
<title>LiveDemo</title>
<desc>Live Demo</desc>
<length units="seconds">600.0</length>
<icon src="https://img.brightcove.com/cloudplayout/live-icon.jpg" width="1280" height="720"/>
<category>live</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAxNDg0MjA3MjAyIiwib3JkZXIiOjIsInRhZ3MiOiJjcC1saXZlLXBsYWNlaG9sZGVyLGR1cmF0aW9uLTAwOjEwOjAwIiwiY3VzdG9tX21ldGFkYXRhIjp7InJlZ2lvbiI6Im5vcnRoIGFtZXJpY2EifX0=</keyword>
</programme>
<programme channel="9fb8032ff2fe4f55b388d8969c22ca58" start="20201120133228" stop="20201120133327">
<title>ChildrenComedy</title>
<desc>ChildrenComedy</desc>
<length units="seconds">59.164</length>
<icon src="https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/9430773f-76f5-476e-964d-a13b40cab90a/main/1280x720/29s582ms/match/image.jpg" width="1280" height="720"/>
<category>video</category>
<keyword>eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjMsInRhZ3MiOiJyb21hbmNlIiwiY3VzdG9tX21ldGFkYXRhIjp7InJlZ2lvbiI6ImFzaWEiLCJzb25ncyI6NX19</keyword>
</programme>
<programme>
...
</programme>
</tv>
Hinweise
- Die Start- und Endzeitstempel sind in UTC-Zeit angegeben.
- Die
category
undkeyword
Einträge sind für interne Zwecke.
Die EPG-Daten enthalten mehrere Programmdaten, wobei jedes Programm Details zum Video oder Live-Asset darstellt:
<program channel = "27963aa756294a7c98ca1c2c459d4ba2" start = "20201118232206" stop = "20201118232305">
<title> ChildrenComedy </ title>
<desc> ChildrenComedy </ desc>
<Länge> Einheiten = "Sekunden"> 59,164 </ Länge>
<icon> src = "https://cf-images.us-east-1.qa.boltdns.net/v1/jit/6063799219001/9430773f-76f5-476e-964d-a13b40cab90a/main/1280x720/29s582ms/match/ image.jpg "width =" 1280 "height =" 720 "> </ icon>
<Kategorie> Video </ Kategorie>
<Schlüsselwort>EYJ2AWRLB19PZCI6IJCWNZAXMJE2NDGYMJAIIWIB3JKZXIIOJESINRHZ3MIOijJAGLSZHJLBIXJB21LZHKILCJDXN0B21FBWV0YWRHDGEIONSICMVNAW9UIJOIYWZYAWNHIIWIC29UZ3MIOJV9FQ==</Schlüsselwort >
</ programme>
Hier das keyword
enthält base64-codierten JSON-Wert. Der dekodierte Wert des keyword
wird unten gezeigt.
video_id
: ist die Kennung für das Video wie in Video Cloud.order
: ist die Reihenfolge des Assets in der Cloud Playout-Programmliste.tags
: durch Kommas getrennt (falls vorhanden) – mit dem entsprechenden Video in der Videowolke verknüpft.- benutzerdefinierte Metadaten: (sofern vorhanden, dargestellt als Name/Wert-Paare) mit dem entsprechenden Video in der Video-Cloud verknüpft.
{
"video_id":"70701216482202",
"order":1,
"tags":"children,comedy",
"custom_metadata":{
"region":"africa",
"songs":5
}
}
Der EPG und die Bumper
Wie der EPG mit Stoßfängern umgeht
Das EPG enthält nicht die Stoßfänger selbst. Die Dauer der Stoßfänger wird wie folgt widergespiegelt:
- Pre-Roll-Bumper-Dauern werden hinzugefügt folgendes Videodauer
- Post-Roll-Bumper-Dauern werden zu den früher Videodauer
Potenzielle Probleme
Sie können zwei Dinge tun, die dazu führen, dass der EPG ungenau wird:
- Wenn du Videos sowohl als Pre-Roll (
cp-preroll-bumper
) als auch als Post-Roll (cp-postroll-bumper
) markierst, wird das EPG ungenau, da es vom Tag abhängt, wo die Dauer hinzugefügt werden soll. Wenn das Video beide Tags hat, wird die Bumper-Dauer sowohl dem vorherigen als auch dem nächsten Video hinzugefügt. - Sie können Bumper in der Cloud Playout-Programmliste verschieben. Wenn Sie sie jedoch so anordnen, dass auf einen Pre-Roll-Bumper unmittelbar ein Post-Roll-Bumper folgt, werden beide Bumper abgespielt, aber die EPG-API ignoriert sie und der Zeitplan für diesen Zeitraum ist leer.
Einschränkungen
- Der EPG wird nach bestem Bemühen/nahezu genau erstellt.
- Wenn der EPG anfänglich aus der Playlist erstellt wird, kann es zu einem Startzeitfehler kommen, da das Cloud Playout einige Zeit braucht, um die Umschaltung einzuleiten.
- EPG ist möglicherweise nicht bei jedem Abruf konsistent, wenn die Wiedergabeliste geändert wird, da sie dynamisch basierend auf den aktuellen Informationen, die sie enthält, erstellt wird. Einige Aktionen, die den EPG verändern, umfassen das Neuordnen der Playlist oder das Hinzufügen/Löschen von Assets in der Playlist.
- Wenn beim Umschalten eine Fehlfunktion auftritt und die Umschaltzeit nicht genau ist, kann dies beim zukünftigen EPG zu Ungenauigkeiten bei der Übertragung führen. Einige Beispiele für Aktionen, die dies verursachen könnten, sind ein Playlist-Wechsel oder das Löschen des aktuell aktiven Assets in der Playlist.
- Verbraucher des EPG sollten es so nah wie möglich an Echtzeit anfordern, um die genaueste Version zu erhalten.