スクリーンショットとは何ですか。

スクリーンショットは、入力ファイルからキャプチャーされたイメージで、通常は該当スクリーンショット設定に基づいたビデオファイルとなります。

MTS でサポートされているスクリーンショット方法

MPS では、スクリーンショットを撮る方法が 2 つ使用します。

スクリーンショット モード

  • 同期モード

    API は、同時にスクリーンショットの結果を返します。API で結果を返すのと同時にスクリーンショットが該当バケットに生成されます。

  • 非同期モード

    必ずしも API の結果が返されるときにスクリーンショットが生成されるわけではありません。スクリーンショット タスクはバックグラウンドで待機し、非同期にスクリーンショットを生成します。Interval パラメーターあるいは Num パラメーターが設定ている場合は、非同期モードになります。PipelineID を設定し、MTS キューに対応するメッセージが設定され、スクリーンショットの生成後に非同期メッセージが送信されるようにします。

スクリーンショットのタイプ

  • ノーマルフレーム:normal

  • I フレーム(別名キーフレーム):intra。キーフレーム スクリーンショットは、入力スクリーンショットの時間に最も近いキー フレーム イメージです。

スクリーンショット シナリオ

  • 単一スクリーンショット:Num = 1 または設定されていない

  • 複数スクリーンショット:Num > 1 または Interval > 0

  • 平均スクリーンショット:Interval = 0 および Num > 1

スクリーンショットでサポートされているイメージ形式

現時点では、JPG 形式のイメージがサポートされています。

よくある質問

スクリーンショット タスクを実行するとき、どうやって同期モードか非同期モードかを判断できますか。

Interval パラメーターまたは Num パラメーターが設定されている場合、PipelineId と無関係の非同期モードが適用されます。詳細は、パラメーターの詳細の「11 SnapshotConfig パラメーター」をご参照ください。

指定のスクリーンショット時間がキーフレーム スクリーンショットでない場合はどうしたらいいですか。

スクリーンショット時間に最も近いキーフレームを取得します。複数のスクリーンショットがある場合、スクリーンショット時間に近い該当キーフレームは見つかりません。この場合は、該当時間のイメージは返されず、返されるイメージ数は設定されたイメージ数とは異なります。

指定スクリーンショット時間がビデオの再生時間を超える場合はどうなりますか。

  • 単一スクリーンショット

    • 通常のスクリーンショットの場合、エラーが返されます。

    • キーフレーム スクリーンショットの定義に応じて、入力スクリーンショット時間に最も近い時間に生成されたキーフレーム イメージが返されます。

  • 複数スクリーンショット

    Time + Interval x Num で計算されるスクリーンショット時間がビデオの再生時間を超える場合、後続のスクリーンショットは自動的に無効となり、スクリーンショット生成が完了すると実際に生成されたスクリーンショット数が返されます。

M3U8 スクリーンショットを生成するにはどうしたらいいですか。

同期モードでスクリーンショットが生成されると、TS および M3U8 ファイルは M3U8 インデックスと同じパスにある必要があります。非同期モードには要件はありません。

なぜ返される連続スクリーンショットの数が設定した数値よりも少なくなるのですか。

該当時点に近いキーフレーム イメージがないか、後続のスクリーンショットの時間が入力ファイルの合計再生時間を超えるためです。

イメージのサイズの設定方法を教えてください。

  • 出力イメージのサイズを設定することができます。詳細は、「SnapshotConfig パラメーター」のパラメーター詳細の幅および高さをご参照ください。

  • 幅および高さを設定しない場合は、ビデオの解像度に応じたイメージ サイズとなります。

  • 幅または高さのいずれかを設定した場合、入力ファイルの縦横比に応じたイメージ サイズとなります。

スクリーンショット タスクのエラーはどのように診断したらいいですか。

スクリーンショット タスクのエラーコードには、SnapshotTimeOut、InvalidParameter.ResourceNotFound、および InvalidParameter.ResourceContentBad があります。詳細は、スクリーンショット タスクの送信を参照。

  • エラーコードを取得する方法

    • スクリーンショットタスクがサブミットされない場合は、スナップショットタスクAPIを照会して障害原因を取得します。詳細は、スクリーンショット タスクの表示のQuerySnapshotJobList API の戻り値をご参照ください。

    • ワークフローを使用してスクリーンショットを取得できない場合は、MPS コンソールにログインします。メディア リポジトリで、対応する実行されたインスタンスを選択し、スクリーンショット アクティビティに失敗した原因を確認します。

  • 主なエラーによくある原因

    • InvalidParameter.ResourceNotFound

      入力ファイルが見つかりません。入力ファイルに指定されたリージョンに属したバケットが含まれ、各リージョンのデータが独立していることを確認します。

    • SnapshotTimeOut

      スクリーンショットはタイムアウトしました。このエラーは、同期モードでスクリーンショットの結果と合わせて返されます。現在、スクリーンショット タスクが送信されると、6 秒以内に結果が返されます。同期モードで頻繁にタイムアウトが発生する場合は、タイムアウトを防ぐために非同期モードを使用することを推奨します。再試行は推奨しません。

    • InvalidParameter.ResourceContentBad

      スナップショット ファイルが破損しているか、または仕様を満たしていないためにスクリーンショットが取得されません。本ドキュメントの「よくある質問」を参照し、入力ファイルの内容が正常で、スクリーンショットの設定が仕様を満たしていることを確認します。スクリーンショットの時間、キーフレーム、およびその他の情報に特にご注意ください。