メディア編集および合成タスクをコミットします。動画や音声素材に対して編集、合成、その他の投稿制作処理を実行する必要がある場合、この API オペレーションを呼び出してプロセスを自動化できます。
操作説明
-
課金: ビデオクリップ編集は、生成された動画の持続時間に基づいて課金されます。詳細については、「ビデオクリップ」をご参照ください。失敗したタスクには料金が発生しません。
-
多様な編集機能: クリエイティブなアイデアに基づいて素材を配置・デザインする必要がある場合に、この操作を呼び出します。この操作は柔軟な タイムライン構成 をサポートしており、複雑なビデオクリップ編集要件に対応できます。
-
素材リファレンスルール: クラウド編集タイムラインでリファレンスされる素材は、メディア ライブラリ内のメディアアセットまたは OSS ファイルです。外部 URL や CDN URL はサポートされていません。素材が OSS ファイルの場合、MediaUrl は OSS URL フォーマット(例: https://your-bucket.oss-region-name.aliyuncs.com/your-object.ext)のみをサポートします。
-
非同期タスク実行: この操作は非同期タスクです。タスクをコミットすると、タスク ID が返されます(タスクはまだ完了しておらず、非同期実行のためにバックグラウンドキューに入ります)。最終結果はコールバック通知を通じて送信されます。 GetMediaProducingJob を呼び出して、タスクのステータスを能動的にクエリすることもできます。
-
タスクステータスのクエリ:
-
GetMediaProducingJob を呼び出し、JobId を渡してタスクのステータスと結果をクエリします。
-
メディア制作タスクをコミットする際、リクエストパラメーターに UserData を設定してコールバック URL を含めることができます。編集タスクが完了または失敗すると、システムはコールバック URL に通知を送信します。コールバックデータを処理してタスクのステータスを取得できます。
-
-
メディアアセットの登録と分析: 動画合成が完了すると、メディアアセットが自動的に登録されます。このポイントでは、メディアアセットはまだ分析中の状態です。分析が完了すると、MediaId に基づいて生成された動画の持続時間と解像度を取得できます。
使用制限
-
この操作の速度制限は 30 QPS(タスク送信の秒間リクエスト数)です。送信されたタスクはバックグラウンドキューに入り、非同期でプロセスされます。
説明この制限を超えると、「Throttling.User」エラーが発生する可能性があります。詳細については、「編集タスク送信時の Throttling.User エラー」をご参照ください。
-
large な数のタスク(1,000 や 10,000 など)を送信する場合、システムは動的にスケールアップしますが、キューイング時間が発生する可能性があります。
-
ビデオトラック、イメージトラック、字幕トラックの最大値トラック数はそれぞれ 100 です。
-
素材の数に制限はありませんが、すべての素材の合計ファイルサイズは 1 TB を超えることはできません。
-
入力または出力 OSS バケットのリージョンは、IMS が使用されているリージョンと同じである必要があります。
-
出力が動画の場合、生成される動画には以下の解像度制限が適用されます。
幅と高さはともに少なくとも 128 px である必要があります。
幅と高さはともに 4096 px を超えることはできません。
短辺は 2160 px を超えることはできません。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
ice:SubmitMediaProducingJob |
*すべてのリソース。
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| ProjectId |
string |
任意 |
編集プロジェクトの ID。 CreateEditingProject 操作を呼び出して編集プロジェクトを作成し、ProjectId を取得して編集タスクを送信できます。 重要 次の 3 つのパラメーターのうちいずれか 1 つを指定する必要があります: ProjectId、Timeline、または TemplateId。他の 2 つのパラメーターは空のままにしてください。 |
xxxxxfb2101cb318xxxxx |
| Timeline |
string |
任意 |
クラウド編集タスクのタイムライン。動画のクリエイティブなアイデアに基づいて素材を配置し、エフェクトをデザインする必要がある場合に、Timeline パラメーターを手動で構築できます。
重要 次の 3 つのパラメーターのうちいずれか 1 つを指定する必要があります: ProjectId、Timeline、または TemplateId。他の 2 つのパラメーターは空のままにしてください。 |
{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"****4d7cf14dc7b83b0e801c****"},{"MediaId":"****4d7cf14dc7b83b0e801c****"}]}]} |
| TemplateId |
string |
任意 |
テンプレート ID。最小限の労力でタイムラインを迅速に構築するために使用されます。標準テンプレートと高度なテンプレートの両方に基づくビデオクリップ編集がサポートされています。
重要 次の 3 つのパラメーターのうちいずれか 1 つを指定する必要があります: ProjectId、Timeline、または TemplateId。他の 2 つのパラメーターは空のままにしてください。
|
****96e8864746a0b6f3**** |
| ClipsParam |
string |
任意 |
テンプレートに対応する素材パラメーター(JSON フォーマット)。TemplateId が空でない場合、ClipsParam は空にできません。具体的なフォーマットについては、「標準テンプレートの作成と使用」および「高度なテンプレートの作成と使用」をご参照ください。 |
テンプレートユーザーガイドをご参照ください |
| ProjectMetadata |
string |
任意 |
編集プロジェクトのメタデータ(JSON フォーマット)。具体的な構造定義については、「 ProjectMetadata 」をご参照ください。 |
{"Description":"動画編集の説明","Title":"編集タイトルテスト"} |
| OutputMediaTarget |
string |
任意 |
出力メディアのターゲットタイプ。有効な値:
|
oss-object |
| OutputMediaConfig |
string |
必須 |
出力メディアのターゲット構成(JSON フォーマット)。出力メディアの OSS URL または VOD バケット内のストレージ場所をセットできます。
|
{"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 |
任意 |
リクエストのべき等性を確保するために使用されるクライアントトークン。クライアントを使用してトークンを生成できますが、異なるリクエスト間でトークンが一意であることを確認する必要があります。トークンには ASCII 文字のみを使用でき、長さは 64 文字を超えることはできません。 |
****12e8864746a0a398**** |
| Source |
string |
任意 |
編集および合成リクエストのソース。有効な値:
|
OPENAPI |
| EditingProduceConfig |
string |
任意 |
編集および合成の構成。詳細については、「EditingProduceConfig パラメーターの詳細」をご参照ください。 説明
EditingProduceConfig にカバーイメージが構成されていない場合、デフォルトで動画の最初のフレームがカバーとして使用されます。
|
{ "AutoRegisterInputVodMedia": "true", "OutputWebmTransparentChannel": "true" } |
| MediaMetadata |
string |
任意 |
生成された動画のメタデータ(JSON フォーマット)。具体的な構造定義については、「 MediaMetadata 」をご参照ください。 |
{ "Title":"テストタイトル", "Tags":"test-tags1,tags2" } |
OutputMediaConfig パラメーター例
例: OSS への出力
{
"MediaURL":"https://my-test-bucket.oss-ap-southeast-1.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 バケットの名前です。
oss-region-name.aliyuncs.com は OSS ファイルのパブリックエンドポイントです。例えば、シンガポール、日本(東京)、米国(バージニア)のエンドポイントは以下の通りです。
oss-ap-southeast-1.aliyuncs.com
oss-ap-northeast-1.aliyuncs.com
oss-us-east-1.aliyuncs.com
例: VOD への出力
{
"StorageLocation": "outin-*xxxxxx7d2a3811eb83da00163exxxxxx.oss-ap-southeast-1.aliyuncs.com",
"FileName": "output.mp4",
"Bitrate": 2000,
"Width": 800,
"Height": 680
}
VOD に出力する場合、StorageLocation パラメーターと FileName パラメーターが必須です。OutputMediaTarget パラメーターを "vod-media" に設定して、VOD ストレージバケットに出力します。メディアアセットをアップロードし、メディアアセットのストレージアドレスを確認した後、VOD で利用可能なストレージ場所を表示できます。
OutputMediaConfig 構造体の設定項目
| パラメーター | タイプ | 説明 |
| MediaURL | String | 出力メディアアセットの URL。OutputMediaTarget が oss-object の場合、OSS ファイルの HTTP URL パス(例: http://xxx-bucket-name.oss-ap-southeast-1.aliyuncs.com/)を指定します。OSS リージョンは、呼び出されたサービスのリージョンと同じである必要があります。 |
| StorageLocation | String | OutputMediaTarget が vod-media の場合、メディアアセットを VOD に保存するためのストレージ場所を指定します。ストレージ場所は、http:// プレフィックスを除いた VOD 内のファイル保存場所です(例: outin-xxxxxx.oss-ap-southeast-1.aliyuncs.com)。 |
| FileName | String | OutputMediaTarget が vod-media の場合、fileName(ファイル拡張子を含み、パスを除く)を出力ファイル名として指定します。 |
| Width | Integer | 出力メディアの幅。このパラメーターは任意です。デフォルト値は、すべての素材の中の最大幅です。 |
| Height | Integer | 出力メディアの高さ。このパラメーターは任意です。デフォルト値は、すべての素材の中の最大高さです。 |
| Bitrate | Integer | 出力メディアのビットレート(Kbps)。このパラメーターは任意です。デフォルト値はすべての素材の中の最高ビットレートで、上限は 5000 です。素材の最高ビットレートを維持するには、EditingProduceConfig.KeepOriginMaxBitrate=true を設定します。詳細については、「 EditingProduceConfig 」をご参照ください。 |
| VodTemplateGroupId | String | VOD への出力に使用する VOD トランスコーディングテンプレートグループ ID。VOD トランスコーディングが不要な場合は、このパラメーターを "VOD_NO_TRANSCODE" に設定します。 |
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
レスポンスのスキーマ。 |
||
| RequestId |
string |
リクエストの ID。 |
****36-3C1E-4417-BDB2-1E034F**** |
| ProjectId |
string |
編集プロジェクトの ID。 |
****b4549d46c88681030f6e**** |
| JobId |
string |
制作タスクの ID。 |
****d80e4e4044975745c14b**** |
| MediaId |
string |
生成されたメディアアセットの ID。 |
****c469e944b5a856828dc2**** |
| VodMediaId |
string |
VOD メディアアセットの ID。このパラメーターは、動画の出力先が VOD の場合に返されます。 |
****d8s4h75ci975745c14b**** |
例
成功レスポンス
JSONJSON
{
"RequestId": "****36-3C1E-4417-BDB2-1E034F****",
"ProjectId": "****b4549d46c88681030f6e****",
"JobId": "****d80e4e4044975745c14b****",
"MediaId": "****c469e944b5a856828dc2****",
"VodMediaId": "****d8s4h75ci975745c14b****"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter \ is not valid. | |
| 404 | ProjectNotFound | The specified project not found |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。