需求
- 您帳戶的實時 API 密鑰。
- 您的真實賬戶必須啟用調度程序覆蓋。
創建剪輯調度程序工作流程
創建剪輯時,您必須同時指定剪輯時間邊界(在output
字段)和預定時間(time_utc
字段)發出剪輯請求。
這output
請求正文中的字段支持所有相同的字段outputs
標準 VOD 端點中的字段。但是, 預定剪輯僅支持單個輸出而不是列表。有關可用字段的詳細信息,請參閱 VOD 剪輯支持文檔 。
通常,您會設置time_utc
以匹配剪輯的結束邊界。預定時間 必須 在剪輯的結束邊界之後,否則剪輯請求將在預定時間失敗。
的時間戳time_utc
字段必須採用 UTC 格式,格式為 unix 時間戳(以秒為單位)。您可以使用 https://www.unixtimestamp.com/ 進行轉換。
假設我們要安排一個 15 分鐘的剪輯,該剪輯將從2021-02-09T13:55:00+00:00
.我們可以使用output.start_time
和output.end_time
將我們的剪輯邊界指定為 unix 時間(以秒為單位)。(同樣,有關可用字段的詳細信息,請參閱 VOD 剪輯支持文檔 )。
start_time:
2021-02-09T13:55:00+00:00 = 1612878900
end_time:
2021-02-09T14:10:00+00:00 = 1612879800
由於調度程序也需要時間來安排剪輯請求,我們可以使用與end_time
因為它也是以秒為單位的 unix 時間。
我們還想為剪輯創建一個 Videocloud 視頻,因此我們將其包含在output
.在安排工作流時將創建一個 Videocloud 視頻,其 ID 將在響應中返回,以便您可以在製作剪輯之前知道視頻 ID。如果您稍後取消剪輯請求或在預定時間失敗,則 Videocloud 視頻不會從您的帳戶中刪除。
請求
要創建工作流,請執行以下操作POST
要求:
https://api.bcovlive.io/v1/scheduler/clip
標頭
Content-Type: application/json
X-API-KEY: your API Key
要求主體
{
"job_id": "your Job ID",
"description": "My Scheduled Clip",
"clip": {
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879800,
"videocloud": {
"video": {
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879800
}
}
範例回應
{
"account_id": "your Account ID",
"description": "My Tuesday Clip",
"type": "clip",
"job_id": "your Job ID",
"clip": {
"state": "pending",
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879800,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879800
}
"workflow_id": "d44cf29f4f184757ac0995beb8a0097e",
}
注意clip.output.videocloud.video.id
包含新創建的 Videocloud Video 的 ID。在time_utc
視頻源將使用攝取的剪輯進行更新。
更新剪輯調度程序工作流程
您可以同時更新output
和time_utc
你的剪輯。這些只能在作業處於掛起狀態時更新:"state": "pending"
.
按照前面的示例,我們希望剪輯比計劃短 5 分鐘。更新時output
字段,您必須提供完整的對象,而不僅僅是所做的更改。這包括上面的創建調用返回的 Videocloud 視頻 ID。
請注意,在此示例中,我們同時更新了end_time
和time_utc
以反映 5 分鐘的減少。
請求
要更新工作流程,請執行以下操作PUT
要求:
https://api.bcovlive.io/v1/scheduler/clip/{workflow_id}
標頭
Content-Type: application/json
X-API-KEY: your API Key
要求主體
{
"clip": {
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879500,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879500
}
}
範例回應
{
"account_id": "your Account ID",
"description": "My Tuesday Clip",
"type": "clip",
"job_id": "your Job ID",
"clip": {
"state": "pending",
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879500,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879500
}
"workflow_id": "d44cf29f4f184757ac0995beb8a0097e",
}
取消剪輯調度程序工作流程
您可以使用DELETE
要求。
請注意,在取消 Clip 工作流程時,後端 不會 刪除在安排時創建的任何 Videocloud 視頻。您必須手動從您的 Videocloud 帳戶中刪除孤立的視頻。
請求
要更新工作流程,請執行以下操作DELETE
要求:
https://api.bcovlive.io/v1/scheduler/clip/{workflow_id}
標頭
X-API-KEY:您的 API 密鑰要求主體
此請求沒有請求正文。
範例回應
{
"account_id": "your Account ID",
"description": "My Tuesday Clip",
"type": "clip",
"job_id": "your Job ID",
"clip": {
"state": "cancelled",
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879500,
"videocloud": {
"video": {
"id": "70702010152202",
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879500
}
"workflow_id": "d44cf29f4f184757ac0995beb8a0097e",
}
通知
您可以選擇在創建工作流時配置通知。您需要為我們的服務提供一個 URL POST
到。當調度程序調用剪輯時,我們將發送通知。您還可以配置為接收通知n
剪輯前幾秒。有關詳細信息,請參閱 實時調度程序通知 。
請求主體範例
{
"job_id": "your Job ID",
"description": "My Scheduled Clip",
"notification_url": "https://example.com/live/clip/callbacks",
"clip": {
"output": {
"label": "My Scheduled Clip",
"start_time": 1612878900,
"end_time": 1612879800,
"videocloud": {
"video": {
"name": "My Scheduled Clip"
}
}
},
"time_utc": 1612879800,
"notification": 600
}
}