

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

# ESAM XML を使用した SCTE-35 マーカーの指定
<a name="specifying-scte-35-markers-using-esam-xml"></a>

入力ビデオに SCTE-35 マーカーが含まれていないが、出力に広告挿入ポイントを指定する必要がある場合は、 AWS Elemental MediaConvert ジョブ設定で Event Signaling and Management (ESAM) XML ドキュメントを指定できます。その場合、MediaConvert はドキュメント内で指定された挿入ポイントで IDR (Instantaneous Decoder Refresh) フレームを使用して出力を条件付けします。MPEG2-TS および HLS コンテナでラップされている出力でも、MediaConvert はそれらのポイントに SCTE-35 time\$1signal メッセージを挿入します。

[**Apple HLS**] 出力グループの場合は、HLS マニフェスト条件付け XML ドキュメントを指定することもできます。それにより、HLS 出力のマニフェストを条件付けするようにジョブを設定できます。

**注記**  
MPEG2-TS 出力に SCTE-35 マーカーを挿入するには、ESAM XML ドキュメントを提供することに加えて、各出力で [**ESAM SCTE-35**] を有効にすることも必要です。詳細については、この概要に続くコンソールの手順を参照してください。

**ESAM ドキュメントのタイムコードについて**  
入力のクリッピングとステッチングの後、最終出力のタイミングを基準にして XML ドキュメントで挿入ポイントを指定します。タイミングは、タイムコードの設定にかかわらず、00:00:00:00 から始めます。フレーム番号を持つ 24 時間形式 (HH:MM:SS:FF) を使用します。

例えば、ジョブには 3 つの入力として、5 分のプリロール、1 時間のフィルム、5 分のポストロールがあります。入力のクリッピングを使用して、1 時間の入力のうち最後の 20 分のクリップして調整します。したがって、出力はプリロールとポストロールを含めて 30 分になります。最初の挿入ポイントをメインコンテンツに 3 分表示するには、8 分 (5 分間のプリロールから 3 分後) に指定します。

**ESAM XML ドキュメントをジョブ設定に含めるには (コンソール)**

1. MediaConvert コンソール [(https://console.aws.amazon.com/mediaconvert)](https://console.aws.amazon.com/mediaconvert) を開きます。

1. [**Create new job (新しいジョブを作成)**] を選択します。

1. ビデオとオーディオの入力、出力グループ、および出力を設定します。方法については、「[チュートリアル: ジョブ設定の構成](setting-up-a-job.md)」と「[出力の作成する](output-settings.md)」を参照してください。

1. 左側の [**Job (ジョブ)**] ナビゲーションペインで、[**Job settings (ジョブ設定)**] の [**Settings (設定)**] を選択します。

1. [**Ad signaling (広告信号処理)**] セクションで、[**Event signaling and messaging (ESAM)**] を有効にします。

1. [**Signal processing notification XML (信号処理通知 XML)**] に、ESAM 信号処理 XML ドキュメントをテキストとして入力します。例については、[ESAM XML 信号処理通知の例](example-esam-xml.md)を参照してください。
**注記**  
デフォルトでは、MediaConvert は ESAM ペイロードに 4 秒のプリロールを追加します。これにより、MediaConvert は HLS マニフェストでキューマーカーが指定するよりも 1 セグメント早く SCTE-35 メッセージを配置することがあります。プリロールを削除するには、`responseSignalPreroll` をゼロに設定します。この設定は、[EsamSettings](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs-id.html#jobs-id-model-esamsettings) の子です。

1. SCTE-35 マーカーに関する情報を HLS マニフェストに含める場合は、**[マニフェスト条件付け確認通知 XML]** に、ESAM マニフェスト条件付き XML ドキュメントをテキストとして入力します。MediaConvert では、ダッシュマニフェストに SCTE-35 マーカーに関する情報は含まれません。

   マニフェストに加え、SCTE-35 マーカーをトランスポートストリームに挿入するには、MCC ドキュメント内の `dataPassThrough` 属性を `"true"` に設定します。トランスポートストリームにマーカーを使用しない場合は、`dataPassThrough` 属性を削除してください｡

   例については、[ESAM XML マニフェスト確認条件通知の例](example-esam-xml-manifest-conditioning.md)を参照してください。

1. SCTE-35 マーカーが必要な MPEG2-TS 出力ごとに、マーカーを有効にします。

   1. 左側の [**Job (ジョブ)**] ペインの [**Output groups (出力グループ)**] にある [**File group (ファイルグループ)**] で、出力を選択します。

   1. MPEG2-TS 出力を選択したことを確認します。[**Output settings (出力設定)**] セクションで、[**コンテナ**] が [**MPEG-2 Transport Stream (MPEG-2 トランスポートストリーム)**] に設定されていることを確認します。

   1. [**Container settings (コンテナ設定)**] を選択し、下にスクロールして [**PID controls (PID コントロール)**] セクションを見つけます。

   1. [**ESAM SCTE-35**] で、[**Enabled (有効)**] を選択します。

   1. [**SCTE-35 source (SCTE-35 ソース)**] で、デフォルトの [**None (なし)**] のままにします。

1. このステップは、ジョブ内の **Apple HLS** 出力グループに対してのみ実行します。

   ESAM の挿入ポイントを使用して HLS マニフェストを条件付けする場合は、「[SCTE-35 の情報を HLS マニフェストに含める](including-scte-35-information-in-your-hls-manifest.md)」の手順に従います。それ以外の場合は、以下の手順に従って、ここでの設定がまだデフォルトの状態になっていることを確認します。

   1. この手順の前のステップで説明した [**Manifest confirm condition notification XML (マニフェスト条件付け確認通知 XML)**] が空であることを確認します。

   1. ジョブの [**Apple HLS**] 出力グループごとに、[**Ad Markers (広告マーカー)**] チェックボックスがオフになっていることを確認します。

      1. 左側の [**Job (ジョブ)**] ペインの [**Output groups (出力グループ)**] で、[**Apple HLS**] を選択します。

      1. [**Apple HLS group settings (Apple HLS グループ設定)**] セクションで、[**Advanced (詳細)**] を選択します。

      1. [**Ad markers (広告マーカー)**] セクションで、[**Elemental**] および [**SCTE-35 enhanced**] チェックボックスをオフにします。

   1. [**Apple HLS**] 出力グループの出力ごとに、[**SCTE-35 source (SCTE-35 ソース)**] が [**None (なし)**] に設定されていることを確認します。

      1. 左側の [**Job (ジョブ)**] ペインの [**Output groups (出力グループ)**] にある [**Apple HLS**] で、出力を選択します。

      1. [**Output settings (出力設定)**] セクションで、[**Transport stream settings (トランスポートストリーム設定)**] を選択します。

      1. [**SCTE-35 source (SCTE-35 ソース)**] で、[**None (なし)**] を選択します。

**ジョブ設定に ESAM XML ドキュメントを含めるには (API、SDK、 AWS CLI)**

1. JSON ジョブ仕様のジョブ設定のルートで [`esam` プロパティ](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-jobsettings-esam)とその子を含めます。以下の例では、これらのプロパティを示しています。

   1.  ESAM 信号処理 XML 仕様を文字列として設定 `sccXml` に含めます。

   1. オプションで、マニフェスト条件付け確認通知 XML ドキュメントを文字列として設定 `mccXml` に含めます。

   ```
     "esam": {
       "responseSignalPreroll": 4000,
       "signalProcessingNotification": {
         "sccXml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<SignalProcessingNotification ..."
       },
       "manifestConfirmConditionNotification": {
         "mccXml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<ns2:ManifestConfirmConditionNotification ... " 
       }
   ```

1. ジョブの M2TS (MPEG2 トランスポートストリーム) 出力ごとに、以下の例に示すように JSON ジョブ仕様を設定します。プロパティ [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35esam](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35esam) を含めます。[https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35source](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m2tssettings-scte35source) を `NONE` に設定します。

   ```
     "outputs": [
           {
             "extension": "m2ts",
             "containerSettings": {
               "container": "M2TS",
               "m2tsSettings": {
                 ...
   
                 "scte35Esam": {
                   "scte35EsamPid": 508
                 },
                 ...
                 "scte35Source": "NONE"
               }
   ```

1. SCTE-35 の情報を使用して HLS マニフェストを条件付けする場合は、ジョブの Apple HLS 出力グループごとに、以下の設定を含めます。これらの設定は、このステップの最後にある例に示しています。
   +  [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m3u8settings-scte35source](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-m3u8settings-scte35source) を `PASSTHROUGH` に設定します。
   + [https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-hlsgroupsettings-admarkers](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-hlsgroupsettings-admarkers) を含めます。`ELEMENTAL_SCTE35` と `ELEMENTAL` の一方または両方を配列に入れます。

     各設定を選択して作成したサンプルマニフェストについては、「[サンプルマニフェスト: Elemental 広告マーカー](sample-manifest-elemental-ad-markers.md)」と「[サンプルマニフェスト: SCTE-35 enhanced 広告マーカー](sample-manifest-scte-35-enhanced-ad-markers.md)」を参照してください。

   HLS のマニフェストを SCTE-35 の情報で条件付けしない場合は、`scte35Source` をデフォルト設定 `NONE` のままにします。`adMarkers` は含めないでください。

   ```
     "outputGroups": [
       {
         "customName": "apple_hls",
         "outputGroupSettings": {
           "type": "HLS_GROUP_SETTINGS",
           "hlsGroupSettings": {
             "adMarkers": [
               "ELEMENTAL_SCTE35"
             ],
             ...
   
           }
         },
         "outputs": [
           {
             "extension": "m3u8",
             "nameModifier": "high",
             "outputSettings": {
               "hlsSettings": {
                 ...
               }
             },
             "containerSettings": {
               "container": "M3U8",
               "m3u8Settings": {
                 ...
                 "scte35Source": "PASSTHROUGH"
               }
   ```

1. 通常どおりジョブを送信します。

   プログラムによる AWS Elemental MediaConvert ジョブの送信の詳細については、[「SDK AWS Elemental MediaConvert の使用を開始する」または AWS SDKs AWS CLI](https://docs.aws.amazon.com/mediaconvert/latest/apireference/custom-endpoints.html)「」および[「 API AWS Elemental MediaConvert の使用を開始する](https://docs.aws.amazon.com/mediaconvert/latest/apireference/getting-started.html)」を参照してください。

# ESAM XML 信号処理通知の例
<a name="example-esam-xml"></a>

この ESAM XML ブロックは 2 つの 30 秒の広告時間枠を生成します。1 つは 10 秒で、もう 1 つは 75 秒です。

```
<?xml version="1.0" encoding="UTF-8"?>
<SignalProcessingNotification xmlns="urn:cablelabs:iptvservices:esam:xsd:signal:1" xmlns:sig="urn:cablelabs:md:xsd:signaling:3.0" xmlns:common="urn:cablelabs:iptvservices:esam:xsd:common:1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" acquisitionPointIdentity="ExampleESAM">

    <common:BatchInfo batchId="1">
      <common:Source xsi:type="content:MovieType" />
    </common:BatchInfo>

    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="1" signalPointID="10.00" action="create">
      <sig:NPTPoint nptPoint="10.00"/>
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="1" segmentTypeId="52" upidType="9" upid="1" duration="PT30S" segmentNumber="1" segmentsExpected="1"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>
    <ConditioningInfo acquisitionSignalIDRef="1" startOffset="PT10S" duration="PT30S"/>

    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="2" signalPointID="40.00" action="create">
      <sig:NPTPoint nptPoint="40.00" />
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="1" segmentTypeId="53" upidType="9" upid="2"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>

    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="3" signalPointID="75.00" action="create">
      <sig:NPTPoint nptPoint="75.00"/>
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="2" segmentTypeId="52" upidType="9" upid="3" duration="PT30S" segmentNumber="2" segmentsExpected="1"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>
    <ConditioningInfo acquisitionSignalIDRef="3" startOffset="PT75S" duration="PT30S"/>
    
    <ResponseSignal acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="4" signalPointID="105.00" action="create">
      <sig:NPTPoint nptPoint="105.00" />
      <sig:SCTE35PointDescriptor spliceCommandType="06">
        <sig:SegmentationDescriptorInfo segmentEventId="2" segmentTypeId="53" upidType="9" upid="4"/>
      </sig:SCTE35PointDescriptor>
    </ResponseSignal>

</SignalProcessingNotification>
```

# ESAM XML マニフェスト確認条件通知の例
<a name="example-esam-xml-manifest-conditioning"></a>

この ESAM マニフェスト確認条件 (MCC) XML ドキュメントは、2 つの 30 秒の広告区切り用の HLS マニフェスト キュータグを生成します。1 回目は 10 秒から、2 回目は 75 秒から始まります。このキューマニフェストタグには、ダウンストリームのクライアントが広告の差し替えや挿入に利用できるデータも含まれています。この MCC ドキュメントで生成された出力には、最初の広告ブレークでトランスポートストリームファイルに埋め込まれた SCTE-35 メッセージが含まれますが、2 番目の広告ブレークには含まれません。

`dataPassThrough` は最初の広告ブレークの属性であることに注意してください。この属性が存在し、`"true"` に設定されている場合は、MediaConvert は SCTE-35 マーカーをマニフェストだけでなくトランスポートストリームにも挿入します。広告ブレークをマニフェスト内でのみマークしたい場合は、`dataPassThrough` 属性を除外してください｡

MediaConvert は、HLS パッケージにおいてのみ ESAM によるマニフェストコンディショニングをサポートしています。

```
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ns2:ManifestConfirmConditionNotification xmlns:ns2="http://www.cablelabs.com/namespaces/metadata/xsd/confirmation/2" xmlns="http://www.cablelabs.com/namespaces/metadata/xsd/core/2" xmlns:ns3="http://www.cablelabs.com/namespaces/metadata/xsd/signaling/2">
  <ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="1" duration="PT30S" dataPassThrough="true"> 
  <ns2:SegmentModify>
      <ns2:FirstSegment>
        <ns2:Tag value="#EXT-X-CUE-OUT:4,SpliceType=VOD_DAI,Action=REPLACE, PAID=amazon.com/TEST2014020500000346,Acds=BA" />
      </ns2:FirstSegment>
      <ns2:SpanSegment>
        <ns2:Tag value="#EXT-X-CUE-OUT-CONT:${secondsFromSignal}/4, SpliceType=VOD_DAI,Action=REPLACE,PAID=amazon.com/TEST2014020500000346,Acds=BA" adapt="true" />
      </ns2:SpanSegment>
      <ns2:LastSegment>
        <ns2:Tag value="#EXT-X-CUE-IN:4,SpliceType=VOD_DAI" locality="after" adapt="true" />
      </ns2:LastSegment>
    </ns2:SegmentModify>
	</ns2:ManifestResponse>
  <ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="2"></ns2:ManifestResponse>
  <ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="3" duration="PT30S">  
  <ns2:SegmentModify>
      <ns2:FirstSegment>
        <ns2:Tag value="#EXT-X-OUT:4,SpliceType=VOD_DAI,Action=REPLACE, PAID=amazon.com/TEST2014020500000347,Acds=BA" />
      </ns2:FirstSegment>
      <ns2:SpanSegment>
        <ns2:Tag value="#EXT-X-OUT-CONT:${secondsFromSignal}/4, SpliceType=VOD_DAI,Action=REPLACE,PAID=amazon.com/TEST2014020500000346,Acds=BA" adapt="true" />
      </ns2:SpanSegment>
      <ns2:LastSegment>
        <ns2:Tag value="#EXT-X-CUE-IN:4,SpliceType=VOD_DAI" locality="after" adapt="true" />
      </ns2:LastSegment>
    </ns2:SegmentModify>
	</ns2:ManifestResponse>
	<ns2:ManifestResponse acquisitionPointIdentity="ExampleESAM" acquisitionSignalID="4"></ns2:ManifestResponse>
</ns2:ManifestConfirmConditionNotification>
```