概述:CMS 應用程式

在本主題中,您將取得 CMS API 的概觀。提CMS API供對資料的未加速讀取存取權。這對於時間敏感的發佈工作流程來說很重要,因為您可以使用並快速讀取資料來變更視訊CMS API和播放清單,以確認是否正確。

API 參考

另請參閱API參考

一般資訊

基本網址

的基本網址CMS API是:

        https://cms.api.brightcove.com/v1

帳號路徑

在所有情況下,都將針對特定Video Cloud帳戶。因此,您將始終將該術語accounts後跟您的帳戶 ID 添加到基本 URL 中:

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

驗證

要求的驗證需要Authorization header

        Authorization: Bearer {access_token}

access_token是一個臨時的 OAuth2 訪問令牌,必須從Brightcove OAuth服務中獲取。有關更多詳細信息,請參見Brightcove OAuth概述

創建客戶端憑據的最簡單方法是通過Brightcove Studio管理頁面。有關詳細說明,請參見管理API身份驗證憑據

作業

當您要求用戶端認證時,您必須指定您想要的帳戶存取或作業類型。以下是當前支持的操作列表CMS API

  • 視頻數據:

    video-cloud/video/read
    video-cloud/video/create
    video-cloud/video/update
    video-cloud/video/delete
    要么
    video-cloud/video/all
    video-cloud/video/assets/delete(僅在要刪除數字母版時才需要-請注意,不能在Studio中創建憑據時獲得此權限。必須通過OAuth API或Brightcove學習服務創建的示例應用程序

  • 播放清單資料:

    video-cloud/playlist/read
    video-cloud/playlist/create
    video-cloud/playlist/update
    video-cloud/playlist/delete
    要么
    video-cloud/playlist/all

  • 通知:

速率限制

這個CMS API提供對數據的未緩存讀取訪問。這對於時間敏感的發佈工作流程來說很重要,因為您可以使用並快速讀取資料來變更視訊CMS API和播放清單,以確認是否正確。

CMS API不適用於大規模的運行時使用(例如訪問高流量公共網頁上的視頻)。對於高流量應用程序,您必須使用緩存的接口,例如:Playback API,圖庫,播放器或本機SDK。

為確保性能Video Cloud系統,並發呼叫不超過20個CMS API被允許每個帳戶。訪問頻率應小於每秒10個請求。

如果多個應用程序將集成到CMS API對於一個帳戶,則這些應用程序應具有退避和重試邏輯,以處理達到並發限製或速率限制的實例。

如果超出了速率或併發限制,則429 - TOO_MANY_REQUESTS錯誤將被返回。

參照 ID 衝突

為了確保參考 ID 的唯一性,在指定給視頻的任何操作後CMS API鎖定 ID 最多 3 分鐘。這可能會導致當您嘗試重試失敗的請求太快,或者當您嘗試在刪除之前指定的視訊後太快重複使用參照 ID 時,會傳回 409 錯誤。如需詳細資訊,請參閱錯誤訊息參考

視頻資產限制

每個視頻不得超過1,000個資產。資產包括演繹,音頻軌道,文本軌道和圖像,以及數字母帶。字幕和圖像的總資產很少會超過10-15,因此即使您擁有針對150種不同語言的單獨音軌和文本音軌,資產也仍然少於350。

使用注意事項

方法

目前,API支持以下請求類型:

  • GET
  • POST
  • PATCH
  • PUT
  • DELETE

參數

請注意,所有參數都是可選的。除另有說明外,它們適用於GET要求提供視頻和播放列表。

GET請求參數
參數 描述
q 查詢字符串以進行搜索-請參閱搜索語法欲獲得更多信息
limit 要傳回的視訊數目-必須是介於 1 到 100 之間的整數。預設值: 20
offset 要跳過的視訊數目 (用於分頁結果)。必須是正整數。預設值: 0
sort 字串;指定要排序依據的欄位。從...開始-降序排序。如果為q提供,則默認排序是按“分數”(搜索結果與原始查詢的相關性)。如果沒有價值q提供,則默認排序為updated_at下降。以下字段對排序有效:namereference_idcreated_atpublished_atupdated_atschedule_starts_atschedule_ends_atstateplays_totalplays_trailing_week

Brightcove的CMS API提供了一種編程方式來搜索您的視頻 Video Cloud 圖書館。

要對視頻數據進行基本和複雜的搜索,您將使用以下q參數:

        https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q={search terms}

如需如何搜尋視訊的詳細資訊,請參閱「搜尋視訊」文件。

對於播放列表,搜索字符串的支持值受到更多限制。您目前可以通過搜索typenamedescriptionreference_id。以下是一些有效搜索示例:

  • q=type:EXPLICIT
  • q=type:ACTIVATED_OLDEST_TO_NEWEST
  • q=type:ALPHABETICAL
  • q=bears+otters(名稱,描述或參考ID必須包含“熊”或“水獺”)
  • q=%2Bname:bears+type:EXPLICIT(名稱必須包含“熊”)

看到搜索播放列表更多細節。

分頁結果

使用 limit 參數,用於指定您要在請求中返回的項目數-最多100。然後,您可以使用 offset 參數以瀏覽大於結果的結果集limitoffset是要略過的項目數。

例如,假設總結果集至少有 75 部影片,下列搜尋會傳回總結果集的 51-75 部影片:

        /videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50

limitoffset參數可用於視頻和播放列表。

分頁最佳做法

由於CMS API可能會進行並發修改操作,因此在分頁結果集時建議遵循以下步驟:

  1. 做一個 count 請求獲取您的結果集中的視頻總數。
          /accounts/578380111111/counts/videos?q=tags:nature
  2. 使用 limit offset 參數以返回結果集中的數據組。
          /accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
  3. 請注意,某些頁面上的視頻可能少於20個。當您要求的視頻數量與第一個視頻一樣多時,您將知道已經達到結果集的末尾count請求。

總而言之,請不斷檢索頁面,直到獲得與原始視頻相同的視頻計數為止count要求,因為此數字應偏高估。要求:

      count / page-size + 1 page

排序視訊結果

使用參數sort=field_name以指定結果的排序方式-您可以同時對視頻和播放列表進行排序。您可以對以下視頻字段進行排序: [1-1]

  • name
  • reference_id
  • created_at
  • published_at
  • updated_at
  • schedule_starts_at(注意:這是分類領域- 搜索字段是schedule.starts_at
  • schedule_ends_at(注意:這是分類領域- 搜索字段是schedule.ends_at
  • state
  • plays_total [1-2]
  • plays_trailing_week [1-2]

注意事項

  • [1-1]如果您沒有為視頻搜索通話提供排序值,則結果將按相關性排序。如果您未為GET視訊通話提供排序值,結果會依updated_at遞減排序。
  • [1-2]你可以排序plays_total要么plays_trailing_week,但結果未包含這些字段

排序播放列表結果

您可以在以下字段上對播放列表進行排序:

  • name
  • updated_at(默認)

所有視訊和大型資料集

如果您要擷取帳戶中的所有影片或大量影片,您必須注意以下幾點:

  1. 您可能會試圖使用允許的最大limit(100),但最好批量檢索 25 或更少的視頻,以盡量減少 API 請求超時的可能性
  2. 當您通過大型數據集進行分頁時,可能會在操作過程中更新視頻數據,這可能會導致項目在響應中轉移:
    • 您可能會在連續的頁面上看到重複的項目
    • 某個項目可能會遺漏,因為它已經轉移到先前的回應集

    為了考慮第一種可能性,您的應用程序應該在您完成檢索視頻後解除重複刪除完整的項目列表。為了處理第二種可能性,您需要將檢索到的項目總數(在刪除重製之後)與您期望的數字進行比較,然後重新運行請求,按照 last_modified_date(降序)排序結果-您不應該需要檢索多個批次來拾取錯過的項目。

  3. 您可以藉由適當地排序傳回的結果,以減少上一個項目中案例的可能性。預設依搜尋的相關性排序是以複雜的演算法為基礎,該演算法看起來包含關鍵字、標籤和自訂欄位值的組合。如果您是根據多個關鍵字、標籤和/或自訂欄位來搜尋影片,請依關聯性排序就是您想要的。但是,如果您只是試圖檢索所有或大組視頻,明確設置sort參數將讓您更多地控制返回項目的順序。

視頻操作

視頻操作包括:

  • 獲取視頻或搜索結果的數量
  • 獲取所有視頻
  • 按ID或參考ID獲取一個或多個視頻
  • 創建,檢索,更新和刪除視頻
  • 搜索視頻
  • 獲取視頻源,圖像和數字主信息
  • 獲取視頻所屬的播放列表
  • 從所有播放列表中刪除視頻

有關視頻操作的詳細信息,請參見API參考

播放列表操作

播放列表操作包括:

  • 獲取播放列表數量
  • 獲取所有播放列表
  • 創建,更新和刪除播放列表
  • 在播放列表中獲取視頻數量
  • 在播放列表中獲取視頻

播放列表操作的詳細信息可以在API參考

資產

資產操作使您可以管理資產,包括格式,清單,圖像和文本軌道。要攝取資產,您必須使用Dynamic Ingest API。的POSTPATCH的操作CMS API/assets可用於添加和更新遠程資產CMS API GET操作將適用於提取和遠程資產。

  • 添加,更新或刪除演繹
  • 添加,更新或刪除數字母版的元數據
  • 添加,更新或刪除分段視頻類型(例如HLS)的清單
  • 添加,更新或刪除海報和縮略圖
  • 添加,更新或刪除WebVTT文本軌道或DFXP字幕

資產操作的詳細信息可以在API參考

自定義現場操作

當前有一個自定義字段操作:

  • 獲取帳戶的所有自定義字段

有關自定義字段操作的詳細信息,請參見API參考

文件夾操作

文件夾操作使您可以:

  • 獲取文件夾列表
  • 創建,更新和刪除文件夾
  • 獲取文件夾中的視頻列表
  • 將視頻添加到文件夾
  • 從文件夾中刪除視頻

文件夾操作的詳細信息可以在API參考

通知

您可以在以下時間收到通知video-change事件發生在您的視頻庫中或master-video-change當共享視頻在主視頻更新後自動更新其資產時的通知。通知將發送到您指定的 URL,該 URL 應指向能夠處理 HTTP POST 請求的應用程序。

通知失敗

通知系統將客戶服務器返回的任何4xx或5xx視為可重試失敗。失敗的回調將被重試最多 20 次,後續回調之間的延遲呈指數增加。前幾次重試將在初始回調嘗試的幾分鐘內發生。如果回調繼續失敗,並且我們一直到第 20 次重試,則重試延遲將是幾天。

防火牆

如果您的組織對通過防火牆的傳入流量來源有嚴格的政策,我們會允許所有AWS East地區IP。這可能會有所變更,因此所有 AWS IP 都應該列入白名單。看到https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html欲獲得更多信息。

通知操作

當前可用於通知的操作是:

  • 創建訂閱
  • 獲取一個或所有訂閱
  • 刪除訂閱

通知操作的詳細信息可以在API參考