翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
マニフェストでのフィルタリング
マニフェストフィルタリングを使用すると、AWS Elemental MediaPackage により、再生リクエストに追加されたクエリで指定したパラメータに基づいて、クライアントマニフェストが動的に生成されます。これにより、プレミアム 4K HEVC コンテンツへの視聴者によるアクセスを制限したり、特定のデバイスタイプや音声サンプルレートの範囲をターゲットにしたりなどを、すべて単一のエンドポイントから行うことができます。以前は、この動作を実現するには複数のエンドポイントを設定する必要があります。 MediaPackage 現在では、同じエンドポイントで異なるクライアントマニフェストを動的に生成するための費用対効果の高い方法が提供されます。
マニフェストフィルタの使用
マニフェストフィルタを使用すると、結果として生じるマニフェストには、クエリで指定した特性に一致するオーディオストリームとビデオストリームのみが含まれます。マニフェストフィルタを使用しない場合、取り込まれたストリームはすべてエンドポイント出力ストリームに存在します。例外は、最小ビデオビットレートなど、エンドポイントにストリームフィルタを設定した場合です。その場合、マニフェストフィルタはストリームフィルタの後に適用され、出力を歪める可能性があるため、推奨されません。
マニフェストフィルタリングは、 でサポートされているすべてのエンドポイントタイプで使用できます MediaPackage。
-
Apple HLS
-
DASH-ISO
-
Microsoft Smooth Streaming
-
CMAF
マニフェストフィルタリングを使用するには、再生リクエストにaws.manifestfilter
クエリパラメータを に追加してクエリ MediaPackage MediaPackage を評価し、それらのクエリパラメータに基づいてクライアントマニフェストを提供します。マニフェストクエリでは、大文字と小文字は区別されず、最大 1024 文字まで指定できます。クエリの形式が正しくない場合、またはクエリパラメータと一致するストリームがない場合、 MediaPackage は不完全または空のマニフェストを返します。クエリ構文については、次のセクションを参照してください。
注記
Apple HLS または CMAF エンドポイントを使用している場合は、特別な条件が適用されます。これらの条件の詳細については、HLS および CMAF マニフェストの特別な条件 を参照してください。
クエリ構文
基本となるクエリパラメータは aws.manifestfilter
で、その後にオプションのパラメータ名と値のペアが続きます。クエリを構築するには、 MediaPackage エンドポイント URL の末尾?aws.manifestfilter=
に を追加し、その後にパラメータ名と値が続きます。すべての使用可能なパラメータのリストについては、「マニフェストフィルタクエリパラメータ」を参照してください。
Apple HLS フィルタクエリは次のようになります。
https://example-mediapackage-endpoint.mediapackage.us-west-2.amazonaws.com/out/v1/examplemediapackage/index.m3u8
?aws.manifestfilter=audio_sample_rate:0-44100;video_bitrate:0-2147483647;video_codec:h265;audio_language:fr,en-US,de
次の表に、クエリ構文が表示されます。
クエリ文字列のコンポーネント | 説明 |
---|---|
? |
クエリの先頭を示す制限された文字。 |
aws.manifestfilter= |
名前と値のペアで構成されたパラメータが続くベースクエリ。すべての使用可能なパラメータのリストについては、「マニフェストフィルタクエリパラメータ」を参照してください。 |
: |
パラメータ名と値を関連付けるために使用されます。例えば、 などです。 |
; |
複数のパラメータを含むクエリのパラメータを区切ります。例えば、「 」と入力します。 |
, |
値のリストを区切ります。例えば、「parameter_name: 」と入力します。リスト内のカンマ区切り値は、OR 関係を意味します。 |
- |
パラメータの最小値 - 最大値の範囲を定義するために使用します。例えば、「audio_sample_rate:0-44100 」と入力します。範囲内で数値が使用される場合、その数値は範囲定義に含まれます。つまり、ストリームは最小値以上で、最大値以下である必要があります。範囲の場合、最小値と最大値は必須です。サポートされている範囲値は 0 - 2147483647 です。 |
注記
Amazon を CDN CloudFront として使用する場合は、追加の設定が必要になる場合があります。詳細については、「すべてのエンドポイントのキャッシュ動作を設定する」を参照してください。
マニフェストフィルタクエリパラメータ
MediaPackage では、次のクエリパラメータがサポートされています。
カテゴリ | 名前 | 説明 | 例 |
---|---|---|---|
音声 | audio_bitrate |
|
stream.mpd?aws.manifestfilter=audio_bitrate:0-2147483647 |
音声 | audio_channels |
|
stream.mpd?aws.manifestfilter=audio_channels:1-8 |
音声 | audio_codec |
|
stream.mpd?aws.manifestfilter=audio_codec:AACL,AC-3 |
音声 | audio_language |
|
stream.mpd?aws.manifestfilter=audio_language:fr,en-US,de |
音声 | audio_sample_rate |
|
stream.mpd?aws.manifestfilter=audio_sample_rate:0-44100 |
サブタイトル | subtitle_language |
|
stream.mpd?aws.manifestfilter=subtitle_language:en-US, hi |
動画 | trickplay_height |
|
stream.mpd?aws.manifestfilter=trickplay_height:200-1200 |
動画 | trickplay_type |
|
stream.mpd?aws.manifestfilter=trickplay_type:iframe |
動画 | video_bitrate |
|
stream.mpd?aws.manifestfilter=video_bitrate:0-2147483647 |
動画 | video_codec |
|
stream.mpd?aws.manifestfilter=video_codec:h264 |
動画 | video_dynamic_range |
|
stream.mpd?aws.manifestfilter=video_dynamic_range:hdr10 |
動画 | video_framerate |
|
stream.mpd?aws.manifestfilter=video_framerate:23.976-30 |
動画 | video_height |
|
stream.mpd?aws.manifestfilter=video_height:720-1080 |
マニフェストフィルタリングの例
以下は、マニフェストフィルタリングの例です。
例 1: AVC および 44.1k 音声サンプルレートをサポートするプレーヤーをターゲットにする
視聴者は、AVC および 44.1k 音声サンプルレートのみをサポートできるデバイスでコンテンツを再生しています。video_codec
および audio_sample_rate
を設定して、これらの要件に合わないストリームを除外します。
?aws.manifestfilter=audio_sample_rate:0-44100;video_codec:h264
例 2: 4k HEVC コンテンツを制限する
4K HEVC ストリームは 15 Mbps で、他のすべてのストリームは 9 Mbps 未満です。ストリームセットから 4K ストリームを除外するには、しきい値を 9,000,000 ビット/秒に設定して、より高いビットレートを除外します。
?aws.manifestfilter=video_bitrate:0-9000000
例 3: 23.976 ~ 30 フレーム/秒のビデオを含める
特定のフレームレート範囲内のビデオのみを含めるには、video_framerate
を使用します。このパラメータには、最大 3 つのオプションの 10 進値を含む浮動小数点数を指定できます。
?aws.manifestfilter=video_framerate:23.976-30
HLS および CMAF マニフェストの特別な条件
HLS または CMAF マニフェストを使用している場合は、これらの特別な条件が適用されます。
-
HLS マニフェストの場合、除外されたオーディオストリームと多重化されているビデオストリームを削除しないように、オーディオレンディショングループを使用することを強くお勧めします。レンディショングループの詳細については、「AWS Elemental MediaPackage のレンディショングループのリファレンス」を参照してください。
-
HLS および CMAF マニフェストでは、音声サンプルレートは通知されないため、この設定の元のマニフェスト、またはフィルタリングされたマニフェストを視覚的に確認することは容易ではありません。音声サンプルレートを確認するには、エンコーダーレベルおよび出力レベルで音声サンプルレートを確認します。
-
HLS および CMAF マニフェストでは、バリアントの
BANDWIDTH
属性は、音声トラックの帯域幅を、ビデオトラックと多重化されているか、ビデオトラックが参照するオーディオレンディショントラックであるかにかかわらず、ビデオトラックに関連付けます。したがって、元のマニフェストとフィルタリングされたマニフェストを視覚的に検査して、video_bitrate
フィルターが機能していることを確認することはできません。フィルタを確認するには、エンコーダーレベルと出力レベルでビデオビットレートを確認します。 -
HLS および CMAF マニフェストの場合、ビットレートのプレイリストまたはセグメントにリクエストパラメータが追加されると、HTTP 400 エラーが発生します。
エラー状態
次の表に一般的なエラー状態を示します。
エラー状態 | 例 | HTTP ステータスコード |
---|---|---|
リストパラメータが見つからず、限定されたリストの一部でもない | ?aws.manifestfilter=audio_language:dahlia |
200 |
字幕ストリームのみがストリームに存在している | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
200 |
フィルタパラメータが重複している | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=audio_sample_rate:0-48000 |
400 |
無効なパラメータ | ?aws.manifestfilter=donut_type:rhododendron |
400 |
無効な範囲パラメータ | ?aws.manifestfilter=audio_sample_rate:300-0 |
400 |
無効な範囲値 (INT_MAX 以上) |
?aws.manifestfilter=audio_sample_rate:0-2147483648 |
400 |
正しい形式でないクエリ文字列 | ?aws.manifestfilter=audio_sample_rate:is:0-44100 |
400 |
パラメータ文字列が 1024 文字を超えている | ?aws.manifestfilter=audio_language:abcdef.... |
400 |
HLS または CMAF ビットレートマニフェストのクエリパラメータ | index_1.m3u8?aws.manifestfilter=video_codec:h264 |
400 |
セグメントリクエストのクエリパラメータ | ..._1.[ts|mp4|vtt..]?aws.manifestfilter=video_codec:h264 |
400 |
繰り返しクエリパラメータ | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=video_bitrate:0-1 |
400 |
フィルタを適用すると、空のマニフェストになる (コンテンツには、クエリ文字列で定義された条件を満たすストリームがない)。 | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
400 |