Support Kontakt Support | Systemstatus Systemstatus
Seiteninhalt

    Übersicht: Cloud Playout-APIs

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

    Einführung

    Es gibt zwei APIs, die sich auf beziehen Cloud Playout:

    • Mit der EPG-API können Sie einen elektronischen Programmierleitfaden für einen Cloud Playout-Kanal abrufen. Cloud Playout generiert EPG, das dem XML-TV-Standard entspricht, wie im Schema unter beschrieben https://repository.data2type.de/XMLTV/v_1.47/html/index.html.
    • Mit der Kanal-API können Sie Informationen zu Ihren Cloud Playout-Kanälen abrufen, die Sie auf Ihrer Benutzeroberfläche oder Webseite anzeigen können.

    Beglaubigung

    Die Cloud Playout-APIs verwenden die Brightcove OAuth-System So authentifizieren Sie Anforderungen über ein Zugriffstoken, das in einem Autorisierungsheader mit der Anforderung übergeben wird:

    Authorization: Bearer {access token}

    Zugriffstoken werden mit dem abgerufen OAuth API - 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

    API-URLs

    Holen Sie sich alle Cloud Playout-Kanäle

    Der folgende Endpunkt kann verwendet werden, um eine Liste aller Cloud Playout-Kanäle für ein Konto abzurufen:

    https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels

    Der account_id ist Video Cloud Konto-ID

    Holen Sie sich einen EPG

    Die URL für die EPG-API-Anforderung lautet:

    https://sm.cloudplayout.brightcove.com/accounts/{account_id}/channels/{channel_id}/epg

    Der account_id ist Video Cloud Konto-ID und die channel_id ist die ID für den in Studio erstellten Kanal.

    Die ID des Kanals finden Sie in der Antwort auf die Anfrage, alle Cloud Playout-Kanäle abzurufen, oder in der Browser-URL, wenn Sie sich in der Kanalansicht des Cloud Playout-Abschnitts von Studio befinden:

    https://studio.brightcove.com/products/videocloud/cloudplayout/channel/2c73c2112f794e6eb80be1284a495674

    EPG-Anforderungsparameter

    Die folgenden optionalen Abfrageparameter können zur EPG-Anforderung hinzugefügt werden:

    EPG-API-Abfrageparameter
    Parameter Standardwert Beschreibung
    start (14 Tage vorher) Das Datum und die Uhrzeit, ab der die EPG-Antworten abgefragt und im ISO 8601-Datumsformat zurückgegeben werden können
    end (jetzt - das aktuelle Datum und die aktuelle Uhrzeit) Das Datum und die Uhrzeit, bis zu der die EPG-Antworten abgefragt und im ISO 8601-Datumsformat zurückgegeben werden können
    limit (alle Programme) Ein ganzzahliger Wert, der die Anzahl der in einer Anforderung zurückgegebenen Programme steuert
    include_ads falsch Setzen Sie dies auf true, um Anzeigen in die Antwort aufzunehmen

    Einschränkungen

    1. Der start/end Fenster darf 14 Tage nicht überschreiten. Der Start kann 14 Tage nach dem aktuellen Datum und der 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 und der aktuellen Uhrzeit anzeigen.
    2. Wenn die Differenz zwischen Endzeit und Startzeit größer als 14 Tage ist, generiert die API nur 14 Tage von der angeforderten Zeit bis zur Endzeit oder 14 Tage, je nachdem, welcher Zeitpunkt früher liegt.
    3. Beide start bzw. unter end kann Datums- und Uhrzeitwerte mit und ohne Zeitzonenversatz akzeptieren. Wenn kein Zeitzonenversatz enthalten ist, wird UTC angenommen.
    4. Beide start bzw. unter end muss URI-codiert sein:
      URI-Codierung
      ISO 8601 Probe URI-codiert
      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 für eine EPG-API-Antwort

    Unten finden Sie eine Beispielantwort von der API:

    <?xml version="1.0" encoding="utf-8"?>
        <tv source-info-name="Cloudplayout Schedules" source-info-url="http://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>

    Einschränkungen

    1. Die Start- und Endzeitstempel sind in UTC-Zeit.
    2. Der category bzw. unter keyword Einträge sind für interne Zwecke.

    Die EPG-Daten enthalten mehrere Programmdaten, wobei jedes Programm Details zum Video oder darstellt live Anlagegut:

    <programme channel="27963aa756294a7c98ca1c2c459d4ba2" start="20201118232206" stop="20201118232305">
    	<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" ></icon>
    	<category>video</category>
    	<keyword>eyJ2aWRlb19pZCI6IjcwNzAxMjE2NDgyMjAyIiwib3JkZXIiOjEsInRhZ3MiOiJjaGlsZHJlbixjb21lZHkiLCJjdXN0b21fbWV0YWRhdGEiOnsicmVnaW9uIjoiYWZyaWNhIiwic29uZ3MiOjV9fQ==</keyword>
    </programme>

    Hier, die 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) - dem entsprechenden Video in zugeordnet video cloud.
    • Benutzerdefinierte Metadaten: (falls vorhanden, dargestellt als Name / Wert-Paare), die dem entsprechenden Video in zugeordnet sind video cloud.
    {
      "video_id":"70701216482202",
      "order":1,
      "tags":"children,comedy",
      "custom_metadata":{
        "region":"africa",
        "songs":5
      }
    }

    Beispielkanal-API-Antwort

    {
            "items": [
              {
                "public_id": "f8eb5f9ccfb84f81b4fb506a663c5545",
                "name": "Channel-4",
                "description": "Test Channel",
                "account_id": "1752604059001",
                "state": "RUNNING",
                "status": "Channel started",
                "start_time": "2021-01-03 15:31:12 UTC",
                "stop_time": null,
                "input_groups": "slate:rtmp:playlist",
                "output_groups": "rtmp",
                "loop_playlist": true,
                "playlist_id": "1687789969630819284",
                "channel_class": "single-pipeline",
                "ssai_enabled": false,
                "aws_region": "us-east-1",
                "message": "",
                "created_at": "2021-01-02 15:39:05 UTC",
                "updated_at": "2021-01-03 15:31:12 UTC",
                "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
                "output_destinations": [
                  "Brightcove Live"
                ],
                "channel_created_at": "2021-01-02 15:39:05 UTC",
                "channel_updated_at": "2021-01-02 15:39:05 UTC",
                "channel_created_by": "rcrooks@brightcove.com",
                "channel_updated_by": "rcrooks@brightcove.com"
              },
              {
                "public_id": "42ecb67a9a964662a4071b4fffff0012",
                "name": "Test-6",
                "description": "Test Channel",
                "account_id": "1752604059001",
                "state": "SCHEDULED",
                "status": "Scheduled for start",
                "start_time": "2021-01-09 05:00:00 UTC",
                "stop_time": "2021-01-09 23:00:00 UTC",
                "input_groups": "slate:rtmp:playlist",
                "output_groups": "rtmp",
                "loop_playlist": true,
                "playlist_id": "1688070644726417934",
                "channel_class": "single-pipeline",
                "ssai_enabled": false,
                "aws_region": "us-east-1",
                "message": "",
                "created_at": "2021-01-05 18:00:18 UTC",
                "updated_at": "2021-01-06 19:08:41 UTC",
                "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
                "output_destinations": [
                  "Brightcove Live"
                ],
                "channel_created_at": "2021-01-05 18:00:18 UTC",
                "channel_updated_at": "2021-01-06 19:06:46 UTC",
                "channel_created_by": "rcrooks@brightcove.com",
                "channel_updated_by": "rcrooks@brightcove.com"
              }
            ]
          }

    Einschränkungen

    1. Der EPG wird nach bestem Wissen und nahezu genau erstellt.
    2. Wenn der EPG anfänglich aus der Wiedergabeliste erstellt wird, kann ein Startzeitfehler auftreten, da das Cloud-Playout einige Zeit benötigt, um das Umschalten einzuleiten.
    3. EPG ist möglicherweise nicht bei jedem Abruf konsistent, wenn die Wiedergabeliste geändert wird, da sie dynamisch auf der Grundlage der aktuellen Informationen erstellt wird. Einige Aktionen, die den EPG ändern, umfassen das Neuordnen der Wiedergabeliste oder das Hinzufügen / Löschen von Assets zur Wiedergabeliste.
    4. Wenn beim Umschalten eine Fehlfunktion auftritt und die Umschaltzeit nicht genau ist, kann es zu einer Ungenauigkeit des Transits für den zukünftigen EPG kommen. Einige Beispiele für Aktionen, die dies verursachen könnten, sind ein Wechsel der Wiedergabeliste oder das Löschen des aktuell aktiven Assets in der Wiedergabeliste.
    5. Verbraucher des EPG sollten ihn so zeitnah wie möglich anfordern, um die genaueste Version zu erhalten.

    Seite zuletzt aktualisiert am 09 Jan 2021