簡介
在本分步指南中,您將執行以下任務:
- 創建一個球員
- 更新播放器以自動播放視頻
- 通過添加插件來自定義玩家
- 顯示播放器的配置
開始使用
本分步指南採用的方法是使用curl語句與Player Service API通信。在命令行中使用curl工具,以使用URL語法傳輸數據。有關 curl 的更多信息可以從 https://curl.haxx.se獲得。
為了簡單起見,您當然不必像本分步指南中那樣使用curl。當然,您可以使用自己喜歡的語言與API進行通信。看看播放器管理示例的設置演示瞭如何使用基本身份驗證,AJAX和JavaScript編寫一些用於執行基本任務(例如創建播放器,顯示所有播放器,刪除播放器等)的微型應用。
開始使用API之前,需要採取一些初步步驟。這些是:
- 登入工作室。如果您有多個帳戶,請使用下拉菜單選擇要在其中創建新玩家的帳戶。為了使憑據系統正常運行,您需要對此帳戶擁有管理員權限。如果不確定用戶是否具有管理員權限,請轉到“用戶設置”頁面以查看列出的用戶及其角色。
- 在Studio中,請確保已選擇家從模塊列表中。您可以在頁面左上角的帳戶名稱下方復制您的帳戶ID。
- 在命令行中,輸入以下內容以將“帳戶ID”值分配給環境變量:
export ACCOUNT_ID=YourAccountID
- 身份驗證將通過在curl語句中提供您的帳戶電子郵件地址來處理,然後API會提示您輸入密碼。由於電子郵件地址將被頻繁使用,因此也請將該值分配給環境變量:
export EMAIL=YourEmailAddress
現在您可以開始使用API。
創建一個球員
現在,您可以通過調用播放器管理API來創建播放器。有關API調用的詳細信息,請參見播放器管理API概述文件。建議您將以下curl語句複製並粘貼到命令行。
以下步驟可幫助您創建播放器。
- 第一個curl語句創建播放器並分配名稱和描述。在命令行上粘貼此語句後,按輸入,系統將提示您輸入密碼。
curl \ --header "Content-Type: application/json" \ --user $EMAIL \ --request POST \ --data '{ "name": "My New Player Name v2", "description": "My new player description" }' \ https://players.api.brightcove.com/v1/accounts/{account_id}/players
您將看到服務器以JSON格式返迴響應數據:
{ "id": "S1qN4xeG7", "url": "https://players.brightcove.net/1507807800001/S1qN4xeG7_default/index.html", "embed_code": "<iframe src='//players.brightcove.net/1507807800001/S1qN4xeG7_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>", "embed_in_page": "https://players.brightcove.net/1507807800001/S1qN4xeG7_default/in_page.embed", "preview_url": "https://preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/index.html", "preview_embed_in_page": "https://preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/in_page.embed", "preview_embed_code": "<iframe src='//preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>" }
- 使用以下一個(或全部)值查看播放器(目前,播放器中沒有視頻,但是您可以使用Studio使用新創建的播放器來發布視頻):
- 複製
url
瀏覽器中查看播放器。 - 複製
embed_code
進入HTML頁面,以在iframe中查看播放器。為了使它正常運行,必須從實際的HTTP服務器提供包含iframe的頁面。 - 的
embed_in_page
該功能的使用方法在高級(頁內)嵌入代碼的可用選項文件。
- 複製
視頻雲視頻
當然,您可以使用視頻雲庫中的視頻創建播放器。而不是使用media
JSON數據部分中,您可以使用video_cloud
部分。下面的 curl 語句顯示了使用視頻雲視頻 ID 的播放器創建。
curl \
--header "Content-Type: application/json" \
--user $EMAIL \
--request POST \
--data '{
"name": "Video Cloud CURL 10 March",
"configuration": {
"video_cloud": {
"video": "4093372393001"
}
}
}' \
https://players.api.brightcove.com/v2/accounts/{account_id}/players
從邏輯上講,該響應等效於使用以下命令創建播放器時的響應媒體/來源/ src如上圖所示。
{
"id": "HJyMlHiuZ",
"url": "https://players.brightcove.net/1507807800001/HJyMlHiuZ_default/index.html",
"embed_code": "<iframe src="//players.brightcove.net/1507807800001/HJyMlHiuZ_default/index.html" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe>",
"embed_in_page": "https://players.brightcove.net/1507807800001/HJyMlHiuZ_default/in_page.embed",
"preview_url": "https://preview-players.brightcove.net/v1/accounts/1507807800001/players/HJyMlHiuZ/preview/embeds/default/master/index.html",
"preview_embed_code": "<iframe src="//preview-players.brightcove.net/v1/accounts/1507807800001/players/HJyMlHiuZ/preview/embeds/default/master/index.html" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen=""></iframe>"
}
您可以瀏覽返回的URL值並更改index.html至config.json。對於由上面的curl語句創建的播放器,您將看到以下內容:
{
"account_id": "1507807800001",
"compatibility": true,
"embed_id": "default",
"player": {
"template": {
"name": "single-video-template",
"version": "6.5.0"
}
},
"player_id": "HJyMlHiuZ",
"player_name": "Video Cloud CURL 10 March",
"updated_at": "2017-08-23T17:48:55.622Z",
"video_cloud": {
"policy_key": "BCpkADawqM2FnBS3InxzDxU4bd4otJdHKvexlXfhs_XgSj3jmBHAsV2xANIvSPd4KiakMbiQM5oYJPopOcJD7vNnPWGPGsnXCO3_ZGdjPmur53WV_a4JUPWHCLt5oiyekN44i24jZzHMB6hT",
"video": "4093372393001"
}
}
的policy_key
會自動添加到播放器的配置中。這是使用Policy API創建的,它將允許對播放器進行特殊限制以訪問不同的視頻。換句話說,策略密鑰控制何時可以觀看哪些視頻。
更新玩家
現在,您已經執行了創建播放器的基本操作。接下來,您將學習如何對播放器進行簡單的更新。在這種情況下,如果瀏覽器允許,您將設置播放器以在播放器中自動播放視頻。
- 在播放器創建返回的JSON中,
id
值已顯示。複製到一個PLAYER_ID
環境變量。export PLAYER_ID=YourPlayerID
- 要更新播放器,您將使用HTTP
PATCH
方法。您將發送數據以更新播放器。您將設置autoplay
選擇true
。複製並粘貼以下curl語句並執行它。curl \ --header "Content-Type: application/json" \ --user $EMAIL \ --request PATCH \ --data '{ "autoplay": true }' \ https://players.api.brightcove.com/v2/accounts/{account_id}/players/{player_id}/configuration
- 檢查以確保服務器返回的數據包括
id
,preview_url
和preview_embed_code
以下JSON格式的值:{ "id": "S1qN4xeG7", "preview_url": "https://preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/index.html", "preview_embed_in_page": "https://preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/in_page.embed", "preview_embed_code": "<iframe src='//preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>" }
- 使用
preview_url
要么preview_embed_code
值以查看播放器配置中的更改。您將看到自動播放為真。 - 現在,您將發布播放器以將其推到正確的位置,以供用戶查看。輸入下列指令:
curl \ --header "Content-Type: application/json" \ --user $EMAIL \ --request POST \ https://players.api.brightcove.com/v2/accounts/{account_id}/players/{player_id}/publish
播放器發布後,您將擁有與預覽版本不同的播放器。發布版本與預覽版本在以下方面有所不同:
- 將JavaScript和CSS縮小,連接並直接內嵌到播放器中。
- 生成海報圖像的低分辨率版本,並將其內嵌到頁面中,以改善請求建立時間較長的網絡(即蜂窩數據網絡)上的感知加載時間。
- 保存播放器的先前版本,以便在更新生效後發現問題時可以將其恢復。
- 檢查以確保來自發布播放器的JSON響應如下所示:
{ "id": "S1qN4xeG7", "url": "https://players.brightcove.net/1507807800001/S1qN4xeG7_default/index.html", "embed_code": "<iframe src='//players.brightcove.net/1507807800001/S1qN4xeG7_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>", "embed_in_page": "https://players.brightcove.net/1507807800001/S1qN4xeG7_default/in_page.embed" }
- 使用播放器實現之一來確保您發布的播放器正常運行。
自定義玩家
您可以使用插件自定義播放器。您可以了解如何在播放器中包含預先存在的插件,或在播放器中構建自己的插件。一步步:外掛程式開發。
在這種情況下,您將使用一個非常簡單的預先存在的插件在視頻上覆蓋一條短信。以下是創建HTML段落標籤的插件的代碼。注意:將一個類名和文本分配給該段落,然後將其附加到現有播放器上。為方便起見,該插件已存在,位於//solutions.brightcove.com/bcls/video-js/new-player/first-plugin.js。
videojs.registerPlugin('firstPlugin', function() {
var player = this,
overlay = document.createElement('p');
overlay.className = 'vjs-overlay';
overlay.innerHTML = "First Plugin Working!";
player.el().appendChild(overlay);
});
在此特定情況下,需要對段落進行樣式設置,以防止黑色背景上的黑色文本。以下是應用於段落的類名的樣式。為方便起見,此樣式表已存在,位於//solutions.brightcove.com/bcls/video-js/new-player/first-plugin.css。
.vjs-overlay {
background-color: #333333;
color: white;
font-size: 2em;
padding: 5px;
position: absolute;
top: 100px;
left: 20px;
width: 150px;
}
就像您使用curl語句分配視頻源和海報圖像一樣,您將使用curl語句告訴播放器以下內容:
- 包含插件代碼的JavaScript文件的位置
- 樣式表的位置
- 播放器要使用的插件名稱
- 使用以下curl語句使插件起作用。
curl\ --header "Content-Type: application/json"\ --user $EMAIL\ --request PATCH\ --data '{ "scripts": [ "//solutions.brightcove.com/bcls/video-js/new-player/first-plugin.js" ], "stylesheets": [ "//solutions.brightcove.com/bcls/video-js/new-player/first-plugin.css" ], "plugins": [{ "name": "firstPlugin" }] }'\ https: //players.api.brightcove.com/v2/accounts/{account_id}/players/{player_id}/configuration
- 使用以下curl語句發布更新的播放器。這與您在上一節中發布播放器所使用的發布代碼相同。
curl \ --header "Content-Type: application/json" \ --user $EMAIL \ --request POST \ https://players.api.brightcove.com/v2/accounts/{account_id}/players/{player_id}/publish
- 複製返回的URL並瀏覽。您將看到該插件正在運行,並且顯示了插件文本。
當使用Player Management API將插件添加到播放器時,無論是Brightcove提供的插件還是您已構建的自定義插件,該插件都將成為播放器代碼本身的一部分。
顯示配置
要調試和確認已完成的工作,查看播放器的配置通常會很有幫助。
- 為此,請使用
GET
的方法configuration
網址。curl \ --header "Content-Type: application/json" \ --user $EMAIL \ --request GET \ https://players.api.brightcove.com/v2/accounts/{account_id}/players/{player_id}/configuration
- 檢查以確保JSON配置響應類似於以下內容:
{ "media": { "poster": { "highres": "//solutions.brightcove.com/bcls/assets/images/Tiger.jpg" }, "sources": [{ "type": "application/x-mpegURL", "src": "//solutions.brightcove.com/bcls/assets/videos/Tiger.m3u8" }, { "type": "video/mp4", "src": "//solutions.brightcove.com/bcls/assets/videos/Tiger.mp4" }] }, "compatibility": true, "video_cloud": { "video": "4093372393001", "policy_key": "BCpkADawqM3ugPRAtcx48_C4FjXiEiJORcRFnXkeL9siQUpauO_o7SaIhSnYvM24nUCeD74UFG1LMW8vtmaftsO1vYeeOn2iglfvEbG-c0PYwJ_zQCQGsvkrbgrNyEDvbEKjyrsQVXj0DOco" }, "player": { "template": { "name": "single-video-template", "version": "6.7.0" } }, "scripts": ["//solutions.brightcove.com/bcls/video-js/new-player/first-plugin.js"], "stylesheets": ["//solutions.brightcove.com/bcls/video-js/new-player/first-plugin.css"], "plugins": [{ "name": "firstPlugin" }] }
查看播放器配置的另一種方法是瀏覽返回的URL值並更改index.html至config.json。
投放系統API
交付系統API允許管理和部署一組稱為存儲庫的文件。這些文件通過REST API和git管理。大多數人在創建或編輯播放器時都不需要使用這些API,但是它們可能是一組非常有趣的API,可用於其他目的。如果您想嘗試一下,可以在這裡做。有關動手操作的介紹,請嘗試逐步:輸送系統文件。