簡介
在本分步指南中,您將執行以下任務:
- 創建一個 player
- 更新 player 自動播放視頻
- 自定義一個 player 通過添加插件
- 顯示配置 player
開始
本分步指南所採用的方法是使用curl語句與 Player 服務API。 在命令行中使用curl工具,以使用URL語法傳輸數據。 有關捲曲的更多信息,請參見 http://curl.haxx.se.
為了簡單起見,您當然不必像本分步指南中那樣使用curl。 當然,您可以使用自己喜歡的語言與API進行通信。 看看 設置為 Player 管理樣本 演示瞭如何使用基本身份驗證,AJAX和JavaScript編寫一些用於實現基本任務(例如創建 player,顯示所有 players,刪除 players等
開始使用API之前,需要採取一些初步步驟。 這些是:
- 登錄到Studio。 如果您有多個帳戶,請使用下拉菜單選擇要在其中創建新帳戶的帳戶 players。 為了使憑據系統正常運行,您需要對此帳戶擁有管理員權限。 如果不確定用戶是否具有管理員權限,請轉到“用戶設置”頁面以查看列出的用戶及其角色。
- 在Studio中,請確保已選擇 首頁 從模塊列表中。 您可以在頁面左上角的帳戶名稱下方,複製您的 帳戶ID.
- 在命令行中,輸入以下內容以將“帳戶ID”值分配給環境變量:
export ACCOUNT_ID=YourAccountID
- 身份驗證將通過在curl語句中提供您的帳戶電子郵件地址來處理,然後API會提示您輸入密碼。 由於電子郵件地址將被頻繁使用,因此也請將該值分配給環境變量:
export EMAIL=YourEmailAddress
現在,您可以開始使用API了。
創建一個 player
您現在可以創建一個 player 致電 Player Management API。 該API調用將在 Player Management API 概述 文獻。 建議您將以下curl語句複製並粘貼到命令行。
以下步驟可幫助您創建一個 player.
- 第一個curl語句創建 player 並分配名稱和描述。 在命令行上粘貼此語句後,按 Enter,系統將提示您輸入密碼。
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": "http://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": "http://players.brightcove.net/1507807800001/S1qN4xeG7_default/in_page.embed", "preview_url": "http://preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/index.html", "preview_embed_in_page": "http://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>" }
- 查看你的 player 通過使用以下一個(或全部)值(此時, player,但是您可以使用新創建的視頻發布視頻 player 使用Studio):
- 複製
url
進入瀏覽器以查看您的 player. - 複製
embed_code
進入HTML頁面以查看您的 player 在iframe中。 為了使其正常運行,必須從實際的HTTP服務器提供包含iframe的頁面。 -
embed_in_page
該功能的使用方法在 高級(頁內)嵌入代碼的可用選項 文件。
- 複製
Video Cloud 視頻
當然可以創建一個 player 使用您的視頻 Video Cloud 圖書館。 而不是使用 media
JSON數據部分中,您可以使用 video_cloud
部分。 下面的curl語句顯示 player 使用創建 Video Cloud 視頻的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
從邏輯上講,該響應與創建 player 運用 媒體/來源/ src 如上所示。
{
"id": "HJyMlHiuZ",
"url": "http://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": "http://players.brightcove.net/1507807800001/HJyMlHiuZ_default/in_page.embed",
"preview_url": "http://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>"
}
你可以看到 player的配置,方法是瀏覽返回的URL值並更改 的index.html 至 config.json。 為了 player 由上面的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
自動添加到 player的配置。 這是使用 Policy API,這將對您的廣告設置特殊的限制 player 用於訪問不同的視頻。 換句話說,策略密鑰控制何時可以觀看哪些視頻。
更新一個 player
您現在已經執行了創建 player。 接下來,您將學習如何對 player。 在這種情況下,您將設置 player 自動播放視頻 player,如果瀏覽器允許。
- 在從中返回的JSON中 player 創建一個
id
值已顯示。 複製到一個PLAYER_ID
環境變量。export PLAYER_ID=YourPlayerID
- 要更新 player 您將使用HTTP
PATCH
方法。 您將發送數據以更新您的 player。 您將設置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": "http://preview-players.brightcove.net/v2/accounts/1507807800001/players/S1qN4xeG7/preview/embeds/default/master/index.html", "preview_embed_in_page": "http://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
orpreview_embed_code
值以查看您的更改 player的配置。 您會看到自動播放現在是正確的。 - 現在,您將發布 player 將其推到正確的位置以供用戶查看。 輸入以下命令:
curl \ --header "Content-Type: application/json" \ --user $EMAIL \ --request POST \ https://players.api.brightcove.com/v2/accounts/$ACCOUNT_ID/players/$PLAYER_ID/publish
一旦 player 發表,你將有 player與預覽版本不同的。 發布版本與預覽版本在以下方面有所不同:
- 將JavaScript和CSS縮小,連接並內聯到 player 直。
- 生成海報圖像的低分辨率版本,並將其內嵌到頁面中,以提高請求建立時間較長的網絡(即蜂窩數據網絡)上的感知加載時間。
- 以前的版本 player 保存,以便在更新進行後發現問題時可以恢復 live.
- 檢查以確保發布的JSON響應 player 出現如下:
{ "id": "S1qN4xeG7", "url": "http://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": "http://players.brightcove.net/1507807800001/S1qN4xeG7_default/in_page.embed" }
- 使用其中之一 player 實現以確保您發布 player 運行正常。
自定義一個 player
你可以自定義你的 player 使用插件。 您可以學習如何在您的插件中包含預先存在的插件 player 或在 分步指南:插件開發.
在這種情況下,您將使用一個非常簡單的預先存在的插件在視頻上覆蓋一條短信。 以下是創建HTML段落標籤的插件的代碼。 注意:將一個類名和文本分配給該段落,然後將其附加到現有的 player。 為方便起見,該插件已存在,位於 //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語句告訴 player 執行以下操作:
- 包含插件代碼的JavaScript文件的位置
- 樣式表的位置
- 要用於的插件名稱 player
- 使用以下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語句發布更新的 player。 這與您在上一節中使用的發布代碼相同 player.
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 使用 Player Management API,無論是Brightcove提供的插件還是您已構建的自定義插件,該插件都將成為 player 代碼本身。
顯示配置
要調試並確認您已完成的工作,查看 player的配置。
- 為此,請使用
GET
的方法configuration
URL。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" }] }
另一種看待 player的配置是通過瀏覽返回的URL值並更改 的index.html 至 config.json.
Delivery system APIs
Delivery System API允許管理和部署一組文件,稱為存儲庫。 這些文件通過REST API和git管理。 大多數人在創建或編輯時都不需要使用這些API player,但它們可能是一組非常有趣的API,可用於其他目的。 如果您想嘗試一下,可以 在這裡做。 有關動手操作的介紹,請嘗試 逐步操作:Delivery系統 文件。