支持 聯繫支持 | 系統狀況 系統狀態

將CMS與 Video Cloud

在本主題中,您將學習集成Brightcove涉及的基本操作 Video Cloud 使用CMS。 它列出了用戶在CMS中執行的典型功能以及可用於提供該功能的Brightcove API操作。

用戶功能

以下是與 Video Cloud 您可能想提供CMS用戶:

  • 將新視頻添加到 Video Cloud
  • 更換一個 Video Cloud 帶有新版本的視頻
  • 更新視頻的元數據,例如標題,描述和標籤
  • 刪除視頻
  • 創建播放列表
  • 更改播放列表中的視頻
  • 刪除播放列表
  • 製作視頻 players
  • 修改視頻 player 屬性,例如尺寸或樣式
  • 為視頻添加特殊功能 player通過插件
  • 發佈單個視頻或播放列表
  • 提供有關視頻負載,觀看次數,播放率,參與度等的分析數據。

您可能不希望向最終用戶公開所有這些功能-例如,您可能不想讓他們刪除視頻。 整合的優勢之一 Video Cloud 使用您的CMS,而不是讓用戶直接進入 Video Cloud Studio是您可以精確選擇要通過Brightcove API向用戶公開的功能。

認證

對於所有Brightcove API請求,身份驗證均基於OAuth2訪問令牌。 獲取訪問令牌的過程分為兩個步驟:

  1. 創建具有所需API操作權限的客戶端憑據
  2. 使用客戶端憑據創建臨時訪問令牌以驗證API請求

創建客戶端憑證

創建客戶端憑據是一次性操作,可以通過以下方式執行 Video Cloud 工作室 或者 OAuth API 。 不管你做什麼, client_idclient_secret 返回,您必須將其保存以請求訪問令牌。

創建訪問令牌

臨時訪問令牌是使用 OAuth API 。 “ client_idclient_secret 必須經過BASE64編碼並作為 Basic 授權字符串。

access_token 返回的值通過API調用依次傳遞到Authorization標頭中:

    >Authorization: Bearer your_access_token
    
    

訪問令牌的有效期為5分鐘。 除非您執行某種批處理操作,該操作將進行數百個連續的API調用,否則只為每個API調用請求一個新的批處理而不是試圖跟踪超時是有意義的。

添加視頻

如果您希望讓用戶將視頻添加到 Video Cloud 在CMS中,您可以使用 Dynamic Ingest API 。 我們建議您讓用戶將視頻上傳到您的存儲庫,該存儲庫可以是S3存儲桶,也可以只是面向公眾的服務器。 動態提取系統可以提取視頻並將其添加到 Video Cloud 系統通過以下兩步過程概述。

將視頻對象添加到 Video Cloud

第一步是在 Video Cloud 通過製作一個系統 POST 要求 CMS API:

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

請求正文將在 JSON 對象-最少,視頻 name,但您還可以添加其他元數據,例如 descriptiontags:

    {
    "name": "Woodpecker",
    "description": "A bird that hunts insects inside wood",
    "reference_id": "Bird_Woodpecker.mp4",
    "tags": ["bird", "air", "nature"]
    }
    
    

攝取視頻

創建視頻對象時, CMS API 將返回一個 JSON 包含視頻屬性的對象。 您將提取視頻 id 來自 JSON,並使用它來撥打 Dynamic Ingest API 請求視頻的攝取和轉碼:

    https://ingest.api.brightcove.com/v1/accounts/ACCOUNT_ID/videos/VIDEO_ID/ingest-requests
    
    

同樣,您將發送 JSON 在請求正文中指定視頻文件的位置:

    {
      "master":{
        "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
      },
      "profile":"multi-platform-extended-static",
      "capture-images": true
    }
    
    

profile 這是“摘要配置文件”,用於指定在轉碼過程中應創建哪些格式。 在大多數情況下,以下標準配置文件之一應足夠:

動態交付資料

  • multi-platform-extended-static
  • multi-platform-standard-static

舊版攝取檔案

  • videocloud-default-v1 (the default)
  • screencast-1280
  • smart-player-transition
  • single-bitrate-high
  • audio-only
  • single-bitrate-standard
  • high-resolution

但是,如果需要,您可以使用來創建其他自定義攝取配置文件 Ingest Profiles API 或使用 Video Cloud 工作室.

添加海報和縮略圖

capture-images 上面代碼中的選項指示 Video Cloud 在轉碼過程中在中點捕獲視頻的海報和縮略圖圖像。 或者,您可以設置 capture-imagesfalse 然後在您提取視頻的同時或更晚的時間提取圖像:

    {
    "master":{
    "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
    },
    "profile":"multi-platform-extended-static",
    "capture-images": false,
    "poster": {
    "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-poster.png",
    "width": 640,
    "height": 360
    },
    "thumbnail": {
    "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-thumbnail.png",
    "width": 160,
    "height": 90
    }
    }
    
    

看到 圖片和 Dynamic Ingest API 更多的細節。

為字幕或章節添加文本軌道

您也可以使用 Dynamic Ingest API 在中添加文本軌道 WebVTT 文件,無論是在攝取時還是在以後。 文本軌道用於添加 標題 or 章節 觀看視頻

    {
    "master":{
    "url":"http://learning-services-media.brightcove.com/videos/mp4/Bird_Woodpecker.mp4"
    },
    "profile":"multi-platform-extended-static",
    "capture-images": false,
    "poster": {
    "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-poster.png",
    "width": 640,
    "height": 360
    },
    "thumbnail": {
    "url": "http://learning-services-media.brightcove.com/images/for_video/titmouse-thumbnail.png",
    "width": 160,
    "height": 90
    },
    "text_tracks": [
    {
    "url": "http://learning-services-media.brightcove.com/captions/for_video/Water-in-Motion.vtt",
    "srclang": "en",
    "kind": "captions",
    "label": "English",
    "default": true
    }
    ]
    }
    
    

看到 提取WebVTT文件 更多的細節。

管理影片

CMS API 允許您取回帳戶的視頻數據。 (如上所示,作為視頻攝取過程的一部分,它也用於創建視頻對象。)最基本的請求如下:

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

默認情況下,此請求返回一個 JSON 由20個視頻對象組成的數組,其中包含大量元數據,包括名稱,描述,標籤,自定義字段,創建和最後修改的日期,海報和縮略圖的URL等。

您可以通過向請求中添加以下一個或多個參數來優化請求的結果:

limit
這確定了要返回的視頻對象的數量,並且可以設置為100以上的任何數量-默認值為20
offset
這決定了要跳過的項目數,因此與 limit 翻閱視頻目錄-默認值為0
sort
這確定了視頻元數據字段,用於對結果進行排序-默認情況下,結果按 updated_at (降序,先顯示最近更新的視頻)

看到 CMS API 概述-參數 有關這些參數的詳細信息。

搜索視頻

您還可以使用 q 參數。 您可以按特定字段進行搜索,例如名稱,說明和標籤,以及視頻的日期和狀態:

    https://cms.api.brightcove.com/v1/accounts/account_id/videos?q=tags:sea,mammal
    
    

有關詳細信息和所有搜索選項,請參見 搜索視頻.

獲取和更新特定視頻

要按ID或參考ID檢索特定視頻,請執行以下操作:

    https://cms.api.brightcove.com/v1/accounts/account_id/videos/id
    or
    https://cms.api.brightcove.com/v1/accounts/account_id/videos/ref:reference_id
    
    

A GET 請求返回視頻對象。 要對其進行更新,請修改 JSON 並使用 PATCH 請求到相同的URL。

播放列表

播放列表信息也可以使用 CMS API 與視頻信息大致相同。 注意 Video Cloud 支持兩種類別的八種播放列表:

手動(或 EXPLICIT)播放列表
包含一組指定的視頻-最多可以包含100個視頻
智能播放列表
根據搜索條件在運行時動態生成-共有七種智能播放列表,它們與列表中視頻的排序方式相對應:
  • ACTIVATEDOLDESTTONEWEST
  • ACTIVATEDNEWESTTOOLDEST
  • ALPHABETICAL
  • PLAYSTOTAL
  • PLAYSTRAILINGWEEK
  • STARTDATEOLDESTTONEWEST
  • STARTDATENEWESTTO_OLDEST

視頻數量的限制可以設置為任意數量,最高為100。

與視頻一樣,您可以使用 limitoffset 如果帳戶中有大量的播放列表,則可以分頁瀏覽結果:

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

返回的播放列表對像數組將包含該播放列表的元數據,包括 type 對應於上述類型之一。 如果類型是 EXPLICIT,還會有一個 video_ids 包含所包含視頻的ID的數組。 如果類型是智能播放列表類型之一,則將有一個 search 屬性,其中包含檢索視頻的搜索字符串,如下所示:

    q=tags:fish,birds
    
    

您還可以通過其列表來檢索單個播放列表 id:

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

如果您需要檢索播放列表的完整視頻對象(以在頁面上顯示有關視頻的信息),只需添加 /videos 該網址:

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

請注意,對於智能播放列表,請求將返回當前符合搜索條件但可能會更改的視頻。

創建 Players

Brightcove公司 player可以通過創建 Player Management API 。 該API允許您創建 player,更新其屬性並以URL的形式獲取嵌入代碼, iframe 標記或要嵌入到頁面中的HTML塊。

最多可以200個 player每個帳戶,但通常不會讓用戶感到困惑 player絕對需要。 你應該分開 player用於播放單個視頻或播放列表,否則您只需要 players樣式不同或通過插件添加了不同功能時。

創建一個 player,您只需製作一個 POST 要求 Player Management API:

    https://players.api.brightcove.com/v2/accounts/account_id/players
    
    

在請求的正文中,包括 player 組態 -唯一需要的是 name:

    {
    "name": "Single video player for blog posts"
    }
    
    

回應會給你 player id以及多種形式的嵌入代碼:

    {
    "embed_code": "<iframe src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
    "embed_in_page": "http://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/in_page.embed",
    "id": "de055fa4-4f09-45af-8531-419c6794ad04",
    "preview_embed_code": "<iframe src='//preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
    "preview_url": "http://preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html",
    "url": "http://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html"
    }
    
    

要獲得全部 player 配置,您向 /players 端點,但添加 player 在上面的響應中返回的ID:

    https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04
    
    

你可以做一個 PATCH 請求到同一端點以更新 player 組態。

您會在上面的響應中註意到 preview_embed_codepreview_url。 允許測試新 players或 player 更新,新創建或更新 player設置為預覽模式,以允許您在將更改推送到現有模式之前查看它 players。 要將變更推向生產,您需要 發布 練習 player 與此請求:

    https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04/publish
    
    

定制 Players

Brightcove公司 player 使用標準網絡技術構建:HTML,CSS和 JavaScript。 您可以自定義 player 使用那些相同的技術。 這可以在頁面上完成 player 已發布,但最佳做法是將自定義內容添加到 player 本身通過 player 組態,更新 player 生活 PATCH 要求 Player Management API 如上一節所述。

您還可以向 player 通過 JavaScript 插件,並且 Player API 幫助您將代碼與 player。 Brightcove提供了許多現成的插件,用於啟用廣告,自定義最終屏幕以及添加覆蓋圖。

發布影片

創建 PlayerS節 上面我們看到,當你得到 player 配置對象使用 Player Management API,返回的數據包括一個iframe代碼,用於嵌入 player 在HTML頁面中,如果要嵌入 player 直接在頁面中。

對於您選擇的任何嵌入,您都需要添加一個 Video Cloud 視頻ID或播放列表ID到嵌入代碼,以將內容添加到 player。 iframe嵌入代碼如下所示:

    <iframe
    src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html'
    allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
    
    

到網址 player,您需要附加參數 videoId={}video_id,這樣完整的嵌入代碼將如下所示:

    <iframe
    src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
    allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
    
    

如果這是一個播放列表 player,您使用參數 playlistId={playlist_id} 代替。 頁內嵌入代碼的修改類似。

除非 player 尺寸固定在 player 配置,您還需要確定尺寸 player 通過在 style 屬性:

    <iframe
    src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
    allowfullscreen webkitallowfullscreen mozallowfullscreen
    style=width:640px;height:360px;></iframe>
    
    

獲取分析報告

Analytics API 允許您通過許多不同的方式生成分析報告 dimensions。 見 尺寸指南 了解更多信息。

您可以指定報告的日期範圍,要返回的指標,還可以在以下位置獲取數據 JSON, csv, 或者叫 xlxs 格式

對於上個月內的期間,您還可以生成詳細的 Engage報告 該視圖顯示了視頻的每十分之一的觀看次數。

API摘要

以下是可用於與API集成的API的摘要 Video Cloud.

OAuth API
用於創建客戶端憑據和訪問令牌以訪問其他API。
媒體管理
Ingest Profiles API
用於創建自定義攝取配置文件,指定要為添加到其中的視頻創建的演繹版本 Video Cloud
Dynamic Ingest API
用於將視頻和相關媒體資產添加到 Video Cloud
CMS API
用於創建視頻對像以進行攝取,以及管理視頻和播放列表
Brightcove Players
Brightcove Player
player 包括一個 JavaScript 與之交互的API player 在運行時
Player Management API
用於創建和配置 player,並獲得 player 嵌入代碼
Analytics API
用於獲取有關視頻效果的分析報告

頁面最後更新於12年2020月XNUMX日