このトピックでは、ApsaraVideo Media Processing(MPS)に関連する用語について説明します。
MPS 固有の用語
ジョブ
ジョブとは、MPS における抽象的なタスクです。
ジョブタイプ: ジョブは、メディア情報分析ジョブ、トランスコードジョブ、トランスコードクエリジョブ、スナップショットジョブ、スマートプロダクションジョブ、スマートタギングジョブ、コンテンツモデレーションジョブ、メディアフィンガープリントジョブ、著作権ウォーターマーク追加ジョブなど、複数のタイプに分類できます。
ジョブの送信:
送信方法: ジョブは、MPS コンソールを使用するか、API オペレーションを呼び出すか、SDK を使用して送信できます。また、ワークフローがトリガーされたときにジョブを送信するようにワークフローを設定することもできます。
必須パラメータ: ジョブを送信するには、入力、出力、および処理パラメータを設定する必要があります。たとえば、トランスコードジョブを作成する場合、ジョブを送信する前にコアパラメータを設定する必要があります。コアパラメータには、入力ファイル、出力パス、トランスコードテンプレートまたはトランスコード方法、MPS キュー、および優先順位を決定するパラメータが含まれます。
呼び出しモードと結果クエリ: さまざまなタイプのジョブの実行に必要な時間は異なります。ジョブによっては、送信後すぐに完了するものもあります。ほとんどのジョブでは、ファイルのダウンロード、分析、および処理が行われ、完了までに一定の時間がかかります。したがって、ジョブは同期モードまたは非同期モードで処理できます。
呼び出しモード
該当するジョブ
送信方法
結果クエリ
参照
同期モード
単一スナップショットジョブとメディア情報分析ジョブ
すべての同期ジョブを送信するには、SDK または API オペレーションを使用できます。
同期ジョブの 結果 は、ジョブの送信後すぐに返されます。結果には、オブジェクトストレージサービス(OSS)バケットに保存されるスナップショットファイルのパス、または詳細なメディア情報が含まれます。
定期的なポーリングのために API オペレーションを呼び出すことによって、ジョブの結果をクエリすることもできます。ただし、メッセージサービス(MNS)の通知機能を設定してジョブ結果の通知を受け取ることはできません。
説明入力ファイルのサイズが大きい場合、タイムアウトエラーが発生する可能性があります。ビジネス要件に基づいて再試行メカニズムを設定してください。
非同期モード
すべての種類の MPS ジョブ (以下を含む)
トランスコード、スナップショット、メディア情報分析、ビデオ AI ジョブなど、すべてのタイプの MPS ジョブ。トランスコードジョブには、通常のトランスコード、Narrowband HD™ 1.0 トランスコード、Narrowband HD™ 2.0 トランスコード、オーディオおよびビデオエンハンスメントジョブが含まれます。ビデオ AI ジョブには、インテリジェントプロダクション、スマートタギング、自動レビュー、メディアフィンガープリントジョブが含まれます。
MPS コンソールを使用して、一部の非同期ジョブを送信できます。
SDK または API オペレーションを使用して、すべての非同期ジョブを送信できます。
ワークフローがトリガーされたときに一部の非同期ジョブを送信するようにワークフローを設定できます。
非同期ジョブが送信された後、レスポンスから 送信が成功したかどうか のみを確認できます。ジョブの結果をクエリするには、定期的なポーリング のために API オペレーションを呼び出すか、通知のために MNS を設定 する必要があります。
定期的なポーリング: 各ジョブは一意の ID によって識別され、ジョブの送信後すぐに返されます。ジョブの ID は、API オペレーションによって返されるデータまたは MPS コンソールで確認できます。ジョブの ID を記録し、ジョブの結果を定期的にポーリングするために API オペレーションを呼び出すときに ID を指定できます。
MNS 設定: MPS キューまたはワークフローの通知機能を設定して、ジョブの結果を取得できます。通知には、ジョブの ID、ユーザーデータ、および詳細な結果が含まれます。
MPS キュー
MPS キューは、非同期ジョブを処理するためのキューです。非同期ジョブを送信すると、ジョブの優先順位とジョブが送信された順序に基づいて、ジョブは実行待ちキューに入れられます。MPS キューの種類によって、作成できる MPS キューの最大数、適用可能な機能、サポートされる同時実行数が異なります。詳細については、「概要」をご参照ください。
ワークフロー
ワークフローは、1 つ以上のジョブが実行される事前設定されたプロセスです。ワークフローの入力バケットとして指定された OSS バケットにファイルをアップロードすると、ワークフローがトリガーされて実行され、ファイルは指定されたとおりに処理されます。
トランスコードテンプレート
トランスコードテンプレートは、処理パラメータのコレクションです。トランスコードテンプレートを使用すると、トランスコードジョブの作成時またはワークフローの使用時の操作を簡素化できます。各トランスコードテンプレートは、一意の ID によって識別されます。トランスコードテンプレートは、カスタムテンプレート、カスタマイズテンプレート、プリセットテンプレートの 3 つのタイプに分類できます。詳細については、「概要」をご参照ください。
カスタムテンプレート: MPS コンソールまたは API を使用して作成されるトランスコードテンプレート。バックエンドではパラメータはカスタマイズされていません。
カスタマイズテンプレート: 個別要件に基づいてバックエンドでカスタマイズされたパラメータが設定されているトランスコードテンプレート。カスタマイズテンプレートを使用する場合、設定したパラメータは有効になりません。カスタマイズされたパラメータを表示または変更することはできません。
プリセットテンプレート: 解像度とネットワークに基づいて MPS で事前定義されているトランスコードテンプレート。プリセットテンプレートには、静的プリセットテンプレートとインテリジェントプリセットテンプレートがあります。静的プリセットテンプレートは、通常のトランスコード、オーディオトランスコード、コンテナフォーマット変換、Narrowband HD™ 1.0 トランスコード、Narrowband HD™ 2.0 トランスコードジョブをサポートしています。詳細については、MPS コンソール にアクセスするか、「プリセットテンプレートの詳細」をご参照ください。
ウォーターマークテンプレート
ウォーターマークテンプレートは、ウォーターマークの位置、オフセット、サイズなど、ビデオにウォーターマークを追加するために使用される一連のパラメータを指定します。各ウォーターマークテンプレートは、一意の ID によって識別されます。出力ビデオにウォーターマークを追加するには、ウォーターマークテンプレートを指定するか、対応するウォーターマークパラメータを直接渡すことができます。
テンプレート分析ジョブ
解像度やビットレートの違いなど、入力ファイル間の違いにより、すべてのプリセットテンプレートが入力ファイルに適しているわけではありません。したがって、プリセットテンプレートを使用する前に、SubmitAnalysisJob オペレーションを呼び出して、テンプレート分析ジョブを送信する必要があります。テンプレート分析ジョブは、指定された入力ファイルに使用できるプリセットテンプレートのリストを返します。 QueryAnalysisJobList オペレーションを呼び出して、このリストをクエリできます。
オーディオおよびビデオ固有の用語
トランスコード
トランスコードとは、さまざまなネットワーク帯域幅、端末の処理能力、ユーザーニーズに基づいて、コード化されたオーディオストリームまたはビデオストリームを別のオーディオストリームまたはビデオストリームに変換するプロセスです。トランスコードは、デコードとエンコードのプロセスです。トランスコード前後のストリームは、同じまたは異なるビデオエンコード形式を使用する場合があります。一般的に使用されるエンコード形式は、H.264、H.265、AV1 です。
コンテナフォーマット変換
コンテナフォーマット変換とは、オーディオファイルまたはビデオファイルをあるコンテナフォーマットから別のコンテナフォーマットに変換するプロセスです。たとえば、AVI ファイルを MP4 ファイルに変換できます。圧縮されたビデオストリームとオーディオストリームは、ソースコンテナフォーマットのファイルから取得され、宛先コンテナフォーマットのファイルにパッケージ化されます。このプロセスには、エンコードやデコードは含まれません。トランスコードと比較して、コンテナフォーマット変換には次の利点があります。
高速処理: オーディオファイルとビデオファイルのデコードとエンコードは複雑であり、トランスコード時間のほとんどを占めます。コンテナフォーマット変換では、エンコードやデコードは必要ありません。これにより、処理時間が短縮されます。
ロスレスオーディオまたはビデオ品質: コンテナフォーマット変換では、エンコードとデコードが含まれないため、オーディオファイルまたはビデオファイルは圧縮されません。コンテナフォーマット変換後の出力ファイルは、解像度とビットレートの点で入力ファイルとほぼ同じです。ただし、MP4 ファイルを M3U8 ファイルと TS ファイルに変換する場合、プロトコル仕様により出力ファイルサイズが増加します。
解像度
解像度は、ビデオの詳細度を表します。各次元に含まれるピクセル数を示します。たとえば、1,280 × 720 のビデオは、ビデオの幅が 1,280 ピクセル、高さが 720 ピクセルであることを示します。解像度によって、ビデオの表示のリアリティと鮮明さが決まります。解像度が高いビデオほどピクセル数が多く、画像が鮮明になります。
解像度は、ビットレートを決定する重要な要素です。解像度が異なるビデオは、異なるビットレートを使用します。一般に、解像度が高いほどビットレートが高くなります。各解像度には、推奨されるビットレートの範囲があります。推奨範囲の下限よりも低い解像度とビットレートを指定すると、画質が低下します。推奨範囲の上限よりも高い解像度とビットレートを指定すると、ビデオのストレージ容量が増え、ロードに必要なトラフィックが増えますが、画質はそれほど向上しません。
ビットレート
ビットレートは、ビデオファイルが単位時間あたりに使用するデータトラフィックです。ビットレートは、ビデオエンコードにおける画質制御の最も重要な項目です。ビットレートは、1 秒あたりのビット数(bit/s)で測定され、多くの場合、Kbit/s および Mbit/s の単位で使用されます。同じ解像度のビデオの場合、ビットレートが高いほど圧縮率が低く、画質が高くなります。高いビットレートは、単位時間あたりのサンプリングレートが高く、データストリームの精度が高いことを示します。したがって、処理されたビデオファイルの品質と精細度は、元のファイルの品質と精細度に近くなります。処理されたファイルには、再生デバイスからの優れたデコード機能が必要です。
ビットレートが高いほど、ファイルサイズが大きくなります。ファイルサイズは、次の式に基づいて計算できます。ファイルサイズ = 時間 × ビットレート / 8。たとえば、60 分の 720p オンラインビデオファイルのビットレートが 1 Mbit/s の場合、ファイルサイズは次の式に基づいて計算されます。3,600 秒 × 1 Mbit/s / 8 = 450 MB。
フレームレート
フレームレートは、ビデオで単位時間あたりに表示されるフレーム数、または画像で 1 秒あたりに更新されるフレーム数を測定するために使用されます。フレームレートの単位は、1 秒あたりのフレーム数(FPS)または Hz です。
フレームレートが高いほど、ビデオはスムーズでリアルに見えます。ほとんどの場合、25 ~ 30 FPS で十分です。 60 FPS は、没入型でリアルな再生体験を提供できます。フレームレートを 75 FPS 以上に増やしても、再生体験の向上はそれほど顕著ではありません。モニターのリフレッシュレートよりも高いフレームレートを指定すると、モニターはフレームを正しく表示できず、グラフィックカードの処理能力が無駄になります。同じ解像度でフレームレートが高いほど、グラフィックカードの処理能力が高くなります。
GOP
グループオブピクチャ(GOP)は、MPEG エンコードされたビデオまたはビデオストリームの一連の連続画像です。I フレームで始まり、次の I フレームで終わります。GOP には、次の画像タイプが含まれます。
イントラコードピクチャ(I フレーム): キーフレーム。I フレームには、そのフレームの画像を生成するために必要なすべての情報が含まれています。I フレームは独立してデコードされ、静止画と見なすことができます。ビデオシーケンスの最初のフレームは常に I フレームであり、各 GOP は I フレームで始まります。
予測コードピクチャ(P フレーム): P フレームは、前の I フレームに基づいてエンコードする必要があります。P フレームには、前の I フレームまたは P フレームに対する動き補償された差分情報が含まれています。デコード中、現在の P フレームで定義された差分が以前にキャッシュされた画像に重ね合わされて、最終画像が生成されます。P フレームは、I フレームと比較してデータビット数が少なくなります。ただし、P フレームは、前の I フレームまたは P フレームへの複雑な依存関係があるため、伝送エラーの影響を受けやすくなります。
双方向予測コードピクチャ(B フレーム): B フレームには、前後のフレームに対する動き補償された差分情報が含まれています。デコード中、現在の B フレームのデータが以前にキャッシュされた画像とデコードされた後続の画像の両方に重ね合わされて、最終画像が生成されます。B フレームは高い圧縮率を提供し、高いデコードパフォーマンスを必要とします。
GOP 値は、キーフレームの間隔を示します。これは、2 つの瞬時デコードリフレッシュ(IDR)フレーム間の距離、またはフレームグループ内の最大フレーム数です。ビデオの 1 秒あたり少なくとも 1 つのキーフレームが必要です。キーフレームが多いほどビデオの品質は向上しますが、帯域幅の消費量とネットワーク負荷が増加します。間隔は、GOP 値をフレームレートで割ることによって計算されます。GOP 値はフレーム数を示します。たとえば、ApsaraVideo VOD のデフォルトの GOP 値は 250 フレームで、フレームレートは 25 FPS です。時間間隔は、次の式に基づいて計算されます。250 / 25 = 10 秒。
GOP 値は、ビデオの品質、帯域幅の消費量を示すファイルサイズ、ドラッグ操作と早送り操作への応答速度を示すシーク効果の間のバランスをとるために、適切な範囲内である必要があります。
GOP 値が増加すると、ファイルサイズが減少します。ただし、GOP 値が大きすぎると、GOP の最後のフレームが歪み、ビデオの品質が低下します。
GOP 値は、ビデオのシークへの応答速度を決定する上でも重要な要素です。シーク中、プレーヤーは特定の位置の前に最も近いキーフレームを見つけます。GOP 値が大きいほど、指定された位置と最も近いキーフレームの間の距離が長くなり、デコードする必要のある予測フレームが増えます。この場合、ロード時間が長くなり、シーク操作の完了に時間がかかります。
P フレームと B フレームのエンコードは、I フレームのエンコードと比較してより複雑です。GOP 値が大きいと、P フレームと B フレームが多くなります。これにより、エンコード効率が低下します。
ただし、GOP 値が小さすぎると、画質が低下しないようにビデオのビットレートを上げる必要があります。このプロセスにより、帯域幅の消費量が増加します。
エンコードプロファイル
エンコードプロファイルは、特定のアプリケーションクラスに焦点を当てた一連の機能を定義します。
H.264 は、次のエンコードプロファイルを提供します。
ベースラインプロファイル: このプロファイルは基本的な画質を提供し、モバイルデバイスに適用できます。ベースラインプロファイルは I フレームと P フレームを使用し、プログレッシブビデオとコンテキスト適応型可変長符号化(CAVLC)のみをサポートします。
メインプロファイル: このプロファイルは主流の画質を提供し、デコード機能が比較的低い MP4 プレーヤー、ポータブルビデオプレーヤー、PSP、iPod などの標準精細デバイスに適用できます。メインプロファイルは I フレーム、P フレーム、B フレームを使用し、プログレッシブビデオとインターレースビデオをサポートします。メインプロファイルは、CAVLC とコンテキスト適応型二値算術符号化(CABAC)もサポートしています。
ハイプロファイル: このプロファイルは高画質を提供し、放送や Blu-ray ディスクのディスクストレージアプリケーション、高精細テレビアプリケーションなど、大画面の高精細デバイスに適用できます。ハイプロファイルは、8 × 8 相互予測、カスタム量子化、ロスレスビデオ符号化、より多くの YUV フォーマット、およびメインプロファイルの機能をサポートしています。
Advanced Audio Coding(AAC)は、次のエンコードプロファイルを提供します。
aac_low: 低複雑度 AAC(LC)
aac_he: 高効率 AAC(HE-AAC)
aac_he_v2: 高効率 AAC バージョン 2(HE-AACv2)
aac_ld: 低遅延 AAC(LD-AAC)
aac_eld: 拡張低遅延 AAC(ELD-AAC)
ビットレート制御方法
ビットレート制御方法は、コード化されたストリームのビットレートを制御するために使用される方法です。一般的に使用されるビットレート制御方法は次のとおりです。
固定ビットレート(CBR): この方法は、固定ビットレートのファイルを生成するために使用されます。この方法を使用すると、ビットレートはコード化されたストリーム全体で固定されます。CBR 圧縮ファイルは、VBR 圧縮ファイルと ABR 圧縮ファイルよりもサイズが大きく、品質もそれほど向上しません。
可変ビットレート(VBR): この方法は、可変ビットレートのファイルを生成するために使用されます。この方法は、エンコード中に、入力ファイルの複雑さに基づいて出力ファイルのビットレートを決定します。より複雑な入力ファイルの場合、ビットレートが高いファイルが生成されます。より単純なファイルの場合、ビットレートが低いファイルが生成されます。この方法は、一般に 2 パスエンコード方法で使用されます。VBR はストレージに適用でき、限られたストレージ容量をより合理的に使用できます。ただし、VBR を使用して出力ファイルのサイズとビットレートの変動を予測することはできません。
平均ビットレート(ABR): この方法は、補間パラメータが追加された平均ビットレートモードです。LAME は、CBR 圧縮ファイルのサイズと品質の不一致、および VBR の予測できないファイルサイズの問題を解決するために、この方法を作成しました。特定のファイル範囲では、ABR はストリームを 50 フレーム単位でパーツに分割します。30 フレームは約 1 秒に相当します。ABR は、比較的低いビットレートを使用して複雑度の低いセグメントをコード化し、高いビットレートを使用して複雑度の高いセグメントをコード化します。ABR は、VBR と CBR の妥協案と見なすことができます。ビットレートは特定の時間範囲内で指定された値に達する可能性がありますが、一部のセグメントのピークビットレートは指定されたビットレートを超える場合があります。平均ビットレートは一定のままです。ABR は VBR の修正バージョンです。ABR は、平均出力ビットレートが適切な範囲内にあることを保証し、複雑さに基づいてこの範囲内でビデオをコード化します。デフォルトでは、Alibaba Cloud は ABR を使用します。
ビデオバッファリングベリファイア(VBV): この方法は、ビットレートが特定の値よりも低いことを保証できます。この方法は、maxrate パラメータと bufsize パラメータに基づいて使用されます。maxrate パラメータは最大出力ビットレートを指定し、bufsize パラメータはバッファサイズを指定します。VBV は、2 パスまたは定数レート係数(CRF)エンコード方法で使用できます。CRF エンコード方法は、制限付き CRF に置き換えることもできます。
bufsize: ビデオバッファのサイズ。このパラメータは、予想されるビットレートの変動に基づいて設定できます。ほとんどの場合、bufsize パラメータを maxrate パラメータの 2 倍に設定できます。クライアントのキャッシュサイズが小さい場合は、bufsize パラメータを maxrate パラメータの値に設定します。ビットレートを制限する場合は、bufsize パラメータを maxrate パラメータの値の半分以下に設定します。
CRF: この方法は、品質制御係数を使用して出力ビットレートを制御します。ビデオの品質は、0 から 51 までのさまざまなレベルに定量化されます。0 はロスレス画質を指定し、51 は生成できる最悪の画質を指定します。CRF を使用することで、出力ビデオの全体的な品質を確保できます。ビットレートは、入力コンテンツの複雑さに基づいて変化します。適切な CRF レベルがわからない場合は、[23,29] の範囲のレベルを使用することをお勧めします。CRF レベルは、コンテンツの複雑さに基づいて調整できます。CRF レベルを 6 増減すると、ビットレートは半分または 2 倍になります。同じ精細度のファイルを生成するには、コンピュータ生成ビデオの CRF レベルを実写ビデオの CRF レベルよりも大きく設定できます。CRF はより良いビデオ品質を提供できますが、出力ファイルのサイズとビットレートの変動を予測するために使用することはできません。
制限付き CRF: CRF を使用した出力ファイルのビットレートは固定されていません。CRF を VBV と一緒に使用して、ビットレートの範囲を制限し、ビットレートの急上昇を防ぐことができます。
1 パス: この方法のエンコード速度は、2 パスよりも高速です。デフォルトでは、Alibaba Cloud は 1 パスを使用します。
2 パス: エンコーダーは 2 回実行され、ビットレートを正確に割り当てて、サイズが小さく品質の高い出力ファイルを取得します。最初のパスでは、エンコーダーはビデオを分析し、ログファイルを生成します。2 番目のパスでは、エンコーダーは分析結果に基づいてエンコードを実行し、最適なエンコード品質を取得します。2 パスは 1 パスよりも時間がかかります。したがって、2 パスは、ライブストリーミングやリアルタイムコミュニケーションなど、高いトランスコード適時性を必要とするシナリオでは使用できません。入力ビデオの圧縮率が高い場合は、2 パスを使用しないことをお勧めします。そうしないと、ブロッキングアーティファクトが発生する可能性があります。
共通の用語
リージョン
リージョンは、Alibaba Cloud サービスをアクティブ化する場所です。さまざまな Alibaba Cloud リージョンを選択し、ビジネスに近い Alibaba Cloud サービスを使用して、アクセスレイテンシを低減し、ユーザーエクスペリエンスを向上させることができます。
OSS
OSS は、Alibaba Cloud が提供するオブジェクトストレージサービスの略です。MPS は、OSS に保存されているメディアファイルをトランスコードします。出力ファイルも OSS に保存されます。詳細については、「OSS の用語」をご参照ください。
バケット
バケットは、OSS に保存されているオブジェクトのコンテナです。OSS のすべてのオブジェクトは、バケットに含まれています。リージョン、アクセス許可、ストレージフォーマットなど、バケットの複数の設定を行うことができます。必要に応じてさまざまなタイプのバケットを作成して、さまざまなデータを保存できます。詳細については、「用語」トピックの「バケット」セクションをご参照ください。
オブジェクト
オブジェクトは、OSS の最小データ単位です。OSS にアップロードされたファイルは、オブジェクトと呼ばれます。一般的なファイルシステムとは異なり、OSS のオブジェクトは、階層構造ではなくフラット構造で保存されます。オブジェクトは、キー、メタデータ、およびオブジェクトに保存されているデータで構成されます。バケット内の各オブジェクトは、キーによって一意に識別されます。オブジェクトメタデータは、オブジェクトのプロパティ(オブジェクトのサイズ、オブジェクトが最後に変更された時刻など)を定義するキーと値のペアのグループです。OSS のオブジェクトのカスタムユーザーメタデータを指定することもできます。詳細については、「用語」トピックの「オブジェクト」セクションをご参照ください。
AccessKey ペア
AccessKey ペアは、OSS がリクエスタを認証するために使用する資格情報です。AccessKey ペアは、AccessKey ID と AccessKey シークレットで構成されます。OSS は、AccessKey ペアに基づく対称暗号化を使用して、リクエスタの ID を検証します。AccessKey ID は、ユーザーを識別するために使用されます。AccessKey シークレットは、署名文字列と OSS バケットの暗号化と検証に使用されます。データのセキュリティを確保するために、AccessKey シークレットを機密にしておくことをお勧めします。
OSS は、次のタイプの AccessKey ペアをサポートしています。
バケット所有者が申請した AccessKey ペア。
バケット所有者がリソースアクセス管理(RAM)を使用して付与した AccessKey ペア。
バケット所有者がセキュリティトークンサービス(STS)を使用して付与した AccessKey ペア。
詳細については、「AccessKey ペアを取得する」をご参照ください。