簡介
快速發佈可讓您使用 CAE,並透過建立一或多個可立即播放的臨時節目,盡快取得線上影片。然後,將滿足以下條件:
- 一旦有動態再現,就將使用它們而不是臨時再現進行播放
- 在處理完所有動態再現後的某個時間點,臨時再現將被自動刪除。
需求
為了使用快速發布,您必須:
自定義配置文件,可快速發布
創建啟用了快速發布的自定義配置文件非常簡單。它看起來像一個常規的 CAE 配置文件,有一個區別:除了renditions
數組之外,dynamic_origin
對象還將包含一個包含一個或多個快速發布轉譯的temporary_renditions
數組。
快速發佈轉譯由名稱指定,且必須來自下列清單 ( 視訊或音訊後面的數字是節目的目標位元速率)。如果願意,您可以在視頻再現之外還包括純音頻再現。
由於快速發布的目的是使演繹盡可能快地可供播放,因此對於至少一個臨時演繹,使用低到中檔的比特率可能是有意義的。
創建自定義配置文件的步驟
以下是使用一個臨時副本創建自定義快速發布配置文件的步驟。在以下步驟中,我們將使用標multi-platform-standard-dynamic
準設定檔做為自訂描述檔的基礎,但您可以使用任何 CAE設定檔。
獲取Ingest Profiles API的客戶端憑據
- 登錄 Studio 並轉到API 認證部分在管理員下(您必須是管理員或在帳戶上獲得管理員才能執行此操作)
- 按一下「註冊新應用程式」以建立新的用戶端認證集。
- 為認證選取適當的帳戶,並至少選取下列權限:
- 保存客戶端 ID和客戶密碼,因為您將需要它們以後的步驟。
為自定義配置文件創建JSON
- 將下面的 JSON(用於多平台標準動態配置文件)複製到文本編輯器中:
{ "name": "multi-platform-standard-dynamic", "display_name": "Multiplatform Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": YOUR_ACCOUNT_ID, "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }
- 更改以下值:
name
:“多平台標準動態快速發布”display_name
:“快速發布標準(CAE)”account_id
:“ YOUR_ACCOUNT_ID”
- 在
dynamic_origin>renditions
數組之後,添加以下數組:"temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ]
- 您的自定義配置文件的完整JSON現在應如下所示:
{ "name": "multi-platform-standard-dynamic-fast-publish", "display_name": "Fast Publish Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": "account_id", "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }
將自定義配置文件添加到您的帳戶
現在,我們將使用Ingest Profiles API將自定義配置文件添加到您的帳戶。
獲取訪問令牌
每個API請求都需要使用訪問令牌進行身份驗證(您將在後面的步驟中確切看到操作方式)。
- 你將需要獲取訪問令牌從:
https://oauth.brightcove.com/v4/access_token
- 如果您使用的是失眠或 Postman,則可以使用鏈接文檔中的說明設置 OAuth2 身份驗證,讓它們為您獲取訪問令牌。
- 如果您使用 cURL,這裡
ENCODED_AUTHENTICATION_STRING
有一個 cURL 命令,您可以用來獲取訪問令牌-您將需要替換為由您的client_id:client_secret:
curl --request POST \ --url 'https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials' \ --header 'Authorization: Basic ENCODED_AUTHENTICATION_STRING' \ --header 'Content-Type: application/x-www-form-urlencoded'
- 請注意,訪問令牌會在5分鐘後過期-如果發生這種情況,只需獲取一個新令牌(失眠將在需要時自動為您提供一個)。
添加自定義攝取配置文件
- 如果您正在使用失眠或郵差,請設置新的 POST 請求:
https://ingestion.api.brightcove.com/v1/accounts/account_id/profiles
請求主體將是您先前創建的自定義配置文件的JSON。
包括一個
Content-Type: application/json
標題根據使用失眠或郵遞員指南中的說明設置OAuth2身份驗證。
- 如果使用的是cURL,則可以使用以下請求,將account_id替換為自己的訪問令牌值:
curl --request POST \ --url https://ingestion.api.brightcove.com/v1/accounts/57838016001/profiles \ --header 'authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --data '{ "name": "multi-platform-standard-dynamic-fast-publish", "display_name": "Fast Publish Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": "YOUR_ACCOUNT_ID", "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }'
- 發送請求後,您應該看到您的新個人資料在響應中回顯給您。
通知
建立快速發佈暫時轉譯時,您會收到DYNAMIC_RENDITION
「CREATE」通知,就像您對一般節目所做的一樣:
{
"entity": "contextAwareEncoding5",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "413a9938-6d73-478c-b4d9-fdeb45927a4b",
"videoId": "5600255921001",
"dynamicRenditionId": "contextAwareEncoding5",
"bitrate": 364,
"width": 512,
"height": 384,
"accountId": "1910141566001",
"status": "SUCCESS"
}
刪除臨時移交後,將發送新的通知:
{
"entity": "fastpublishRendition1",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "DELETE",
"jobId": "413a9938-6d73-478c-b4d9-fdeb45927a4b",
"videoId": "5600255921001",
"dynamicRenditionId": "fastpublishRendition1",
"accountId": "1910141566001",
"status": "SUCCESS"
}