為實時流安排剪輯生成

使用剪輯端點,您可以安排現有實時作業的剪輯事件。在指定的時間,我們的系統將進行必要的 API 調用以代表您啟動剪輯作業。

需求

  • 您帳戶的實時 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_timeoutput.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視頻源將使用攝取的剪輯進行更新。

更新剪輯調度程序工作流程

您可以同時更新outputtime_utc你的剪輯。這些只能在作業處於掛起狀態時更新:"state": "pending" .

按照前面的示例,我們希望剪輯比計劃短 5 分鐘。更新時output字段,您必須提供完整的對象,而不僅僅是所做的更改。這包括上面的創建調用返回的 Videocloud 視頻 ID。

請注意,在此示例中,我們同時更新了end_timetime_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
		}
	}