Überblick: EPG-API

Dieses Thema bietet einen Überblick über die EPG-API, die mit Cloud Playout verwendet wird.

Einleitung

Es gibt zwei APIs im Zusammenhang mit Cloud-Playout:

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-API-Berechtigungen
EPG-API-Berechtigungen

EPG-Anforderungsparameter

Die folgenden optionalen Abfrageparameter können der EPG-Anfrage hinzugefügt werden:

EPG API-Abfrageparameter
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

  1. 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.
  2. 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.
  3. Beide start und end kann Datum-Uhrzeit-Werte mit und ohne Zeitzonen-Offset akzeptieren - wenn kein Zeitzonen-Offset enthalten ist, wird UTC angenommen.
  4. Beide start und end 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

  1. Die Start- und Endzeitstempel sind in UTC-Zeit angegeben.
  2. Die category und keyword 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

  1. Der EPG wird nach bestem Bemühen/nahezu genau erstellt.
  2. 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.
  3. 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.
  4. 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.
  5. Verbraucher des EPG sollten es so nah wie möglich an Echtzeit anfordern, um die genaueste Version zu erhalten.