

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# HLS マニフェスト内のパスのカスタマイズ
<a name="hls-manifest-paths"></a>

標準の MediaLive チャネルで HLS 出力グループを作成するときに、カスタム マニフェストをセットアップできます。

MediaPackage 出力グループ、またはダウンストリームシステムが MediaPackage の場合は HLS 出力グループでカスタムマニフェストを設定できないことに注意してください。MediaPackage はデフォルトのパスでのみ機能します。

子マニフェストへのパスを変更することで、メインマニフェストをカスタマイズできます。メディアファイルのパスを変更することで、各子マニフェストをカスタマイズすることもできます。通常、構文の変更が必要なのは、ダウンストリームシステムに特別なパス要件がある場合に限られます。Akamai CDN では、通常、構文を変更する必要があります。

**注記**  
HLS マニフェストのこのセクションの情報は、「[ゼロからのチャンネルの作成](creating-channel-scratch.md)」で説明しているように、チャンネルを作成する一般的な手順に精通していることを前提としています。  
この機能に関係するコンソール内の主なフィールドは **[Create channel]** (チャンネルの作成) ページにある **[HLS output group]** (HLS 出力グループ) セクションの **[Location]** (場所) グループです。これらのフィールドに入力する手順を確認するには、「[手順](creating-hls-output-group.md#hls-create-procedure)」を参照してください。

**Topics**
+ [カスタムパスを設定する手順](hls-custom-manifests-procedure.md)
+ [マニフェストの仕組み](hls-manifests-how-work.md)
+ [カスタムパスのルール](hls-custom-paths-rules.md)
+ [カスタムパスの設定に関するガイダンス](hls-custom-paths-guidance.md)
+ [カスタムパスの例](hls-custom-paths-examples.md)

# カスタムパスを設定する手順
<a name="hls-custom-manifests-procedure"></a>

マニフェストパスのカスタマイズには、次のフィールドの操作が必要です。
+ **HLS 出力グループ – 場所** – **ベース URL マニフェスト** フィールド
+ **[HLS output group] (HLS 出力グループ) –[Location] (場所)** – **[Base URL content]** (ベース URL コンテンツ) フィールド

**マニフェストでカスタムパスを設定するには**

1. ダウンストリームシステムに問い合わせて、カスタムパスが必要かどうかを確認します。メインマニフェストに子マニフェストへのカスタムパスが必要な場合や、子マニフェストにメディアファイルへのカスタムパスが必要な場合や、メインマニフェストと子マニフェストの両方にカスタムパスが必要な場合があります。「[マニフェストの仕組み](hls-manifests-how-work.md)」を参照してください。

1. パスの設計にあたっては、[パスを構築する際に構文とルール](hls-destinations-design-step.md#hls-syntax-http)に注意を払ってください。

   [さまざまなダウンストリームシステムについては、このガイダンス](hls-custom-paths-guidance.md)を参照してください。

   [これらの例](hls-custom-paths-examples.md)を参照してください。

1. [HLS output group] (HLS 出力グループ) ページの **[Location]** (場所) セクションで、次のいずれか、または両方のフィールドに値を入力します。
   + **ベース URL マニフェスト A** および**ベース URL マニファスト B**。単一パイプラインチャンネルの場合、フィールド A にのみ入力します。標準チャンネルの場合、フィールド A とフィールド B に入力します。
   + **[Base URL content A]** (ベース URL コンテンツ A) および **[Base URL content B]** (ベース URL コンテンツ B)。単一パイプラインチャンネルの場合、フィールド A にのみ入力します。標準チャンネルの場合、フィールド A とフィールド B に入力します。

# マニフェストの仕組み
<a name="hls-manifests-how-work"></a>

次のセクションでは、MediaLive がマニフェスト パスを処理する方法について説明します。

## デフォルトでのマニフェストパスの仕組み
<a name="hls-default-manifest-paths"></a>

MediaLive が作成するマニフェストには、他のファイルへのパスに関する情報が含まれます。具体的な内容は次のとおりです。
+ メインマニフェスト内のコンテンツには、各子マニフェストへのパスが含まれます。

  デフォルトでは、このパスの構文は次のとおりです。

  ```
  baseFilename nameModifier extension
  ```

  例えば：

  ```
  curling-high.m3u8
  ```

  パスは、メインマニフェストの場所からの相対パスです。
+ 各子マニフェスト内のコンテンツには、そのメディアファイルへのパスが含まれます。

  デフォルトでは、このパスの構文は次のとおりです。

  ```
  baseFilename nameModifier optionalSegmentModifier counter extension
  ```

  例えば：

  ```
  curling-high-000001.ts
  ```

  パスは、子マニフェストの場所からの相対パスです。

## カスタムパスの仕組み
<a name="hls-custom-manifest-paths"></a>

マニフェスト内のデフォルトパスが、ダウンストリームシステムが 3 つのファイルセットを処理する方法に適していない場合は、*[Base URI]* (ベース URI) フィールドに入力できます。
+ **[Base URL manifest]** (ベース URL マニフェスト) フィールドに値を入力して MediaLive で子マニフェストへのカスタムパスを構築できるようにします。
+ **[Base URL Content]** (ベース URL コンテンツ) フィールドに値を入力して MediaLive でメディアファイルへのカスタムパスを構築できるようにします。

パスをカスタマイズすると、構文が変更されます。
+ **[Base URL manifest]** (ベース URL マニフェスト) フィールドに入力すると、子マニフェストパス (メインマニフェスト内) の構文は次のようになります。

  ```
  baseURLManifest baseFilename nameModifier extension
  ```

  例えば：

  ```
  http://viewing/sports/curling-high.m3u8
  ```
+ **[Base URL content]** (ベース URL コンテンツ) フィールドに値を入力すると、メディアファイルパス (子マニフェスト内) の構文は次のようになります。

  ```
  baseURLContent baseFilename nameModifier optionalSegmentModifier counter
          extension
  ```

  例えば：

  ```
  http://viewing/media/sports/curling-high-000001.ts
  ```

## MediaLive がこれらのパスを構築する仕組み
<a name="hls-how-construct-custom-paths"></a>

子マニフェストへのカスタムパスは、次のように構築されます。
+ **[Base URL manifest]** (ベース URL マニフェスト) フィールドまたは **[Base URL content]** (ベース URL コンテンツ) フィールド、またはその両方に入力します。

  例えば：

  ```
  http://198.51.100/sports/viewing/
  ```

  値の末尾にあるスラッシュに注意してください。
+ MediaLive は、その値を[デフォルトパス](#hls-default-manifest-paths)の前に追加します。例えば：

  ```
  http://198.51.100/sports/viewing/curling-high.m3u8
  ```

# カスタムパスのルール
<a name="hls-custom-paths-rules"></a>

MediaLive HLS 出力グループのマニフェストをカスタマイズするように を設定したら、ダウンストリームシステムの問い合わせ担当者と次のルールを共有する必要があります。

一般的なルールでは、カスタムパスが環境で機能することを確認するのはダウンストリームシステムの責任です。MediaLive は値を検証しません。したがって:
+ プロトコルが指定されている場合 (オプション)、これは **[Destination URL]** (送信先 URL) フィールドで指定したプロトコルと同じである必要があります。
+ 同じパイプラインの **[Base URL manifest]** (ベース URL マニフェスト) フィールドと **[Base URL content]** (ベース URL コンテンツ) フィールドには、同じ値または異なる値を入力できます。これらは、任意の部分 (ドメイン、パス) で同じでも、異なっていてもかまいません。
+ これらの値は、相対パスまたは絶対パスになります。
+ 子マニフェストへの相対パスは、常にメインマニフェストの場所からの相対パスです。
+ メディアファイルへの相対パスは、常に子マニフェストの場所からの相対パスです。
+ パスはスラッシュで終わる必要があります。

# カスタムパスの設定に関するガイダンス
<a name="hls-custom-paths-guidance"></a>

HLS 出力のカスタマイズされたパスのコンテンツは、MediaLive のダウンストリームにあるシステムに適している必要があります。さまざまなダウンストリームシステムで *[Base URL]* (ベース URL) フィールドを使用するためのガイダンスを次に示します。

**ダウンストリームシステムを制御する場合のカスタムパスの設定**

ダウンストリームシステムを制御する場合があります。たとえば、ダウンストリーム システムは、Amazon CloudFront にコンテンツを送信する Amazon S3 または MediaStore である可能性があります。HLS ファイルの処理に、1 つ以上のファイルセットの移動が必要な場合があります。この場合、これらの *[Base URL]* (ベース URL) フィールドに値を入力して、ファイルの最終的な場所のパスと一致させることができます。

**ダウンストリームパッケージャが MediaPackage である場合のカスタムパスの設定**

ダウンストリームパッケージが MediaPackage である場合、**[Base URL]** (ベース URL) フィールドは空です。MediaPackage はこの情報を使用しません。

**サードパーティーのダウンストリームシステムを使用する場合のカスタムパスの設定**

サードパーティーのダウンストリームシステムを使用する場合、ダウンストリームシステムは、これらの **[Base URL]** (ベース URL) フィールドに入力するかどうかを通知する必要があります。

# カスタムパスの例
<a name="hls-custom-paths-examples"></a>

MediaLive HLS 出力グループのマニフェストをカスタマイズするさまざまな方法の例を次に示します。次のすべての例では、次のことを前提としています。
+ メインマニフェストでは、子マニフェストへのデフォルトパスは次の相対パスです。

  ```
  curling-high.m3u8
  ```
+ 子マニフェストでは、メディアファイルへのデフォルトパスは次の相対パスです。

  ```
  curling-high-000001.ts
  ```

**Example 1**  
ダウンストリームシステムは、MediaLive がファイルプッシュする場所からファイルを移動します。ダウンストリームシステムは、子マニフェストが親マニフェストと同じ相対的な場所にあり、さらにメディアファイルも子マニフェストと同じ相対的な場所にあるようファイルを移動します。  
したがって、パスをカスタマイズする必要はありません。デフォルトパスは、移動後も機能します。

**Example 2**  
メインマニフェストと子マニフェストに、それぞれのファイルへの絶対パスを含めます。次のように設定します。  
+ **[Base URL manifest A]** (ベース URL マニフェスト A) フィールドに入力して、次の絶対パスを指定します。

  ```
  http://198.51.100/sports/viewing/
  ```

  メインマニフェスト内では、子マニフェストへのパスは次のようになります。

  ```
  http://198.51.100/sports/viewing/curling-high.m3u8
  ```
+ **[Base URL content]** (ベース URL コンテンツ) フィールドに入力して、次の絶対パスを指定します。

  ```
  http://203.0.113.55/sports/viewing/
  ```

  子マニフェスト内では、メディアファイルへのパスは次のようになります。

  ```
  http://203.0.113.55/sports/viewing/curling-high-000001.ts
  ```
この例は、2 つのファイルセットのドメインが異なる可能性があることを示しています。

**Example 3**  
親マニフェストに子マニフェストへの絶対パスを含めます。ただし、子マニフェストに、子マニフェストからの相対パスであるメディアファイルへのパスを含めます。この場合、子マニフェストへのパスをカスタマイズしますが、メディアファイルへのデフォルトパスを引き続き使用します。  
+ **[Base URL manifest A]** (ベース URL マニフェスト A) フィールドに入力して、次の絶対パスを指定します。

  パイプライン A のメインマニフェスト内では、子マニフェストへのパスは次のようになります。

  ```
  http://198.51.100/sports/viewing/curling-high.m3u8
  ```
+ **[Base URL manifest A]** (ベース URL コンテンツ A) フィールドには入力しません。

  子マニフェスト内では、メディアファイルへのパスはデフォルトのままです。

  ```
  curling-high-000001.ts
  ```