ApsaraVideo Media Processing (MPS) にメディアファイルを追加して処理します。
使用上の注意
この操作を呼び出して、Object Storage Service (OSS) にアップロードされているが、処理されていない動画を処理できます。このようにして、動画を OSS に再度アップロードする必要はありません。メディアワークフローを設定している場合、メディアファイルが OSS にアップロードされると、OSS は自動的に MPS に通知します。 MPS は、指定された OSS バケットとオブジェクトに基づいて、アクティブ状態の対応するワークフローを自動的に検出します。したがって、ほとんどの場合、メディアファイルを処理するために AddMedia 操作を手動で呼び出す必要はありません。
メディア情報は、指定されたメディアワークフローがアクティブ状態の場合にのみ自動的に取得されます。メディアワークフローが指定されていない場合、または指定されたメディアワークフローがアクティブ状態ではない場合、メディア情報は取得されません。
QPS 制限
この操作は、1 秒あたり最大 100 回呼び出すことができます。1 秒あたりの呼び出し数が制限を超えると、速度制限がトリガーされます。その結果、ビジネスに影響が及ぶ可能性があります。この操作を呼び出すときは、制限に注意することをお勧めします。詳細については、「QPS 制限」をご参照ください。
デバッグ
リクエストパラメーター
パラメーター | タイプ | 必須 | 例 | 説明 |
Action | String | はい | AddMedia | 実行する操作。AddMedia に設定します。 |
FileURL | String | はい | http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4 | 入力ファイルのパス。入力ファイルのパスは、MPS コンソールまたは OSS コンソールで照会できます。詳細については、このトピックのワークフローのトリガーと一致ルールセクションを参照してください。
|
Title | String | いいえ | mytest | メディアファイルのタイトル。
|
Description | String | いいえ | A test video | メディアファイルの説明。
|
CoverURL | String | いいえ | http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png | メディアファイルに指定するサムネイルの格納場所。 URL を取得するには、MPS コンソールにログインし、ワークフロー > メディアバケット を選択します。または、OSS コンソールにログインし、マイ OSS パスをクリックします。
|
Tags | String | いいえ | tag1,tag2 | メディアファイルに追加するタグ。 説明 MPS では、メディアファイルに指定された各タグは独立しています。メディア ライブラリで同じタグを持つすべてのメディアファイルを検索できます。
|
MediaWorkflowId | String | いいえ | 07da6c65da7f458997336e0de192**** | メディアファイルに対して実行するメディアワークフローの ID。メディアワークフローの ID を照会するには、MPS コンソールにログインするか、AddMediaWorkflow 操作を呼び出します。 |
MediaWorkflowUserData | String | いいえ | test | メディアワークフローのカスタムデータ。
|
InputUnbind | Boolean | いいえ | false | メディアワークフローが指定された入力パスをサポートしているかどうかを確認するかどうかを指定します。無効なパスに起因するエラーを回避するために、このパラメーターを true に設定することをお勧めします。有効な値:
|
CateId | Long | いいえ | 123 | メディアファイルが属するカテゴリの ID。値は負の値にすることはできません。 |
OverrideParams | String | いいえ | {"subtitleTransNodeName":{"InputConfig":{"Format":"stl","InputFile":{"URL":"http://exampleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl"}}}} | 元の設定を上書きするために使用される字幕設定。
|
ワークフローのトリガーと一致ルール
MPS は、入力ファイルの URL にワークフローがバインドされている URL が含まれているかどうかを確認します。含まれている場合、ワークフローは入力ファイルと一致し、実行されます。そうでない場合、ワークフローは入力ファイルと一致せず、実行されません。例: 入力ファイルの URL は http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test1.flv
です。
1. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/ の場合、ワークフローは入力ファイルと一致します。
2. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/ の場合、ワークフローは入力ファイルと一致します。
3. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/A/ の場合、ワークフローは入力ファイルと一致します。
4. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/ の場合、ワークフローは入力ファイルと一致します。
5. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.flv の場合、ワークフローは入力ファイルと一致します。
6. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/CC/ の場合、ワークフローは入力ファイルと一致しません。
7. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B2/ の場合、ワークフローは入力ファイルと一致しません。
8. ワークフローがバインドされている URL が http://bucket.oss-cn-hangzhou.aliyuncs.com/A2/B/C/ の場合、ワークフローは入力ファイルと一致しません。
メディアワークフローを作成するときは、ワークフローの入力 URL を別のワークフローの入力 URL のプレフィックスと同じに設定しないでください。そうしないと、1 つのメディアファイルを追加するために 2 つのワークフロー実行インスタンスがトリガーされます。たとえば、あるワークフローの入力 URL が test で、別のワークフローの入力 URL が test1 の場合、test1 にメディアファイルをアップロードすると両方のワークフローがトリガーされます。
ファイル名拡張子の一致
マルチメディアファイルのみがワークフローをトリガーできます。 MPS は、ファイル名拡張子をチェックすることで、ワークフローをトリガーするかどうかを判断します。ワークフローは、ファイル名拡張子がないファイル、または次の表に記載されている名前拡張子を持つファイルと一致します。ファイル名拡張子がないファイルには、ファイル名に区切りドットがありません。
.swf ファイルのスナップショットとトランスコードの品質は保証されません。
タイプ | ファイル名拡張子 |
動画 | 3gp, asf, avi, dat, dv, flv, f4v, gif, m2t, m3u8, m4v, mj2, mjpeg, mkv, mov, mp4, mpe, mpg, mpeg, mts, ogg, qt, rm, rmvb, swf, ts, vob, wmv, webm |
音声 | aac, ac3, acm, amr, ape, caf, flac, m4a, mp3, ra, wav, wma, aiff |
メディアワークフローメッセージ
メディアワークフローは、Alibaba Cloud Message Service (MNS) を使用して、MPS サービスユーザーにメッセージを送信します。メディアワークフローは、開始アクティビティまたはレポートアクティビティが完了するとメッセージを送信します。メッセージを受信するには、開始アクティビティでキューまたは通知名を設定する必要があります。メディアワークフローによって生成されたメッセージは、キューまたは通知に保存されます。Java 用 SDK を使用してメッセージを取得できます。次の表に、メッセージの仕様を示します。
パラメーター | タイプ | 説明 |
RunId | String | ワークフロー実行インスタンスの ID。 |
Name | String | アクティビティの名前。 |
Type | String | アクティビティのタイプ。有効な値: レポートと開始。 |
State | String | アクティビティのステータス。有効な値: 失敗と成功。 |
Code | String | アクティビティが失敗した場合に返されるエラーコード。アクティビティステータスが失敗の場合、特定のエラーコードが返されます。 |
Message | String | アクティビティが失敗した場合に返されるエラーメッセージ。アクティビティステータスが失敗の場合、詳細なエラーメッセージが返されます。 |
MediaWorkflowExecution | MediaWorkflowExecution | ワークフロー実行インスタンスに関する詳細情報。 |
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
RequestId | String | 05F8B913-E9F3-4A6F-9922-48CADA0FFAAD | リクエストの ID。 |
Media | Object | メディアファイルに関する詳細情報。 | |
CreationTime | String | 2016-09-20T03:02:40Z | メディアファイルが作成された日時。 |
CateId | Long | 1 | メディアファイルが属するカテゴリの ID。 |
Height | String | 1280 | メディアファイルの高さ。 |
CensorState | String | Initiated | 動画のレビュー ステータス。有効な値:
|
Tags | Array of String | tag,tag2 | メディアファイルのタグ。 |
Bitrate | String | 1148.77 | メディアファイルのビットレート。 |
MediaId | String | 3e6149d5a8c944c09b1a8d2dc3e4**** | メディアファイルの ID。 |
File | Object | 入力ファイルに関する情報。 | |
State | String | Normal | 入力ファイルのステータス。デフォルト値は Normal です。 |
URL | String | http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4 | 入力ファイルの URL。 |
PublishState | String | Published | メディアファイルの公開ステータス。有効な値:
|
Description | String | A test video | メディアファイルの説明。値は 1,024 バイト以下です。 |
Width | String | 1280 | メディアファイルの幅。 |
Size | String | 379860 | メディアファイルのサイズ。 |
CoverURL | String | http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png | メディアサムネイルの格納場所。 |
RunIdList | Array of String | null | 実行されたワークフロー実行インスタンスの ID。 ID はコンマ (,) で区切られます。 |
Duration | String | 2.645333 | メディアファイルの再生時間。 |
Fps | String | 25.0 | メディアファイルのフレームレート。 |
Title | String | mytest.mp4 | メディアファイルのタイトル。タイトルは 128 バイト以下です。 |
Format | String | mp4 | メディアファイルの形式。有効な値: mov、mp4、m4a、3gp、3g2、mj2。 |
例
リクエストの例
http(s)://mts.cn-shanghai.aliyuncs.com/?Action=AddMedia
&FileURL=http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4
&Title=mytest
&Description=A test video
&CoverURL=http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png
&Tags=tag1,tag2
&MediaWorkflowId=07da6c65da7f458997336e0de192****
&MediaWorkflowUserData=test
&InputUnbind=false
&CateId=123
&OverrideParams={"subtitleTransNodeName":{"InputConfig":{"Format":"stl","InputFile":{"URL":"http://exampleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl"}}}}
&<共通リクエストパラメーター>
成功レスポンスの例
XML
形式
HTTP/1.1 200 OK
Content-Type:application/xml
<AddMediaResponse>
<RequestId>05F8B913-E9F3-4A6F-9922-48CADA0FFAAD</RequestId>
<Media>
<CreationTime>2016-09-20T03:02:40Z</CreationTime>
<CateId>1</CateId>
<Height>1280</Height>
<CensorState>Initiated</CensorState>
<Tags>tag,tag2</Tags>
<Bitrate>1148.77</Bitrate>
<MediaId>3e6149d5a8c944c09b1a8d2dc3e4****</MediaId>
<File>
<State>Normal</State>
<URL>http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4</URL>
</File>
<PublishState>Published</PublishState>
<Description>A test video</Description>
<Width>1280</Width>
<Size>379860</Size>
<CoverURL>http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png</CoverURL>
<RunIdList>{"RunId":["cbad98d35629470fa05ff393d347****"]}</RunIdList>
<Duration>2.645333</Duration>
<Fps>25.0</Fps>
<Title>mytest.mp4</Title>
<Format>mp4</Format>
</Media>
</AddMediaResponse>
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "05F8B913-E9F3-4A6F-9922-48CADA0FFAAD",
"Media" : {
"CreationTime" : "2016-09-20T03:02:40Z",
"CateId" : 1,
"Height" : "1280",
"CensorState" : "Initiated",
"Tags" : [ "tag,tag2" ],
"Bitrate" : "1148.77",
"MediaId" : "3e6149d5a8c944c09b1a8d2dc3e4****",
"File" : {
"State" : "Normal",
"URL" : "http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4"
},
"PublishState" : "Published",
"Description" : "A test video",
"Width" : "1280",
"Size" : "379860",
"CoverURL" : "http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png",
"RunIdList" : [ "{\"RunId\":[\"cbad98d35629470fa05ff393d347****\"]}" ],
"Duration" : "2.645333",
"Fps" : "25.0",
"Title" : "mytest.mp4",
"Format" : "mp4"
}
}
エラーコード
エラーコードのリストについては、API エラーセンターを参照してください。