「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
CloudFront と AWS Media Services によるライブストリーミングビデオの配信
CloudFront と AWS Media Services を使用して、世界中の視聴者にライブコンテンツを配信するには、このセクションに含まれるガイダンスに従います。
AWS Elemental MediaLive を使用して、ライブビデオストリームをリアルタイムでエンコードします。大きいビデオストリームをエンコードするために、MediaLive ではビューワーに配信できる小さいバージョン (エンコード) に圧縮されます。
ライブビデオストリームを圧縮した後、次の 2 つの主要なオプションのいずれかを使用して、コンテンツを準備および配信できます。
-
必要な形式にコンテンツを変換して配信する: AWS Elemental MediaPackage
を使用して、ビデオコンテンツを 1 つの形式から複数の形式に変換し、さまざまなタイプのデバイス用にコンテンツをパッケージ化できます。コンテンツをパッケージ化するときに、追加の機能を実装し、デジタル著作権管理 (DRM) を追加して、コンテンツの不正使用を防ぐこともできます。CloudFront を使用して MediaPackage でフォーマットされたコンテンツを配信する詳細な手順については、「AWS Elemental MediaPackage でフォーマットされたライブビデオの配信」を参照してください。 -
スケーラブルなオリジンを使用してコンテンツを保存して配信する: ビューワーが使用するすべてのデバイスに必要な形式で MediaLive によってコンテンツがエンコードされる場合は、AWS Elemental MediaStore のような高スケーラブルなオリジンを使用してコンテンツを配信します。CloudFront を使用して MediaStore コンテナに保存されているコンテンツを配信する詳細な手順については、「AWS Elemental MediaStore をオリジンとしたビデオの配信」を参照してください。
これらのオプションのいずれかを使用してオリジンを設定したら、CloudFront を使用して、ビューワーにライブストリーミングビデオを配信できます。
可用性の高いリアルタイムの視聴エクスペリエンスを実現するサービスを自動的にデプロイする AWS ソリューションについて、情報を入手することができます。このソリューションを自動的にデプロイする手順については、「ライブストリーミングの自動デプロイ」を参照してください。
AWS Elemental MediaStore をオリジンとしたビデオの配信
AWS Elemental MediaStore コンテナにビデオを保存している場合は、CloudFront ディストリビューションを作成してコンテンツを配信できます。
開始するには、CloudFront に MediaStore コンテナへのアクセスを許可します。次に、CloudFront ディストリビューションを作成し、MediaStore で使用するように設定します。
AWS Elemental MediaStore コンテナからコンテンツを配信するには
-
「Amazon CloudFront に MediaStore コンテナへのアクセスを許可する」の手順に従った後、以下の手順に戻ってディストリビューションを作成します。
-
次の設定でディストリビューションを作成します。
- オリジンドメイン名
-
MediaStore コンテナに割り当てられたデータエンドポイントです。ドロップダウンリストから、ライブビデオ用の MediaStore コンテナを選択します。MediaStore オリジンの形式は Container-OriginEndpointURL です。たとえば、mymediastore.data.mediastore.us-east-1.amazonaws.com です。詳細については、「オリジンドメイン名」を参照してください。
- オリジンのパス
-
オブジェクトが保存されている MediaStore コンテナのフォルダ構造です。詳細については、「オリジンのパス」を参照してください。
- オリジンのカスタムヘッダー
-
CloudFront がリクエストをオリジンに転送するときにカスタムヘッダーを含める場合は、ヘッダーの名前と値を追加します。
- ビューワープロトコルポリシー
-
[Redirect HTTP to HTTPS (HTTP から HTTPS へのリダイレクト)] を選択します。詳細については、「ビューワープロトコルポリシー」を参照してください。
- オブジェクトキャッシュ
-
使用するエンコーダーがキャッシュコントロールをすべてのオブジェクトに指定できない場合は、[Customize (カスタマイズ)] を選択します。エンコーダーがキャッシュコントロールをすべてのオブジェクトに指定できる場合は、[Origin Cache Headers (オリジンのキャッシュヘッダー)] を選択します。
- 最小 TTL、最大 TTL、およびデフォルト TTL
-
キャッシュのニーズとセグメントの継続期間に応じて設定します。
- Error Caching Minimum TTL (エラーキャッシュ最小 TTL)
-
古いコンテンツを提供しないように 5 秒以下に設定します。
その他の設定については、他の技術的要件またはビジネスのニーズに基づいて特定の値を設定できます。ディストリビューションのすべてのオプションのリストおよびその設定に関する情報については、「ディストリビューションを作成または更新する場合に指定する値」を参照してください。
-
CloudFront でディストリビューションを作成した後、キャッシュ動作を編集して、オリジンの Cross-Origin Resource Sharing (CORS) をセットアップします。
-
ディストリビューションを選択してから [Distribution Settings (ディストリビューションの設定)] を選択します。
-
[Behaviors (動作)] を選択し、オリジンを選択してから [Edit (編集)] を選択します。
-
[Cache Based on Selected Request Headers (選択したリクエストヘッダーに基づいたキャッシュ)] で [Whitelist (ホワイトリスト)] を選択してから、[Whitelist Headers (ホワイトリストのヘッダー)] で [Origin (オリジン)] を選択します。
CORS の詳細については、「リクエストヘッダーに基づくコンテンツのキャッシュ」の「Cross-Origin Resource Sharing (CORS) 設定を優先させるように CloudFront を設定する」を参照してください。
-
-
アプリケーション (メディアプレーヤーなど) 内のリンクの場合は、CloudFront を使用して配信する他のオブジェクトと同じ形式でメディアファイルの名前を指定します。
AWS Elemental MediaPackage でフォーマットされたライブビデオの配信
AWS Elemental MediaPackage でライブストリームをフォーマットした場合は、CloudFront ディストリビューションを作成し、ライブストリームを配信するようにキャッシュ動作を設定できます。以下のプロセスでは、MediaPackage を使用してライブビデオ用のチャネルの作成とエンドポイントの追加が済んでいることを前提としています。
以下のプロセスを使用する代わりに、MediaPackage でのチャネルの保存時に CloudFront ディストリビューションを自動的に作成することもできます。詳細については、AWS Elemental MediaPackage ユーザーガイドの「AWS Elemental MediaPackage でのディストリビューションの作成」を参照してください。
MediaPackage で CloudFront ディストリビューションを手動で作成するには、以下の手順に従います。
ステップ
ステップ 1: CloudFront ディストリビューションを作成して設定する
以下の手順を実行して、MediaPackage で作成したライブビデオチャネルの CloudFront ディストリビューションを設定します。
ライブビデオチャネルのディストリビューションを作成するには
-
AWS マネジメントコンソールにサインインし、CloudFront コンソール (https://console.aws.amazon.com/cloudfront/
) を開きます。 -
[Create Distribution] を選択します。
-
[Select a delivery method for your content] ページで、[Web] セクションの [Get Started] を選択します。
-
以下のようなディストリビューション用の設定を選択します。
- オリジンドメイン名
-
MediaPackage ライブビデオチャネルとエンドポイントがあるオリジン。テキストフィールドを選択し、ドロップダウンリストからライブビデオ用の MediaPackage チャンネルを選択します。1 つのチャネルを複数のオリジンにマップできます。
別の AWS アカウントを使用してチャネルを作成した場合は、オリジンの URL 値をフィールドに入力します。オリジンは HTTPS URL であることが必要です。
詳細については、「ディストリビューションを作成または更新する場合に指定する値」の「オリジンドメイン名」を参照してください。
- オリジンのパス
-
コンテンツが配信される MediaPackage エンドポイントへのパス。オリジンドメイン名を選択すると、CloudFront によってオリジンのパスが入力されます。
[Origin Domain Name (オリジンドメイン名)] に別の AWS アカウントのチャネルを使用することを選択した場合、[Origin Path (オリジンパス)] フィールドは自動的に入力されません。別のアカウントにサインインし、正しいオリジンパスを入手して、手動で入力する必要があります。
オリジンパスのしくみの詳細については、「ディストリビューションを作成または更新する場合に指定する値」の「オリジンのパス」を参照してください。
その他のディストリビューション設定には、他の技術的要件またはビジネスニーズに基づいて値を指定します。ディストリビューションのすべてのオプションのリストおよびその設定に関する情報については、「ディストリビューションを作成または更新する場合に指定する値」を参照してください。
他のディストリビューションの設定を選択したら、[Create Distribution (ディストリビューションの作成)] を選択します。
-
作成したディストリビューションを選択し、[Behaviors] タブを選択します。
-
デフォルトのキャッシュ動作を選択し、オリジンに選択したチャンネルの正しいキャッシュ動作設定を指定します。後で他のオリジンを 1 つ以上追加し、それらのキャッシュ動作設定を編集します。
-
CloudFront ディストリビューションページ
に移動します。 -
ディストリビューションの [Status (ステータス)] 列の値が [In Progress (進行中)] から [Deployed (デプロイ済み)] に変わって、CloudFront によってディストリビューションが作成されたことが示されるまで待ちます。
ステップ 2: オリジンとして他のエンドポイントを追加する
この手順を繰り返して、各 MediaPackage チャンネルエンドポイントをディストリビューションに追加します。
オリジンとして他のエンドポイントを追加するには
-
CloudFront コンソールで、チャンネル用に作成したディストリビューションを選択します。
-
[オリジンとオリジングループ] タブを選択し、[オリジンの作成] を選択します。
-
[Origin Domain Name (オリジンドメイン名)] で、ドロップダウンリストからチャネルの MediaPackage エンドポイントを選択します。CloudFront は [Origin Path (オリジンパス)] フィールドに自動的に入力します。
-
その他の設定には、他の技術的要件またはビジネスニーズに基づいて値を指定します。詳細については、「オリジンの設定」の「ディストリビューションを作成または更新する場合に指定する値」を参照してください。
-
[Create] を選択します。
ステップ 3: すべてのエンドポイントのキャッシュ動作を設定する
エンドポイントごとに、キャッシュ動作を設定して、リクエストを正しくルーティングするパスパターンを追加する必要があります。指定するパスパターンは、配信するビデオの形式によって異なります。次の手順には、Apple HLS、CMAF、DASH、および Microsoft スムーズストリーミング形式で使用するパスパターン情報が含まれています。
通常、エンドポイントごとに 2 つのキャッシュ動作を設定します。
-
ファイルのインデックスになる親マニフェスト
-
セグメント (ビデオコンテンツのファイル)
エンドポイントのキャッシュ動作を作成するには
-
CloudFront コンソールで、チャンネル用に作成したディストリビューションを選択します。
-
[Behaviors (動作)] タブでを選択したら、[Create Behavior(動作の作成)] を選択します。
-
[キャッシュ動作の設定 ] セクションで、各エンドポイントタイプについて、次のガイダンスに示されている最初のパターンを [Path Pattern (パスパターン)] に入力します。たとえば、DASH エンドポイントの場合は、[Path Pattern (パスパターン)] に「
*.mpd
」と入力します。- パスパターン
-
HLS エンドポイントの場合、以下の 2 つのキャッシュ動作を作成します。
-
親および子マニフェストの場合は、
*.m3u8
を使用します。 -
コンテンツセグメントの場合は、
*.ts
を使用します。
CMAF エンドポイントの場合、以下の 2 つのキャッシュ動作を作成します。
-
親および子マニフェストの場合は、
*.m3u8
を使用します。 -
コンテンツセグメントの場合は、
*.mp4
を使用します。
DASH エンドポイントの場合、以下の 2 つのキャッシュ動作を作成します。
-
親マニフェストの場合は、
*.mpd
を使用します。 -
コンテンツセグメントの場合は、
*.mp4
を使用します。
Microsoft Smooth Streaming エンドポイントの場合、マニフェストのみが使用されるため、1 つのキャッシュ動作のみを作成します:
index.ism/*
。 -
-
キャッシュ動作ごとに、以下の設定の値を指定します。
- ビューワープロトコルポリシー
-
[Redirect HTTP to HTTPS (HTTP から HTTPS へのリダイレクト)] を選択します。
- 選択されたリクエストヘッダーに基づいたキャッシュ
-
[None (improves caching) (なし (キャッシュを改善))] を選択します。
キャッシュの改善の詳細については、「CloudFront キャッシュから直接提供されるリクエストの比率 (キャッシュヒット率) の向上」を参照してください。
- オブジェクトキャッシュ
-
MediaPackage によって、正しい再生動作のためのデフォルトの
Cache-Control
ヘッダーが設定されます。これらの値を使用する場合は、[Use Origin Cache Headers] (オリジンキャッシュヘッダーの使用) を選択します。ただし、ビデオセグメントのキャッシュ時間を長くすることができます。CloudFront キャッシュ内のオブジェクトの保持時間をカスタマイズする方法の詳細については、「ディストリビューションを作成または更新する場合に指定する値」の「オブジェクトキャッシュ」を参照してください。 - 最小 TTL
-
古いコンテンツを提供しないように 5 秒以下に設定します。
- クエリ文字列の転送とキャッシュ
-
[Forward all, cache based on whitelist (すべて転送 - ホワイトリストに基づいてキャッシュ)] を選択します。
- クエリ文字列のホワイトリスト
-
CloudFront によってキャッシュの基準として使用されるクエリ文字列パラメータとして
m
を指定します。MediaPackage レスポンスには、エンドポイントの変更時間を取得するためのタグ?m=###
が常に含まれます。コンテンツがすでにキャッシュされていて、このタグに別の値が設定されている場合、CloudFront はキャッシュされたバージョンを配信する代わりに新しいマニフェストをリクエストします。MediaPackage でタイムシフト表示機能を使用している場合は、マニフェストリクエスト (
*.m3u8
、*.mpd
、index.ism/*
) のキャッシュ動作の追加のクエリ文字列パラメータとしてstart
とend
を指定します。これにより、マニフェストリクエストで指定した期間に固有のコンテンツが配信されます。タイムシフト表示の詳細、コンテンツ開始および終了リクエストパラメータの形式の詳細については、AWS Elemental MediaPackage ユーザーガイドの「タイムシフト表示」を参照してください。MediaPackage でマニフェストフィルタリング機能を使用している場合は、マニフェストリクエスト (
*.m3u8
、*.mpd
、index.ism/*
) のキャッシュ動作の追加のクエリ文字列パラメータとしてaws.manifestfilter
を指定します。これにより、aws.manifestfilter
クエリ文字列を MediaPackage オリジンに転送するようにディストリビューションが設定されます。これは、マニフェストフィルタリング機能を有効にするために必要です。詳細については、AWS Elemental MediaPackage ユーザーガイドの「マニフェストのフィルタ処理」を参照してください。
-
[Create] を選択します。
-
Microsoft Smooth Streaming エンドポイント以外のエンドポイントの場合は、[Create Behavior] (動作の作成) を選択し、ここまでの手順を繰り返して 2 つ目のキャッシュ動作を作成します。
ステップ 4: CloudFront を使用してライブストリームチャネルを提供する
ディストリビューションを作成し、オリジンを追加し、キャッシュ動作を作成したら、CloudFront を使用してライブストリームチャネルを配信できます。CloudFront は、キャッシュ動作用に定義した設定に基づいて、ビューワーからのリクエストを正しい MediaPackage エンドポイントにルーティングします。
アプリケーション (メディアプレーヤーなど) 内のリンクの場合は、CloudFront URL の標準形式でメディアファイルの URL を指定します。詳細については、「CloudFront でファイルの URL の形式をカスタマイズする」を参照してください。