

# CloudFront でビデオオンデマンドを配信する
<a name="on-demand-video"></a>

CloudFront でビデオオンデマンド (VOD) ストリーミングを配信するには、以下のサービスを使用します。
+ Amazon S3 を使用してコンテンツを元の形式で保存し、トランスコードされたビデオを保存します。
+ ビデオをストリーミング形式に変換するエンコーダ (AWS Elemental MediaConvert など)。
+ CloudFront を使用して、トランスコードされたビデオをビューワーに配信します。Microsoft スムーズストリーミングについては、「[Microsoft Smooth Streaming のビデオオンデマンドを設定する](#on-demand-streaming-smooth)」を参照してください。

**CloudFront で VOD ソリューションを作成するには**

1. コンテンツを Amazon S3 バケットにアップロードします。Amazon S3 の使用の詳細については、[Amazon Simple Storage Service ユーザーガイド](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)を参照してください。

1. MediaConvert ジョブを使用してコンテンツをトランスコードします。このジョブは、ビデオをビューワーが使用するプレーヤーが必要とする形式に変換します。ジョブを使用して、解像度とビットレートが異なるアセットを作成することもできます。これらのアセットは、アダプティブビットレート (ABR) ストリーミングに使用され、ビューワーの利用可能な帯域幅に応じて表示品質を調整します。MediaConvert はトランスコードされたビデオを S3 バケットに保存します。

1. CloudFront ディストリビューションを使用して、変換したコンテンツを配信します。ビューワーはいつでも、どのデバイスでもコンテンツを視聴できます。

## Microsoft Smooth Streaming のビデオオンデマンドを設定する
<a name="on-demand-streaming-smooth"></a>

CloudFront を使用して、Microsoft Smooth Streaming 形式にトランスコードしたビデオオンデマンド (VOD) コンテンツを配信するには、以下のオプションがあります。
+ Microsoft IIS を実行し、ディストリビューションのオリジンとしてスムーズストリーミングをサポートするウェブサーバーを指定します。
+ CloudFront ディストリビューションのキャッシュ動作でスムーズストリーミングを有効にします。1 つのディストリビューションでは複数のキャッシュ動作を使用できるため、1 つのディストリビューションをスムーズストリーミングメディアファイルとその他のコンテンツに使用できます。

**重要**  
オリジンとして Microsoft IIS を実行しているウェブサーバーを指定する場合は、CloudFront ディストリビューションのキャッシュ動作でスムーズストリーミングを*有効にしない*でください。キャッシュ動作としてスムーズストリーミングを有効にした場合、CloudFront は Microsoft IIS サーバーをオリジンとして使用できません。

オリジンサーバーに対してスムーズストリーミングを有効にした場合 (つまり、Microsoft IIS サーバーがない場合) は、以下の点に注意してください。
+ 他のコンテンツがキャッシュ動作の [**Path Pattern (パスパターン)**] の値と一致している場合、同じキャッシュ動作を使用してそのコンテンツも配信できます。
+ CloudFront は、スムーズストリーミングメディアファイルで Amazon S3 バケットまたはカスタムオリジンを使用できます。キャッシュ動作に対してスムーズストリーミングを有効にした場合、CloudFront は Microsoft IIS Server をオリジンとして使用できません。
+ スムーズストリーミング形式のメディアファイルを無効にすることはできません。有効期限が切れる前にファイルを更新する場合は、ファイルの名前を変更する必要があります。詳細については、「[CloudFront が配信するコンテンツを追加、削除、または置き換える](AddRemoveReplaceObjects.md)」を参照してください。

スムーズストリーミングクライアントについては、Microsoft ドキュメントウェブサイトの「[スムーズストリーミング](https://learn.microsoft.com/en-us/shows/iis-net-site-videos/smooth-streaming)」を参照してください。

**Microsoft IIS ウェブサーバーがオリジンでない場合に CloudFront を使用してスムーズストリーミングファイルを配布するには**

1. スムーズストリーミングでフラグメント化された MP4 形式にメディアファイルを変換します。

1. 次のいずれかを行ってください。
   + **CloudFront コンソールを使用している場合:** ディストリビューションを作成または更新するときに、ディストリビューションの 1 つ以上のキャッシュ動作でスムーズストリーミングを有効にします。
   + **CloudFront API を使用している場合:** ディストリビューションのキャッシュ動作の 1 つ以上の `SmoothStreaming` 複合型に `DistributionConfig` 要素を追加します。

1. スムーズストリーミングファイルをオリジンにアップロードします。

1. `clientaccesspolicy.xml` または `crossdomainpolicy.xml` ファイルを作成し、それをディストリビューションのルートのアクセスできる場所に追加します (例: `https://d111111abcdef8.cloudfront.net/clientaccesspolicy.xml`)。次に、ポリシーの例を示します。

   ```
   <?xml version="1.0" encoding="utf-8"?>
   <access-policy>
   <cross-domain-access>
   <policy>
   <allow-from http-request-headers="*">
   <domain uri="*"/>
   </allow-from>
   <grant-to>
   <resource path="/" include-subpaths="true"/>
   </grant-to>
   </policy>
   </cross-domain-access>
   </access-policy>
   ```

   詳細については、Microsoft デベロッパーネットワークウェブサイトの「[Making a Service Available Across Domain Boundaries](https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc197955(v=vs.95))」を参照してください。

1. アプリケーション (メディアプレーヤーなど) 内のリンクの場合は、以下の標準形式でメディアファイルの URL を指定します。

   `https://d111111abcdef8.cloudfront.net/video/presentation.ism/Manifest`