SubmitMediaProducingJob 介面主要用於提交一個媒體剪輯合成任務。當使用者需要對影片或音訊素材進行剪輯、合成或其他形式的後期製作時,可以透過呼叫此 API 介面來實現自動化處理。
介面說明
-
計費說明:影片剪輯按照剪輯合成的成片時長計費,詳情請參見影片剪輯。若處理失敗,不收取費用。
-
多樣化剪輯能力:當您需要將素材按照個人化創意進行編排和設計時,您需要呼叫該介面,該介面支援透過靈活的 Timeline 配置,實現複雜的影片剪輯需求。
-
素材引用規則:雲端剪輯時間線中引用的素材,既可以是素材庫中的媒資,也可以直接引用 OSS 檔案,暫不支援外部位址或 CDN 位址。當素材為 OSS 檔案時,MediaUrl 僅支援 OSS 位址格式,如:https://your-bucket.oss-region-name.aliyuncs.com/your-object.ext。
-
非同步執行任務:- 該介面為非同步任務,提交任務後返回任務 ID(此時任務尚未完成,任務將進入後台排隊非同步執行),最終結果將透過回呼通知,也可透過查詢剪輯合成作業主動查詢任務狀態。
-
任務狀態查詢:
-
呼叫查詢剪輯合成作業,透過傳入 JobId 查詢任務狀態和結果。
-
在提交剪輯合成作業時,您可以在請求參數中設定 UserData,將其包含回呼位址。當剪輯任務完成或失敗時,系統會向該回呼位址發送通知,您可以透過處理回呼資料來了解任務的狀態。
-
-
媒資註冊與分析:影片合成完成後,會自動註冊媒資,此時媒資還是分析中狀態,當媒資分析完成後,可以根據 MediaId 獲取成片時長及解析度資訊。
使用限制
-
該介面的流量控制值為 30 QPS(每秒提交任務的請求數)。提交的任務會進入後台排隊,以非同步方式處理。
說明如果超出此限制,可能會遇到 "Throttling.User" 錯誤。詳情請參見:提交剪輯任務時遇到「Throttling.User」錯誤。
-
提交大量任務(如 1000 條、10000 條)時,系統會動態擴容,但可能會有一定排隊時間。
-
影片軌、圖片軌、字幕軌的軌道數每種均限制最多 100 個。
-
素材個數無限制,素材檔案總大小不能超過 1 TB。
-
輸入或輸出 OSS Bucket 所在 Region,必須和使用 IMS 的 Region 保持一致。
-
當輸出為影片時,成片解析度有以下限制:
寬高都不能小於 128 px。
寬高都不能大於 4096 px。
短邊不能大於 2160 px。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
ice:SubmitMediaProducingJob |
*全部資源。
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| ProjectId |
string |
否 |
剪輯工程 ID。您可呼叫 CreateEditingProject 介面建立剪輯工程,並獲取 ProjectId 提交剪輯任務。 重要 必須填寫 ProjectId、Timeline、TemplateId 三個參數中的一個,剩餘兩個參數填寫為空。 |
xxxxxfb2101cb318xxxxx |
| Timeline |
string |
否 |
雲端剪輯任務時間線,當您需要將素材按照影片創意進行編排和特效設計時,可以手動構建 Timeline 參數。
重要 必須填寫 ProjectId、Timeline、TemplateId 三個參數中的一個,剩餘兩個參數填寫為空。 |
{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"****4d7cf14dc7b83b0e801c****"},{"MediaId":"****4d7cf14dc7b83b0e801c****"}]}]} |
| TemplateId |
string |
否 |
範本 ID,用於快速低門檻地構建時間線。支援基於普通範本和進階範本的影片剪輯。
重要 必須填寫 ProjectId、Timeline、TemplateId 三個參數中的一個,剩餘兩個參數填寫為空。
|
****96e8864746a0b6f3**** |
| ClipsParam |
string |
否 |
範本對應的素材參數,JSON 格式,當 TemplateId 不為空時,ClipsParam 不能為空。具體格式見普通範本建立及使用、進階範本建立及使用。 |
See the template user guide. |
| ProjectMetadata |
string |
否 |
剪輯工程的元資料資訊,JSON 格式。具體結構定義參見 ProjectMetadata 。 |
{"Description":"Video editing description","Title":"Editing title test"} |
| OutputMediaTarget |
string |
否 |
輸出成品的目標類型。取值:
|
oss-object |
| OutputMediaConfig |
string |
是 |
輸出成品的目標配置,JSON 格式。可以設定輸出成品在 OSS 上的 URL,或者 VOD Bucket 中的儲存位置。
|
{"MediaURL":"https://example-bucket.oss-cn-shanghai.aliyuncs.com/example.mp4"} |
| UserData |
string |
否 |
自訂設定,JSON 格式,長度限制為 512 位元組。支援任務完成回呼配置。其中:
|
{"NotifyAddress":"https://xx.com/xx","RegisterMediaNotifyAddress":"https://xxx.com/xx"} |
| ClientToken |
string |
否 |
保證請求冪等性。從您的用戶端生成一個參數值,確保不同請求間該參數值唯一。ClientToken 只支援 ASCII 字元,且不能超過 64 個字元。 |
****12e8864746a0a398**** |
| Source |
string |
否 |
剪輯合成請求來源,取值範圍:
|
OPENAPI |
| EditingProduceConfig |
string |
否 |
剪輯合成參數,配置詳情請參見 EditingProduceConfig 參數詳情。 說明
EditingProduceConfig 沒有配置封面圖片時,則預設使用影片的第一幀作為封面。
|
{ "AutoRegisterInputVodMedia": "true", "OutputWebmTransparentChannel": "true" } |
| MediaMetadata |
string |
否 |
合成影片的元資料,JSON 格式。具體結構定義,請參見 MediaMetadata 。 |
{ "Title":"test-title", "Tags":"test-tags1,tags2" } |
OutputMediaConfig 參數範例
範例:輸出到 OSS
{
"MediaURL":"https://my-test-bucket.oss-cn-shanghai.aliyuncs.com/test/xxxxxtest001xxxxx.mp4",
"Bitrate": 2000,
"Width": 800,
"Height": 680
}
當輸出到 OSS 時,MediaURL 必填。OutputMediaTarget 參數預設值為 "oss-object",表示輸出到 OSS。其他參數可以選填,其中 Bitrate 用來設定輸出成片的位元率,通常位元率越高越清晰,最大可以設定到 5000。Width、Height 用來設定成片的解析度。
OSS URL 的路徑格式:https://bucketname.oss-region-name.aliyuncs.com/xxx/yyy.ext
bucketname 是 OSS Bucket 的名稱。
oss-region-name.aliyuncs.com 是 OSS 檔案的公網 Endpoint,例如上海、北京、杭州的分別是:
oss-cn-shanghai.aliyuncs.com
oss-cn-hangzhou.aliyuncs.com
oss-cn-beijing.aliyuncs.com
範例:輸出到 VOD
{
"StorageLocation": "outin-*xxxxxx7d2a3811eb83da00163exxxxxx.oss-cn-shanghai.aliyuncs.com",
"FileName": "output.mp4",
"Bitrate": 2000,
"Width": 800,
"Height": 680
}
當輸出到 VOD 時,StorageLocation 和 FileName 兩個參數必填。OutputMediaTarget 參數設定為 "vod-media",表示輸出到隨選視訊 VOD 的儲存 Bucket。隨選視訊 VOD 可以使用的儲存位置可以在 VOD 裡面上傳媒資後,在媒資的儲存位址中看到。
OutputMediaConfig 結構中的參數說明
| 屬性名 | 類型 | 描述 |
| MediaURL | String | 輸出的媒資的 URL(當 OutputMediaTarget 的目標為 oss-object 時,指定 OSS 檔案的 HTTP URL 路徑),如:http://xxx-bucket-name.oss-cn-shanghai.aliyuncs.com/OSS 跟呼叫的服務所在區域相同。 |
| StorageLocation | String | 當 OutputMediaTarget 的目標為 vod-media 時,指定 storage location 來儲存媒資到 VOD;storage location 是 VOD 中的檔案儲存位置,不包含 http:// 的前綴,如:outin-xxxxxx.oss-cn-shanghai.aliyuncs.com。 |
| FileName | String | 當 OutputMediaTarget 的目標為 vod-media 時,指定 fileName(包含檔案副檔名,不含路徑)作為輸出檔案名稱。 |
| Width | Integer | 輸出成品的寬。可以不填,預設值是多個素材的最大寬。 |
| Height | Integer | 輸出成品的高。可以不填,預設值是多個素材的最大高。 |
| Bitrate | Integer | 輸出成品的位元率,單位為 Kbps。可以不填,預設值是多個素材的最高位元率,上限為 5000。若還要保留最高素材的位元率,需要設定 EditingProduceConfig.KeepOriginMaxBitrate=true,詳情請參見 EditingProduceConfig 。 |
| VodTemplateGroupId | String | 合成成片輸出到 VOD,指定 VOD 轉碼範本群組。如不需要 VOD 轉碼,請填寫 "VOD_NO_TRANSCODE"。 |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
Schema of Response |
||
| RequestId |
string |
請求 ID。 |
****36-3C1E-4417-BDB2-1E034F**** |
| ProjectId |
string |
剪輯工程 ID。 |
****b4549d46c88681030f6e**** |
| JobId |
string |
合成作業 ID。 |
****d80e4e4044975745c14b**** |
| MediaId |
string |
合成媒資 ID。 |
****c469e944b5a856828dc2**** |
| VodMediaId |
string |
如果影片輸出的位置為 VOD 時,返回 VOD 媒資 ID。 |
****d8s4h75ci975745c14b**** |
樣本
正常返回樣本
JSON格式
{
"RequestId": "****36-3C1E-4417-BDB2-1E034F****",
"ProjectId": "****b4549d46c88681030f6e****",
"JobId": "****d80e4e4044975745c14b****",
"MediaId": "****c469e944b5a856828dc2****",
"VodMediaId": "****d8s4h75ci975745c14b****"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter \ is not valid. | |
| 404 | ProjectNotFound | The specified project not found |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。