在本主題中,您將學習如何使用Dynamic Ingest API上傳和管理視頻內容。
API功能
Brightcove的動態提取(DI)API基於以下功能:從客戶的存儲位置下載視頻源文件,並創建源文件的指定格式。(也有一個選項可以將來源檔案上傳至「動態內嵌」可以存取這些檔案的暫存位置)。該平台以雲端為中心,全球分佈,並以現代化實務為基礎,以提供同級最佳的一致性和速度。
工作流程概述
一些系統/技術用於媒體的整體轉碼和存儲。它們是:
- 內容管理系統(CMS)API:建立要在 DI API 中使用的視訊物件
- 禪編碼器:將視訊轉碼建立多個轉譯
- 亞馬遜 S3 :根據設定檔設定,將主節目和轉譯移至儲存裝置
- 目錄:儲存與視訊相關聯的必要資訊
初始轉碼後,您可以在媒體上執行下列動作:
- 重新轉碼:當主節目存在時建立新轉譯 (如果主節目不存在,則會發生錯誤)
- 取代:指向新主版,或取代現有主版
作業
當您使用 DI API 時,您將執行不同的操作,例如讀取內嵌設定檔和寫入資訊到您的帳戶。以下是 DI 工作所需的完整作業清單:
- 視頻雲/視頻/創建
- 視頻雲/視頻/閱讀
- 視頻雲/視頻/更新
- 視訊雲端/內部設定檔/設定檔/讀取
- 視訊雲端/內部設定檔/帳號/讀取
- 視訊雲端/內部設定檔/帳號/寫入
- 視訊雲端/內部設定檔/設定檔/寫入
- 視訊雲端/上傳網格/讀取
若要取得用戶端認證,請使用 Studio 系統管理員工具,或查看下列其中一個文件:
最佳實務
有效的來源位置
動態內嵌可以從下列位置提取來源視訊檔案:HTTP / HTTPS或S3-帶有或不帶有身份驗證
範例:
- http://example.com/path/to/input.avi
- https://dl.dropboxusercontent.com/u/3641457/Bird_Titmouse.mp4
- S3: //my-bucket/video.mp4
關於 S3 的注意事項
如果您的視訊位於受保護的 S3 儲存貯體中,請參閱搭配 S3 使用動態內嵌,以取得如何設定動態內嵌以存取檔案的權限的詳細資訊。
使用基於拉取的攝取的優點包括更簡單的工作流程以及擁有自己的數字母版的存儲庫。但是,如果這不是您的選擇,則也可以使用源文件上傳將您的視頻和其他資產上傳到Dynamic Ingest可以訪問它們的臨時位置。
來源檔案名稱
當發送到布萊特灣時,所有輸入的網址必須根據 RFC 3986 正確編碼。這意味著在 url 路徑中找到的任何保留字符都是百分比編碼(空格被編碼為%20
),並且在 url 查詢中找到的任何保留字符都被百分比編碼(空格被編碼為+
或%20
,並+
被編碼為%2B
)。
預先簽署的 S3( v2 包含簽名,過期和 AWS 訪問密鑰 ID , v4 包含 X-AMZ 算法、 X-AMZ 認證、 X AMZ 日期、 X AMZ 過期、 X-AMZ 簽名標頭和 X-AMZ 簽名 ) 或 GCS (包含簽名,過期和 GoogleD)網址應該已經正確編碼,並且可以按原樣使用。
擷取視訊
攝取視頻需要兩個API調用:
- 呼叫CMS API以在視訊雲端系統中建立視訊物件,並取得其 ID
- 調用DI API以提供視頻源文件的URL並指定攝取個人資料要使用的
基本要求的範例集如下所示:
CMS 應用程式介面請求
- HTTP 方法
- 開機自檢
- 請求網址
- https://cms.api.brightcove.com/v1/accounts/{account_id}/videos
- 要求主體
-
{ "name": "My new video" }
響應數據將包括視頻id
,這是用於下一個請求。
內嵌 API 請求
- HTTP 方法
- 開機自檢
- 請求網址
- https://ingest.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/ingest-requests
- 要求主體
-
{ "master": { "url": "http://host/master.mp4" }, "profile": "high-resolution" }
見快速開始有關API調用的詳細信息,您還可以看到一個工作樣本。
對於CMS API調用以在Video Cloud系統中創建視頻,請參閱CMS API概述。請注意,視訊name
是必要的,而且視訊中繼資料 (例如description
) 所包含的名稱和任何其他字串都必須是 URI 編碼。
資產範例
Brightcove 學習服務提供一些範例資產,您可以用來實驗開始使用動態擷取。這些資產包括多種語言的短片、影像和 WebVTT 字幕:
取代視訊
要用新版本或一組新的轉譯替換視頻,Dynamic Ingest API調用與攝取新視頻的調用完全相同-唯一的區別是,您不需要事先調用CMS API,在 Video Cloud 系統中建立視訊物件,並取得它的 ID。如果指定URL上的源視頻文件與最初提取的源視頻文件相同,則您將僅獲得一組新的再現。如果源文件是新文件,則將替換現有視頻。在重新轉碼完成之前,所有視訊都可以在現有的轉譯中繼續播放。
請參閱此處的工作範例。
重新轉換影片
如果您選擇存檔大師當您通過Dynamic Ingest API或Studio上傳模塊,那麼您也可以重新轉換主視頻。同樣,內嵌請求的 URL 將是相同的,但請求主體將具有以下內容:
// request
POST /v1/accounts/{account_id}/videos/{video_id}/ingest-requests
// request body
{
"master": { "use_archived_master": true },
"profile": "videocloud-default-v1"
}
影像
您可以使用Dynamic Ingest API從視頻中捕獲海報和縮略圖圖像,或添加自己的圖像。有關詳細信息,請參見圖片和Dynamic Ingest API。
攝取字幕
您還可以將WebVTT字幕添加到視頻中,或使用Dynamic Ingest為現有視頻上傳它們。有關詳細信息,請參見提取WebVTT文件。
DRM和HLSe
Dynamic Ingest可處理使用Brightcove支持的任何DRM類型的視頻。還支持HLSe。
存檔渲染
默認情況下,所有視頻和圖像片段都會自動存檔。如果您想關閉移交存檔,聯繫Brightcove支持。注意數字大師如果在攝取配置文件中指定,則將存檔。
通知
您可以指定一個或多個回調URL,以接收有關提取過程結果的通知。您指定的 URL 應該適用於應用程序,而不是可以接受 POST 請求。通知將以 JSON 格式發送。
有關接收和解釋通知的詳細信息,請參見通知:動態提取和CMS API