SnapshotComplete イベントは、動画のスナップショットが完了したことを通知します。このトピックでは、通知内容とコールバックのサンプルについて説明します。
イベントタイプ
SnapshotComplete
イベントの説明
ApsaraVideo VOD は、動画のスナップショット取得後に SnapshotComplete イベントを生成します。
-
スナップショットとトランスコードは同時に実行されます。
-
スナップショットがサムネイル スナップショットで、かつ CoverUrl パラメーターが指定されていない場合、いずれか 1 つのサムネイル スナップショットが動画のサムネイルとして使用されます。サムネイル スナップショットの詳細については、「Video snapshots」をご参照ください。
-
GetVideoInfo API を呼び出すことで、動画のサムネイルと CoverSnapshot スナップショットの URL を取得できます。
-
ListSnapshots API を呼び出すことで、特定の動画の最新スナップショットの URL を取得できます。
URL 署名が有効になっている場合、スナップショット URL にアクセスするには、auth_key を生成する必要があります。生成しない場合、HTTP 403 エラーが返されます。URL 署名の詳細については、「URL signing」をご参照ください。
イベント通知の内容
|
パラメーター名 |
タイプ |
必須 |
説明 |
|
EventTime |
文字列 |
はい |
イベントが生成された時刻。yyyy-MM-ddTHH:mm:ssZ 形式 (協定世界時 (UTC)) です。 |
|
EventType |
文字列 |
はい |
イベントタイプ。値は SnapshotComplete です。 |
|
VideoId |
文字列 |
はい |
動画の ID。 |
|
Status |
文字列 |
はい |
動画スナップショットのステータス。
|
|
SubType |
文字列 |
いいえ |
スナップショットのサブタイプ。値は SpecifiedTime です。 説明
SpecifiedTime は、SubmitSnapshotJob API を呼び出してスナップショットを取得したことを示します。 |
|
ErrorCode |
文字列 |
いいえ |
エラーコード。スナップショットジョブが失敗した場合にのみ返されます。 |
|
ErrorMessage |
文字列 |
いいえ |
エラーメッセージ。スナップショットジョブが失敗した場合にのみ返されます。 |
|
CoverUrl |
文字列 |
いいえ |
サムネイル URL。スナップショットジョブが失敗した場合は返されません。 |
|
SnapshotInfos |
SnapshotInfo[] |
いいえ |
スナップショットの詳細。スナップショットジョブが失敗した場合は返されません。詳細については、以下の「SnapshotInfos data」をご参照ください。 |
|
Extend |
文字列 |
いいえ |
コールバックで返される、ユーザー定義のパススルーパラメーター。詳細については、「Request parameters」の「UserData」セクションをご参照ください。 |
SnapshotInfos data
|
パラメーター名 |
タイプ |
必須 |
説明 |
|
Status |
文字列 |
はい |
動画スナップショットジョブのステータス。
|
|
SnapshotType |
文字列 |
はい |
スナップショットのタイプ。
詳細については、「Video snapshots」をご参照ください。 |
|
SnapshotCount |
Long |
はい |
スナップショットの総数。 |
|
SnapshotFormat |
文字列 |
はい |
スナップショットの命名フォーマット。この値を OSS ストレージ URL または CDN のドメイン名と組み合わせて、スナップショット URL を構築できます。 説明
ドメイン名が頻繁に変更される場合は、このパラメーターを使用してスナップショット URL を動的に生成してください。 |
|
SnapshotRegular |
文字列 |
はい |
スナップショット URL を生成するためのルール。スナップショット URL の生成には SnapshotRegular の値を使用することを推奨します。 詳細については、次のセクションをご参照ください。 説明
ドメイン名が存在する場合は CDN URL のルールが返されます。存在しない場合は OSS URL のルールが返されます。HTTPS URL のルールはサポートされていません。 |
|
JobId |
文字列 |
はい |
スナップショットジョブの ID。 |
新規にアップロードした動画の場合、スナップショットはソース動画と同じ OSS ストレージアドレスに保存されます。詳細については、「Manage storage buckets」をご参照ください。
スナップショット URL の生成
スナップショット URL は、次の 2 つの方法で生成できます。
-
SnapshotFormat の値に基づいてスナップショット URL を生成
-
ルール:http(s)://{CDN ドメイン名または OSS ストレージ URL}/SnapshotFormat。
-
説明:{SnapshotCount} は各スナップショットのシリアル番号で、先頭をゼロで埋めて 5 桁にしたものです。
-
例:
-
最初のスナップショットのシリアル番号が 00001 の場合、スナップショット URL は次のとおりです:
http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00001.jpg。 -
2 番目のスナップショットのシリアル番号が 00002 の場合、スナップショット URL は次のとおりです:
http://example.com/2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-00002.jpg。以降も同様です。
-
-
-
SnapshotRegular の値に基づいてスナップショット URL を生成
-
ルール:SnapshotRegular は、完全な URL 形式のルールです。
-
SnapshotFormat と同様に、{SnapshotCount} をスナップショットのシリアル番号で置き換えてください。
-
コールバックのサンプル
説明:
-
HTTP コールバックの場合、この例は HTTP POST リクエストボディです。
-
MNS コールバックの場合、この例はメッセージ本文です。
{
"EventType": "SnapshotComplete",
"EventTime": "2018-07-31T10:07:31Z",
"CoverUrl": "http://sample/covers/990f3820db2948b5b4a13d65d9a4****-00002.jpg",
"Extend":"test data",
"SnapshotInfos": [
{
"Status": "success",
"SnapshotType": "CoverSnapshot",
"SnapshotCount": 2,
"SnapshotFormat": "2327a6ec24b44844b3a5e2c1b691****/covers/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"SnapshotRegular": "http://sample/covers/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"JobId": "ee16d4bbf3f7*****e094bcb8cf8ddde"
},
{
"Status": "success",
"SnapshotType": "SpriteSnapshot",
"SnapshotCount": 1,
"SnapshotFormat": "2327a6ec24b44844b3a5e2c1b691****/covers/sprite/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"SnapshotRegular": "http://sample/covers/sprite/990f3820db2948b5b4a13d65d9a4****-{SnapshotCount}.jpg",
"JobId": "b3187205eed*****b72adf4eb3840713"
}
]
}