Überblick: Kanal-API

Mit den Channel Manager-Endpunkten können Sie einen Cloud Playout-Kanal erstellen, Assets & Live-Events zur Wiedergabeliste hinzufügen und den Kanal aktivieren, starten, stoppen und löschen.

Voraussetzungen

  • Eine registrierte Anwendung mit aktivierten Cloud Playout-API-Authentifizierungsbereichen in der Video-Cloud. (Studio UI -> Admin -> API Authentication)

Erstellen eines CloudPlayoutChannelManager-Workflows

Unten ist der typische Workflow für die Kanalverwaltung von Cloud Playout:

  • Kanal erstellen
  • Hinzufügen von Assets und Live-Events zur Wiedergabeliste
  • Aktiviere den Kanal
  • Kanal starten
  • Stoppen Sie den Kanal
  • Kanal löschen

Abgesehen von diesen, Kanal abrufen ist hilfreich, um die Kanalinformationen und den Status des Kanals zu überprüfen.

Kanal erstellen

Um einen Kanal zu erstellen, benötigen wir obligatorische Attribute wie Name des Kanals, Startzeit, Eingabe- und Ausgabegruppe, Region und Live-Profil. DateTime-Werte werden im ISO 8601-Datumsformat (UTC oder mit Zeitversatz) bevorzugt.

Musteranfrage

Anfrage

Mach ein POST Anfrage zu:

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

Header

Content-Type: application/json
Authorization: Bearer {token}

Antragstext - allgemeines Beispiel

{
  "name": "channel name",
  "start_time": "2021-06-29T08:30:50.344Z",
  "input_group": [
    {
      "input_type": "playlist (or rtmp or slate)",
      "input_id": "dummy",
      "loop_on_completion": false
    }
  ],
  "live_profile": "your live profile",
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "location": "bc_live or any live channel from your account"
        }
      ]
    },
    {
      "type": "s3",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "location": "s3 credential id"
        }
      ]
    }
  ],
  "region": "aws region"
}

Antragstext - Beispiel für die Verwendung des Standardschiefers

{
  "input_group": [
    {
      "input_type": "slate"
    },
    {
      "input_type": "rtmp"
    }
  ]
}

Antragstext - Beispiel mit einem benutzerdefinierten Schiefer

{
  "input_group": [
    {
      "input_type": "slate",
      "input_id": "slate_asset_id OR https_slate_mp4_url"
    },
    {
      "input_type": "rtmp"
    }
  ]
}
Beispielantwort
{
  "public_id": "79f0e7503fd64af3b7d2b0f825100f28",
  "name": "channel name",
  "description": "",
  "account_id": "Your account id",
  "state": "DRAFT",
  "status": null,
  "start_time": "2021-06-29 08:30:50 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp:s3",
  "loop_playlist": false,
  "playlist_id": "1703814612527248093",
  "channel_class": "single-pipeline",
  "ssai_enabled": true,
  "aws_region": "aws region",
  "message": null,
  "created_at": "2021-06-28 12:43:55 UTC",
  "updated_at": "2021-06-28 12:43:55 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
    "Brightcove Live"
  ],
  "channel_created_at": "2021-06-28 12:43:55 UTC",
  "channel_updated_at": "2021-06-28 12:43:55 UTC",
  "channel_created_by": "username@brightcove.com",
  "channel_updated_by": "username@brightcove.com"
}

Zusätzlich zu den Pflichtfeldern gibt es Felder, die gesetzt werden können wie description stop_time ssai_enabled, image_id, mid_roll_import_enabled, mid_roll_slot_time usw. Bitte beachten Sie die Beispiele aus dem Channels API-Referenz zum Erstellen von Kanälen mit unterschiedlichen Konfigurationen.

Kanal mit Live-Redundanz

Erstellen einer redundanten Brightcove Live-Gruppe im Live-Modul

Wie Sie eine redundante Live-Gruppe erstellen, erfahren Sie unter Verwendung von Live-Redundanz. Sobald redundante Gruppen mithilfe des obigen Dokuments erstellt wurden, können Sie sie in Cloud Playout verwenden.

Förderkriterien für redundante Gruppen

Damit die redundante Gruppe als Ziel für Cloud Playout-Kanäle verwendet werden kann, muss sie die folgenden Kriterien erfüllen:

  • Die Redundanzgruppe sollte genau 2 laufende Aufträge enthalten.
  • Beide Live-Jobs in der redundanten Gruppe müssen vom Typ Statischer Einstiegspunkt sein.
  • Die redundante Gruppe (und die darin enthaltenen Aufträge) müssen sich im Standby-Zustand befinden.
  • Wenn der Cloud-Playout-Kanal SSAI-fähig ist, muss die redundante Gruppe ebenfalls SSAI-fähig mit RTP-FEC-Protokoll sein.

Abrufen verfügbarer redundanter Brightcove Live-Gruppen

Um eine Liste der verfügbaren redundanten Brightcove Live-Gruppen in Ihrem Konto abzurufen, stellen Sie eine GET Anfrage an:

https://cm.cloudplayout.brightcove.com/accounts/{account_id}/bc_channels?redundancy=true

Um die Ergebnisse auf redundante Gruppen zu beschränken, die für SSAI aktiviert sind, fügen Sie den ssai=true Parameter hinzu:

https://cm.cloudplayout.brightcove.com/accounts/{account_id}/bc_channels?redundancy=true&ssai=true

Erstellen eines Kanals mit Live-Redundanz

Sie können einen Kanal mit aktivierter Brightcove Live-Redundanz erstellen, indem Sie das output_group Feld im Anforderungstext verwenden.

Beispielanfragetext

{
  "name": "channel name",
  "start_time": "2021-06-29T08:30:50.344Z",
  "input_group": [
    {
      "input_type": "playlist or rtmp or slate",
      "input_id": "dummy",
      "loop_on_completion": false
    }
  ],
  "live_profile": "your live profile",
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "redundancy": true,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ],
  "region": "aws region"
}

Beispielantwort

{
  "public_id": "79f0e7503fd64af3b7d2b0f825100f28",
  "name": "channel name",
  "description": "",
  "account_id": "Your account id",
  "state": "DRAFT",
  "status": null,
  "start_time": "2021-06-29 08:30:50 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": false,
  "playlist_id": "1703814612527248093",
  "channel_class": "single-pipeline",
  "ssai_enabled": true,
  "aws_region": "aws region",
  "message": null,
  "created_at": "2021-06-28 12:43:55 UTC",
  "updated_at": "2021-06-28 12:43:55 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
    "Brightcove Live with Redundancy"
  ],
  "channel_created_at": "2021-06-28 12:43:55 UTC",
  "channel_updated_at": "2021-06-28 12:43:55 UTC",
  "channel_created_by": "username@brightcove.com",
  "channel_updated_by": "username@brightcove.com"
}

Aktualisieren eines Kanals zur Aktivierung oder Deaktivierung der Live-Redundanz

Sie können auch die Redundanz für einen vorhandenen Kanal aktivieren oder deaktivieren. Der Schlüssel ist die redundancy Flagge im ingest_locations Objekt. Um Redundanz zu aktivieren true, müssen Sie sie auf setzen. Um die Redundanz für den Kanal zu deaktivieren, können Sie sie entweder auf setzen false oder ganz weglassen, da dies der Standardwert false ist.

Beispielanfragetext

Redundanz einschalten
{
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "redundancy": true,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ]
}
Redundanz deaktivieren
{
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ]
}

Beachten Sie das Fehlen redundancy oben. Oder:

{
  "output_group": [
    {
      "type": "rtmp or rtp",
      "ingest_locations": [
        {
          "pipeline_id": 1,
          "redundancy": false,
          "location": "bc_live/{EXISTING_BC_REDUNDANT_GROUP_ID}"
        }
      ]
    }
  ]
}

Abrufen von Kanaldetails

Um Kanaldetails zu erhalten und zu überprüfen, ob Redundanz verwendet wird, stellen Sie eine GET Anfrage an:

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

Musterantwort (Entwurfsstand)

{
  "public_id": "a7a58da9794a484a90a60c6c9b3a04a2",
  "name": "redundancy",
  "description": "test_cloudplayout_roebuck",
  "account_id": "70701684277202",
  "state": "DRAFT",
  "status": "",
  "start_time": "2022-02-17 12:53:48 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": false,
  "playlist_id": "1725014456212124545",
  "channel_class": "single-pipeline",
  "ssai_enabled": null,
  "aws_region": "us-east-1",
  "message": "",
  "created_at": "2022-02-17 12:46:22 UTC",
  "updated_at": "2022-02-17 13:01:55 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
      "Brightcove Live with Redundancy"
  ],
  "channel_created_at": "2022-02-17 12:46:22 UTC",
  "channel_updated_at": "2022-02-17 12:46:22 UTC",
  "channel_created_by": "user@brightcove.com",
  "channel_updated_by": "user@brightcove.com",
  "import_captions_enabled": true,
  "live_profile": {
      "display_name": "Premium Live HD 1080p - Tier 2",
      "name": "premium-live-hd-1080p-tier-2",
      "date_created": "2018-06-04 18:16:44 UTC",
      "date_modified": "2018-06-04 18:16:44 UTC"
  },
  "channel_data": {
      "input_group": [
          {
              "input_type": "playlist",
              "value": "redundancy_testing_local",
              "description": "cloudplayout",
              "public_id": "1725014456212124545"
          }
      ],
      "output_groups": [
          {
              "type": "rtmp",
              "redundancy": true,
              "location": "bc_live/${Existing redundant group id}",
              "destination": "Brightcove Live with Redundancy"
          }
      ]
  }
}

Musterantwort (geplanter Zustand)

Beachten Sie die verschiedenen Ziele sowohl in der als channel_data auch in outputs:

{
  "public_id": "e2d38b8304c84601b27630ae05b764b8",
  "name": "redundancy",
  "description": "test_cloudplayout_roebuck",
  "account_id": "70701684277202",
  "state": "SCHEDULED",
  "status": "Scheduled for start",
  "start_time": "2022-02-10 05:57:10 UTC",
  "stop_time": null,
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": false,
  "playlist_id": "1724281533777310596",
  "channel_class": "single-pipeline",
  "ssai_enabled": null,
  "aws_region": "us-east-1",
  "message": "",
  "created_at": "2022-02-09 10:36:51 UTC",
  "updated_at": "2022-02-09 10:49:03 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
      "Brightcove Live with Redundancy"
  ],
  "channel_created_at": "2022-02-09 10:36:51 UTC",
  "channel_updated_at": "2022-02-09 10:36:51 UTC",
  "channel_created_by": "Created by API",
  "channel_updated_by": "Updated by API",
  "import_captions_enabled": true,
  "live_profile": {
      "display_name": "Premium Live HD 1080p - Tier 2",
      "name": "premium-live-hd-1080p-tier-2",
      "date_created": "2018-06-04 18:16:44 UTC",
      "date_modified": "2018-06-04 18:16:44 UTC"
  },
  "channel_data": {
      "destinations": [
          {
              "id": "dest-rtmp-0",
              "url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02",
              "stream_name": "alive"
          },
          {
              "id": "dest-rtmp-1",
              "url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b",
              "stream_name": "alive"
          },
          {
              "id": "framecapture",
              "url": "s3://cloudplayout-preview/framecapture/e2d38b8304c84601b27630ae05b764b8/image",
              "stream_name": null
          }
      ],
      "input_specification": {
          "codec": "AVC",
          "maximum_bitrate": "MAX_20_MBPS",
          "resolution": "HD"
      },
      "output_groups": [
          {
              "type": "preview",
              "destination_url": "s3://cloudplayout-preview/framecapture/e2d38b8304c84601b27630ae05b764b8/image",
              "encoder_settings": [
                  {
                      "width": 640,
                      "height": 360,
                      "capture_interval": 5,
                      "capture_interval_units": "SECONDS"
                  }
              ]
          },
          {
              "type": "rtmp",
              "location_id": "374d4846292042af82c4c573e58bba39",
              "location": "redundancy_testing_local_group",
              "destination": "Brightcove Live with Redundancy",
              "playback_url": "https://playback-qa.a-live.io/r374d4846292042af82c4c573e58bba39/us-east-1/NA/playlist.m3u8",
              "playback_url_dvr": "https://playback-qa.a-live.io/r374d4846292042af82c4c573e58bba39/us-east-1/NA/playlist_dvr.m3u8",
              "outputs": [
                  {
                      "destination_url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02/alive",
                      "location_id": "d42f9b597f9f4cff90f3d48ddc665a02",
                      "location": "redundancy_testing_local_2",
                      "encoder_settings": [
                          {
                              "width": 1920,
                              "height": 1080,
                              "bitrate": 4000000,
                              "gop_size": 60.0,
                              "gop_size_units": "FRAMES",
                              "profile": "HIGH",
                              "level": "H264_LEVEL_AUTO",
                              "scan_type": "PROGRESSIVE",
                              "framerate_control": "SPECIFIED"
                          }
                      ],
                      "stream_url": "rtmp://d42f9b597f9f4cff90f3d48ddc665a02.sep-qa.a-live.io:1935/d42f9b597f9f4cff90f3d48ddc665a02/alive",
                      "static": true,
                      "playback_url": "https://playback-qa.a-live.io/d42f9b597f9f4cff90f3d48ddc665a02/us-west-2/NA/playlist.m3u8",
                      "playback_url_dvr": "https://playback-qa.a-live.io/d42f9b597f9f4cff90f3d48ddc665a02/us-west-2/NA/playlist_dvr.m3u8"
                  },
                  {
                      "destination_url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b/alive",
                      "location_id": "2f84603cc5bf45babfc92e58f444eb0b",
                      "location": "redundancy_testing_local_1",
                      "encoder_settings": [
                          {
                              "width": 1920,
                              "height": 1080,
                              "bitrate": 4000000,
                              "gop_size": 60.0,
                              "gop_size_units": "FRAMES",
                              "profile": "HIGH",
                              "level": "H264_LEVEL_AUTO",
                              "scan_type": "PROGRESSIVE",
                              "framerate_control": "SPECIFIED"
                          }
                      ],
                      "stream_url": "rtmp://2f84603cc5bf45babfc92e58f444eb0b.sep-qa.a-live.io:1935/2f84603cc5bf45babfc92e58f444eb0b/alive",
                      "static": true,
                      "playback_url": "https://playback-qa.a-live.io/2f84603cc5bf45babfc92e58f444eb0b/us-east-1/NA/playlist.m3u8",
                      "playback_url_dvr": "https://playback-qa.a-live.io/2f84603cc5bf45babfc92e58f444eb0b/us-east-1/NA/playlist_dvr.m3u8"
                  }
              ]
          }
      ],
      "input_group": [
          {
              "input_type": "playlist",
              "value": "redundancy_testing_local_cc",
              "description": "cloudplayout",
              "public_id": "1724281533777310596"
          }
      ]
  }
}

Aktivieren eines Kanals für SSAI

Um einen Kanal für SSAI (serverseitige Anzeigeneinfügung) zu aktivieren, fügen Sie ihn bei der Erstellung des Channels ssai_enabled: true in den Anforderungstext ein. Wenn SSAI für Ihr Konto aktiviert ist, kann es für Kanäle verwendet werden, die VOD- und/oder Live-Streaming-Inhalte enthalten.

Inhalte zur Playlist hinzufügen

Der nächste Schritt besteht darin, Inhalte zum Kanalinhalt hinzuzufügen. Dazu verwenden Sie die CMS-API (beachten Sie, dass dies eine abgekürzte Version des Ganzen ist CMS-API-Referenz einschließlich nur der für Cloud Playout relevanten Vorgänge und mit Beschreibungen, die für Cloud Playout besser geeignet sind).

Rufen Sie die playlist_id des Kanals ab (aus der Antwort auf die Anfrage zum Erstellen eines Kanals oder aus einer Anfrage zum Abrufen des Kanals). Dies ist die Playlist, in der wir unsere Assets für unseren Cloud Playout-Kanal verwalten.

Musteranfrage

Anfrage

Eine Videoaktualisierungsanfrage wird verwendet, um Inhalte hinzuzufügen. Im folgenden Beispiel wird eine Sammlung von Video-IDs hinzugefügt, um eine manuelle Wiedergabeliste zu erstellen. Beachten Sie jedoch, dass Sie auch intelligente Wiedergabelisten basierend auf Video-Tags usw. erstellen können.

Mach ein PATCH Anfrage zu:

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

Header

Content-Type: application/json
Authorization: Bearer {token}

Anfragetext

{
  "video_ids": [
    "70702887566202",
    "70702887586202",
    "70702260704202",
    "70702260706202"
  ]
}
Beispielantwort
{
  "id": "1701632459864392160",
  "account_id": "Your account id",
  "created_at": "2021-06-04T10:39:32.934Z",
  "updated_at": "2021-06-04T12:29:06.793Z",
  "description": "cloudplayout",
  "favorite": false,
  "name": "cloudplayout_dvfdb",
  "reference_id": null,
  "type": "EXPLICIT",
  "video_ids": [
    "70702887566202",
    "70702887586202",
    "70702260704202",
    "70702260706202"
  ],
  "state": "READY"
}

Live-Ereignis hinzufügen

Um einem Kanal eine Live-Veranstaltung hinzuzufügen, erstellen Sie eine Video erstellen Anfrage an die CMS-API und achten Sie darauf, einige spezielle Tags einzufügen, die es als Cloud Playout-Live-Ereignis identifizieren.

Musteranfrage

Anfrage

Mach ein POST Anfrage zu:

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

Header

Content-Type: application/json
Authorization: Bearer {token}

Anfragetext

{
  "name": "Name of the event",
  
    "tags": [
      "cp-live-placeholder",
      "duration-00:40:00"
    ]
  ,
  "description": "Description of the event"
}
Beispielantwort
{
  "id": "70702834583294",
  "account_id": "Your account id",
  "ad_keys": null,
  "clip_source_video_id": null,
  "complete": false,
  "created_at": "2021-06-04T11:00:48.551Z",
  "created_by": {
    "type": "user",
    "id": "76072843583",
    "email": "username@brightcove.com"
  },
  "cue_points": [
  ],
  "custom_fields": {
  },
  "delivery_type": "unknown",
  "description": "test description",
  "digital_master_id": null,
  "duration": null,
  "economics": "AD_SUPPORTED",
  "folder_id": null,
  "geo": null,
  "has_digital_master": false,
  "images": {
  },
  "link": null,
  "long_description": null,
  "name": "test live event",
  "original_filename": null,
  "projection": null,
  "published_at": "2021-06-04T11:00:48.565Z",
  "reference_id": null,
  "schedule": null,
  "sharing": null,
  "state": "ACTIVE",
  "tags": [
    "cp-live-placeholder",
    "duration-00:05:00"
  ],
  "text_tracks": [
  ],
  "updated_at": "2021-06-04T11:00:48.572Z",
  "updated_by": {
    "type": "user",
    "id": "76076294383",
    "email": "username@brightcove.com"
  },
  "playback_rights_id": "primary"
}

Bitte beziehen Sie sich auf die CMS API-Referenz für Cloud Playout Weitere Beispiele zum Verwalten von Assets in Cloud Playout.

Overlays hinzufügen/verwalten

Cloud Playout unterstützt zwei Arten von Overlays:

Für jeden Typ ist der Arbeitsablauf wie folgt:

  1. Ein Overlay-Asset erstellen

    Sie müssen eine öffentliche URL für das statische oder dynamische Bild angeben. Stellen Sie sicher, dass Sie angeben "type": "dynamic", ob es sich um ein dynamisches Overlay handelt.

  2. Verknüpfen Sie das Overlay mit einem Kanal. Beachten Sie, dass es separate Endpunkte für die Verknüpfung von statischen und dynamischen Overlays gibt:

Benutzerdefinierte Schieferplatten hinzufügen/verwalten

Slates werden verwendet, um tote Zeit in der Kanalwiedergabe aufzufüllen, die dadurch entstehen kann, dass der Werbeinhalt die Dauer eines Werbeblocks nicht vollständig ausfüllt, oder um die Zeit zu füllen, wenn eine feste Startzeit eingestellt ist. Brightcove bietet eine Standardvorlage, die für jeden Kanal verwendet werden kann. Sie können jedoch eine Standardvorlage in Form eines MP4-Videos bereitstellen, das bei Bedarf automatisch in einer Schleife angezeigt wird.

Ein benutzerdefinierter Slate kann als Asset hinzugefügt werden (was ihn für jeden Kanal wiederverwendbar macht) oder als URL bei der Erstellung des Kanals angegeben werden (siehe den Beispiel-Anfragetext oben).

Siehe die API-Referenz Einzelheiten zum Hinzufügen eines benutzerdefinierten Slates als Kontoguthaben.

Kanal abrufen

Wir können diesen Endpunkt verwenden, um die Kanaldetails und den Status des Kanals zu überprüfen.

Musteranfrage

Anfrage

Mach ein GET Anfrage zu:

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

Header

Content-Type: application/json
Authorization: Bearer {token}
Beispielantwort
{
  "public_id": "channel id",
  "name": "channel name",
  "description": "Channel created for testing Cloud Playout",
  "account_id": "Your account id",
  "state": "DRAFT",
  "status": null,
  "start_time": "2020-12-17 06:00:00 UTC",
  "stop_time": "2020-12-17 07:00:00 UTC",
  "input_groups": "playlist",
  "output_groups": "rtmp",
  "loop_playlist": true,
  "playlist_id": "1686204667297382886",
  "channel_class": "single-pipeline",
  "ssai_enabled": false,
  "aws_region": "us-east-1",
  "message": null,
  "created_at": "2020-12-16 03:41:22 UTC",
  "updated_at": "2020-12-17 04:53:30 UTC",
  "image_url": "https://bc-cloudplayout-prod.s3.amazonaws.com/default_channel_image.png",
  "output_destinations": [
    "Brightcove Live"
  ],
  "channel_created_at": "2020-12-16 03:41:22 UTC",
  "channel_updated_at": "2020-12-17 04:53:30 UTC",
  "channel_created_by": "username@brightcove.com",
  "channel_updated_by": "username@brightcove.com",
  "live_profile": {
    "display_name": "Standard Live HD 720p - Tier 1",
    "name": "standard-live-hd-720p-tier-1",
    "date_created": "2018-06-04 18:16:44 UTC",
    "date_modified": "2018-06-04 18:16:44 UTC"
  },
  "channel_data": {
    "input_group": [
      {
        "input_type": "playlist",
        "value": "cloudplayout_testChannel",
        "description": "Playlist created for Cloud Playout",
        "public_id": "1686204667297382886"
      }
    ],
    "output_groups": [
      {
        "type": "rtmp",
        "location": "bc_live",
        "destination": "Brightcove Live"
      }
    ]
  }
}

Einen Kanal aktivieren

Aktivieren Sie einen Kanal, indem Sie die folgende Anfrage stellen. Es ist kein Anforderungstext erforderlich.

Musteranfrage

Anfrage

Mach ein POST Anfrage zu:

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

Header

Content-Type: application/json
  Authorization: Bearer {token}
Beispielantwort
{
  "message":"Channel activation initiated"
}

Um den Status des Kanals zu überprüfen, siehe Kanalabschnitt abrufen Oben.

Starten Sie einen Kanal

Starten Sie einen Kanal, indem Sie die folgende Anfrage stellen. Es ist kein Anforderungstext erforderlich.

Musteranfrage

Anfrage

Mach ein POST Anfrage zu:

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

Header

Content-Type: application/json
  Authorization: Bearer {token}
Beispielantwort
{
  "message":"Channel start initiated"
}

Um den Status des Kanals zu überprüfen, siehe Kanalabschnitt abrufen Oben.

Einen Kanal stoppen

Stoppen Sie einen Kanal, indem Sie die folgende Anfrage stellen. Es ist kein Anforderungstext erforderlich.

Musteranfrage

Anfrage

Mach ein POST Anfrage zu:

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

Header

Content-Type: application/json
  Authorization: Bearer {token}
Beispielantwort
{
  "message":"Channel stop initiated"
}

Um den Status des Kanals zu überprüfen, siehe Kanalabschnitt abrufen Oben. Nach dem Stoppen befindet sich der Kanal im DRAFT-Zustand.

Einen Kanal löschen

Löschen Sie einen Kanal, indem Sie die folgende Anfrage stellen. Es ist kein Anforderungstext erforderlich.

Musteranfrage

Anfrage

Mach ein DELETE Anfrage zu:

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

Header

Content-Type: application/json
  Authorization: Bearer {token}
Beispielantwort
{
  "message":"Delete initiated"
}

Um den Status des Kanals zu überprüfen, siehe Kanalabschnitt abrufen Oben. Sobald der Kanal gelöscht wurde, sollten Sie die Kanalinformationen von Kanal per ID-Anfrage abrufen nicht mehr sehen.

Ein As-Run-Protokoll erhalten

Ein As-run-Protokoll zeichnet auf, welche Inhalte (einschließlich Werbung und Bumper) von einem Cloud Playout Channel am Vortag tatsächlich übertragen wurden. Laufende Protokolle sind für Prüfungszwecke und die Aufzeichnung von Daten nützlich.

Sie können ein As-Run-Log für einen Kanal im JSON-, XML- oder CSV-Format abrufen, indem GET Sie eine Anfrage senden an:

https://cm.cloudplayout.brightcove.com/accounts/{account_id}/cp_channels/{channel_id}/as_run_logs?format={format}

Der Wert von format muss sein json(Standard) xml, oder csv

Hinweise

  • Das Protokoll wird unabhängig vom aktuellen Zustand des Kanals erstellt.
  • Das Protokoll enthält die Aufzeichnungen des Vortages (24 Stunden). ZB. Wenn das aktuelle Datum angegeben ist 2021-09-22 05:30:00 UTC, liefert die Protokollierung während des Ablaufs die Wiedergabedaten des Kanals von 2021-09-21 00:00:00 UTC bis 2021-09-22 00:00:00 UTC.
  • Ein Asset, bei dem ein Mid-Roll gespielt wird, wird aufgeteilt und in den Daten wie folgt angezeigt:
    1. VOD-Anlage
    2. Mid-Roll-Asset (wird z. B. bei 45 Sekunden abgespielt)
    3. VOD-Anlage mit playhead_start_time = 00:00:45, der Position, von der aus es weitergeht.
Musterprotokoll: JSON
{
  "account_id": "Account ID",
  "channel_id": "62713ed768434ffbac9ce2ff974c9cb9",
  "channel_name": "TestChannelName",
  "from": "Query start time (UTC)",
  "to": "Query end time (UTC)",
  "events": [
    {
      "name": "Video Cloud Asset name",
      "id": "Video cloud video ID",
      "type": "LIVE | AD | VIDEO | PRE_ROLL_BUMPER | POST_ROLL_BUMPER | MIDROLL",
      "start_time": "2021-07-30 00:00:00.0 UTC",
      "end_time": "2021-07-30 01:00:00.0 UTC"
    },
    {
      "name": "AD Placeholder",
      "id": "Video cloud video ID",
      "type": "AD",
      "start_time": "2021-07-30 01:00:00.0 UTC",
      "end_time": "2021-07-30 01:05:00.0 UTC"
    },
    {
      "name": "Asset with a Midroll AD",
      "id": "6246656690001",
      "type": "VIDEO",
      "start_time": "2021-07-30 01:05:00.0 UTC",
      "end_time": "2021-07-30 01:10:00.0 UTC"
    },
    {
      "name": "Asset with a Midroll AD",
      "id": "6246656690001",
      "type": "MIDROLL",
      "start_time": "2021-07-30 01:10:00.0 UTC",
      "end_time": "2021-07-30 01:10:30.0 UTC"
    },
    {
      "name": "Asset with a Midroll AD",
      "id": "6246656690001",
      "type": "VIDEO",
      "start_time": "2021-07-30 01:10:30.0 UTC",
      "end_time": "2021-07-30 01:20:00.0 UTC",
      "playhead_start_time": "00:05:00"
    }
  ]
}
Musterprotokoll: XML

   Account ID 
  62713ed768434ffbac9ce2ff974c9cb9
  TestChannelName
  Query start time (UTC)
  Query end time (UTC)


  Video Cloud Asset name
  Video cloud video ID
   LIVE | AD | VIDEO | PRE_ROLL_BUMPER | POST_ROLL_BUMPER | MIDROLL 
  2021-07-30 00:00:00.0 UTC
  2021-07-30 01:00:00.0 UTC


  AD Placeholder
  Video cloud video ID
  AD
  2021-07-30 01:00:00.0 UTC
  2021-07-30 01:05:00.0 UTC


  Asset with a Midroll AD
  6246656690001
  VIDEO
  2021-07-30 01:05:00.0 UTC
  2021-07-30 01:10:00.0 UTC


  Asset with a Midroll AD
  6246656690001
  MIDROLL
  2021-07-30 01:10:00.0 UTC
  2021-07-30 01:10:30.0 UTC


  Asset with a Midroll AD
  6246656690001
  VIDEO
  2021-07-30 01:10:30.0 UTC
  2021-07-30 01:20:00.0 UTC
  00:05:00


Beispielantwort: CSV
account_id, channel_id, channel_name, von, bis, event:name, event:id, event:type, event:start_time, event:end_time, event:playhead_start_time