スクリーンショットとは、ビデオの中の特定の時点における映像を画像ファイルとして保存する処理のことをいいます。
タイプ
-
キーフレーム
ビデオのキーフレームは独立してエンコードされているため、画質がよく、また、すばやくキャプチャすることができます。 キーフレームはビデオの中に一定の間隔で現れますが、時間を指定してキャプチャすることはできません。 システムは、指定した時間に近いキーフレームを検索できます。
-
ノーマルフレーム
キーフレームに比べると画質は劣り、キャプチャに時間がかかります。 しかし、正確に指定した時点でのキャプチャを取ることができます。
パラメーターの説明
ファイルを入力する際は、次のパラメーターに注意が必要です。
スナップショットの設定では、次のパラメーターに注意が必要です。
-
スクリーンショットの OSS 出力ファイルを指定します。 OSS オブジェクトのファイル名を固定で指定することも、カスタマイズして指定することもできます。 命名規則については、「スクリーンショットの OutputFile」をご参照ください。
-
Time
単一のスクリーンショットの時間、または複数のスクリーンショットの場合は開始時間です。 Integer 型のミリ秒で指定します。
-
Interval と Num
2 つのフレームの間隔 (単位 : 秒) と、キャプチャするフレームの数を指定します。 値によって次のようになります。
-
Num が指定されていない場合、指定した間隔で動画の最後までスクリーンショットが撮られます。
-
Num の値が 1 より大きい場合は、指定した間隔で、スクリーンショットの数が指定数に達するまでキャプチャされます。
-
Num の値が 1 の場合は、1 枚のスクリーンショットが非同期的に撮られます。
-
-
Width と Height
出力されるスクリーンショット画像の幅と高さ (ピクセル) を指定します。
幅と高さは入力となるビデオに基づきます。
-
Width と Height のどちらも指定されていない場合、出力画像のサイズはビデオのサイズと同じになります。
-
Width と Height のどちらか一方が指定されている場合、指定されていない方はビデオの縦横比に基づいて算出されます。 こうすることで、画像のゆがみを回避します。
注 画像のゆがみを防ぐため、Width と Height 両方に適当な値を指定しないことを推奨します。-
縦向きモードの MP4 ビデオに回転識別子がある場合、スクリーンショットは横向きになります。
-
縦向きモードの MP4 ビデオで回転識別子がない場合は、スクリーンショットも縦向きのままになります。
-
- FrameType
スクリーンショットのタイプを指定します。キーフレーム ("Key Frame") またはノーマルフレーム ("Normal Frame") です。 デフォルト値は "Key Frame" です。
- TileOutputFile と TileOut
スプライト画像の OSS 出力ファイルと TileOut を指定します。
- SubOut and Format
- WebVTT サムネイルを使用したい場合は、Format を "vtt" に設定します。
- WebVTT サムネイルをスプライト画像として出力したい場合は、Format と SubOut を同時に設定します。
シナリオ
- 単一のスクリーンショット
時間を指定すると、ビデオのその時点でのスクリーンショットを撮ることができます。
- 複数のスクリーンショット
時間間隔を指定すると、ビデオから等間隔で複数のスクリーンショットを撮ることができます。 各スクリーンショットは画像ファイルです。 この操作は、バッチスクリーンショットまたは順序スクリーンショットとも呼ばれます。
- スプライト画像
複数のスクリーンショット画像を一つの大きな画像スプライトにまとめることができます。 複数のスクリーンショットを一度にリクエストできるため、画像のリクエスト回数を減らし、クライアントのパフォーマンス向上につながります。
- WebVTT サムネイル
HTML5 における標準のサブタイトルのフォーマットであり、複数の H5 プレイヤーのサムネイルプレビューのフォーマットでもあります。 『JWPlayer Documents』をご参照ください。
WebVTT はファイル形式です。 サムネイルは、複数の画像、または一つの大きなスプライト画像のどちらでも使用できます。
実行方法
「タスクと MPS キュー」の Task execution and completion
をご参照ください。
- 同期処理
API が呼び出されると、スクリーンショットジョブの ID と結果が同期的に返されます。
単一のスクリーンショットのみ同期可能です。
- 非同期処理
API が呼び出されると、スクリーンショットジョブの ID のみが返されます。 スクリーンショットの結果を確認するには、スクリーンショットジョブの ID や Nortification サービスを使用します。
単一のスクリーンショット、複数スクリーンショット、スプライト画像、WebVTT サムネイルは全て非同期的に取得できます。
コード例
720P (1280 x 720)
で10 秒の長さの動画があります。 スクリーンショットの高さを 360 ピクセル、開始時間を 2 秒、間隔を 1 秒、スクリーンショット数を 3 に指定します。
2、3、4 秒時点における 3 つの画像がそれぞれキャプチャされます。 画像ファイルには 00001、00002、00003 というように連番が付けられます。