サポートに連絡する| システムステータス
ページコンテンツ

    CAE Guide

    Context Aware Encoding(CAE)は、各ソースビデオを解析し、コンテンツごとにカスタムビットレートラダー(レンディションセット)をインテリジェントに構築します。さらに、コンテキスト認識エンコーディングでは、コンテンツの表示に使用される配信ネットワークおよびデバイスに関連する制約も考慮されます。すべてのタイトルで一貫した品質を維持しながら、必要なレンディションの数と、それぞれに使用する解像度とビットレートを決定します。これにより、ストレージと帯域幅のコストが大幅に削減され、ユーザーの再生エクスペリエンスが向上します。詳細については、コンテキスト対応エンコーディングの概要を参照してください

    概要

    処理

    CAE は、true generate_dynamic_profileに設定し、dynamic_profile_rendition出力に値を追加することで Zencoder ジョブで有効になります。ジョブの。さらに、追加することもできますがdynamic_profile_options、これは必須ではありません。ジョブの入力ソースファイルをダウンロードして調べると、Zencoder はソースファイルで CAE 動的プロファイルジェネレータを実行します。結果の動的プロファイルラダー設定は、エンコードされる前に、対応する各出力に追加されます。次の設定は、出力に dynamic_profile_rendition 値が自動的に設定されます。

    • width
    • height
    • frame_rate
    • video_codec
    • video_codec_profile
    • video_codec_tier
    • video_codec_level
    • video_reference_frames
    • video_bframes
    • video_bitrate
    • decoder_bitrate_cap
    • decoder_buffer_size
    • keyframe_rate
    • fixed_keyframe_interval

    混合コーデック出力:混合された HEVC/H.264レンディションを出力できます。詳細については、 CAE設定を参照してください。

    を使用しないその他の出力は、ダイナミックプロファイルジェネレータの実行中に、入力ソースが検査されるとすぐにエンコーディングを開始します。dynamic_profile_rendition

    設定に関するガイドラインdynamic_profile_options

    レンディションの数

    作成するレンディションの最小数と最大数は、 min_renditionsおよび max_renditionsの設定で制御します。最高のパフォーマンスを得るには、これらの制限の間に一定のギャップを残すことをお勧めします(例:min_renditions 2にそしてmax_renditions 10)、CAEプロファイルジェネレータが各コンテンツに最も適した番号を選択できるようにします。コンテンツを簡単にエンコードするには、レンディションの数を減らし、複雑なコンテンツではより多くのレンディションを生成できます。また、より多くのレンディションが不要な場合に帯域幅を節約できるように、min_renditions をできるだけ小さく設定することをお勧めします。

    決議

    デフォルトでは、CAE 192x108はからまでの範囲で約 30 の標準解像度のラダーを使用します7680x4320最小解像度と max_resolutionの設定を使用して、ローエンドまたはハイエンドで制限できます。または、video_configurations解像度および関連するコーデック設定のカスタムリストを設定することもできます。

    GOP の長さ

    keyframe_rateこの設定は、GOPエンコードされたコンテンツの最大長を制御します。HLS/DASH エンコーディングに対応するように設定します。segment_secondsそれ以外の場合は、2 GOP秒の長さに対応する 0.5 の値をお勧めします。

    ビットレートカバレッジ

    使用するビットレートの制限は、min_bitrateおよびで制御できます。max_bitrate設定。これにより、CAE は最初のレンディションに少なくともmin_bitrate Kbps を割り当てて、最後のレンディションを最大限に制限するように指示します。max_bitrate Kbps。

    レンディションビットレートが適切に配置されるようにするには、min_granularityおよびmax_granularity設定。たとえば、これらを使用して、あるビットレートから次のビットレートまでのステップが、ビットレートが 50% 以上増加するか、ビットレートが 100% 以上増加するようにすることができます。ほとんどのストリーミングオーサリングガイドラインでは、粒度が 100% を超えないことを推奨しています。

    起動待ち時間、ネットワーク状態が悪くなった時の信頼性

    ビットレートラダーが常に十分な低いビットレートで開始されるようにするには、max_first_rendition_bitrate設定を使用します。最初のレンディションビットレートが小さいほど、接続速度が遅いため、ビデオプレーヤーがバッファ処理を行う可能性は低くなります。さらに、ストリーミングマニフェストが最も低いビットレートを最初にロードするように示された場合、これは起動時のレイテンシーにも直接影響します。

    レガシーデバイスのサポート

    Baselineプロファイル H.264 再生のみが可能な古いデバイスをサポートするには、select_baseline_profile_configuration設定。これを設定すると、少なくとも 1 Baselineつのレンディションがプロファイルでエンコードされます。video_configurationsカスタム設定で追加の制約(コーデックプロファイル、レベル、参照フレーム数、B フレームなど)を制御できます。

    select_baseline_profile_configurationtrueはデフォルトでであり、次のものが必要であることに注意してください。 少なくとも 1 つのレンディション 512x288以下の解像度にする必要があります。

    VBR 変動制御

    最大ピークビットレートは、bitrate_cap_to_bitrate_ratioおよび bitrate_cap_offset設定で制御できます。レンディションにビットレート「R」が選択されている場合、 decoder_bitrate_capは次のように計算されます。

      decoder_bitrate_cap = R * bitrate_cap_to_bitrate_ratio + bitrate_cap_offset

    同様に、デコーダバッファの制限は、buffer_size_to_bitrate_ratioおよびで制御できます。buffer_size_offset設定。decoder_buffer_sizeは、次のように計算されます。

      decoder_buffer_size = R * buffer_size_to_bitrate_ratio + buffer_size_offset

    ピークビットレートとバッファの制限は、コーデックプロファイルやレベル設定によっても制限される場合があります。一般的なデバイスの互換性の問題は、2.0 bitrate_cap_to_bitrate_ratio以下に制限することで回避できます。buffer_size_to_bitrate_ratioから2.0 * GOP length (秒単位)。

    CAEとセグメント化された出力

    CAE は Zencoder のセグメント化された出力と互換性があります。Outputレンディション設定で、typeを次のように設定します。segmentedsegment_secondsと適切な値を指定します。またkeyframe_ratefixed_keyframe_interval設定に設定する必要がありますdynamic_profile_options

    CAE-HLSの例

      {
        "input": "s3://test_bucket/test_media.mp4",
        "generate_dynamic_profile": true,
        "dynamic_profile_options": {
          "max_renditions": 6,
          "min_renditions": 2,
          "select_baseline_profile_configuration": true,
          "keyframe_rate": "0.5",
          "fixed_keyframe_interval": "true"
        },
        "outputs": [
          {
            "label": "CAE1",
            "dynamic_profile_rendition": 1,
            "base_url": "s3://test_bucket/outputs/HLS_CAE/CAE1",
            "filename": "CAE1.m3u8",
            "type": "segmented",
            "segment_seconds": 2,
            "byte_range_segmenting": true,
            "generate_keyframe_manifest": "true",
            "hls_protocol_version": 7,
            "skip_audio": true
          },
          {
            "label": "CAE2",
            "dynamic_profile_rendition": 2,
            "base_url": "s3://test_bucket/outputs/HLS_CAE/CAE2",
            "filename": "CAE2.m3u8",
            "type": "segmented",
            "segment_seconds": 2,
            "byte_range_segmenting": true,
            "generate_keyframe_manifest": "true",
            "hls_protocol_version": 7,
            "skip_audio": true
          },
          {
            "label": "CAE3",
            "dynamic_profile_rendition": 3,
            "base_url": "s3://test_bucket/outputs/HLS_CAE/CAE3",
            "filename": "CAE3.m3u8",
            "type": "segmented",
            "segment_seconds": 2,
            "byte_range_segmenting": true,
            "generate_keyframe_manifest": "true",
            "hls_protocol_version": 7,
            "skip_audio": true
          },
          {
            "label": "CAE4",
            "dynamic_profile_rendition": 4,
            "base_url": "s3://test_bucket/outputs/HLS_CAE/CAE4",
            "filename": "CAE4.m3u8",
            "type": "segmented",
            "segment_seconds": 2,
            "byte_range_segmenting": true,
            "generate_keyframe_manifest": "true",
            "hls_protocol_version": 7,
            "skip_audio": true
          },
          {
            "label": "CAE5",
            "dynamic_profile_rendition": 5,
            "base_url": "s3://test_bucket/outputs/HLS_CAE/CAE5",
            "filename": "CAE5.m3u8",
              "type": "segmented",
              "segment_seconds": 2,
              "byte_range_segmenting": true,
              "generate_keyframe_manifest": "true",
              "hls_protocol_version": 7,
              "skip_audio": true
            },
            {
              "label": "CAE6",
              "dynamic_profile_rendition": 6,
              "base_url": "s3://test_bucket/outputs/HLS_CAE/CAE6",
              "filename": "CAE6.m3u8",
              "type": "segmented",
              "segment_seconds": 2,
              "byte_range_segmenting": true,
              "generate_keyframe_manifest": "true",
              "hls_protocol_version": 7,
              "skip_audio": true
            }
            {
              "label": "Audio",
              "audio_bitrate": "128",
              "type": "segmented",
              "segment_seconds": 2,
              "byte_range_segmenting": true,
              "skip_video": true,
              "base_url": "s3://test_bucket/outputs/HLS_CAE/Audio/128k/",
              "filename": "audio_128k.ac3"
            },
            {
              "base_url": "s3://test_bucket/outputs/HLS_CAE/",
              "filename": "master_playlist.m3u8",
              "hls_protocol_version": 7,
              "type": "playlist",
              "allow_skipped_sources": true,
              "alternate_audio": {
                "128k_audio": {
                  "path": "Audio/128k/audio_128k.m3u8",
                  "language": "en",
                  "source": "Audio"
                }
              }
              ],
              "streams": [
                {
                  "path": "CAE1/CAE1.m3u8",
                  "source": "CAE1",
                  "audio": "128k_audio"
                },
                {
                  "path": "CAE2/CAE2.m3u8",
                  "source": "CAE2",
                  "audio": "128k_audio"
                },
                {
                  "path": "CAE3/CAE3.m3u8",
                  "source": "CAE3",
                  "audio": "128k_audio"
                },
                {
                  "path": "CAE4/CAE4.m3u8",
                  "source": "CAE4",
                  "audio": "128k_audio"
                },
                {
                  "path": "CAE5/CAE5.m3u8",
                  "source": "CAE5",
                  "audio": "128k_audio"
                },
                {
                  "path": "CAE6/CAE6.m3u8",
                  "source": "CAE6",
                  "audio": "128k_audio"
                }
              ]
            }
          ]
        }

    CAE-ダッシュの例

      
      {
        "input": "s3://test_bucket/test.mov",
        "generate_dynamic_profile": true,
        "dynamic_profile_options": {
          "max_renditions": 6,
          "min_renditions": 2,
          "select_baseline_profile_configuration": true,
          "keyframe_rate": "0.5",
          "fixed_keyframe_interval": "true"
        },
        "outputs": [
          {
            "label": "CAE1",
            "dynamic_profile_rendition": 1,
            "base_url": "s3://test_bucket/outputs/DASH_CAE/CAE1",
            "filename": "CAE1.mpd",
            "type": "segmented",
            "segment_seconds": 10,
            "streaming_delivery_format": "dash",
            "skip_audio": true,
            "public": true
          },
          {
            "label": "CAE2",
            "dynamic_profile_rendition": 2,
            "base_url": "s3://test_bucket/outputs/DASH_CAE/CAE2",
            "filename": "CAE2.mpd",
            "type": "segmented",
            "segment_seconds": 10,
            "streaming_delivery_format": "dash",
            "skip_audio": true,
            "public": true
          },
          {
            "label": "CAE3",
            "dynamic_profile_rendition": 3,
            "base_url": "s3://test_bucket/outputs/DASH_CAE/CAE3",
            "filename": "CAE3.mpd",
            "type": "segmented",
            "segment_seconds": 10,
            "streaming_delivery_format": "dash",
            "skip_audio": true,
            "public": true
          },
          {
            "label": "CAE4",
            "dynamic_profile_rendition": 4,
            "base_url": "s3://test_bucket/outputs/DASH_CAE/CAE4",
            "filename": "CAE4.mpd",
            "type": "segmented",
            "segment_seconds": 10,
            "streaming_delivery_format": "dash",
            "skip_audio": true,
            "public": true
          },
          {
            "label": "CAE5",
            "dynamic_profile_rendition": 5,
            "base_url": "s3://test_bucket/outputs/DASH_CAE/CAE5",
            "filename": "CAE5.mpd",
            "type": "segmented",
            "segment_seconds": 10,
            "streaming_delivery_format": "dash",
            "skip_audio": true,
            "public": true
          },
          {
            "label": "CAE6",
            "dynamic_profile_rendition": 6,
            "base_url": "s3://test_bucket/outputs/DASH_CAE/CAE6",
            "filename": "CAE6.mpd",
            "type": "segmented",
            "segment_seconds": 10,
            "streaming_delivery_format": "dash",
            "skip_audio": true,
            "public": true
          },
          {
            "label": "Audio",
            "audio_bitrate": "128",
            "type": "segmented",
            "segment_seconds": 10,
            "streaming_delivery_format": "dash",
            "skip_video": true,
            "base_url": "s3://test_bucket/outputs/DASH_CAE/Audio/128k/",
            "filename": "audio_128k.mpd",
            "public": true
          },
          {
            "base_url": "s3://test_bucket/outputs/DASH_CAE/",
            "filename": "master_playlist.mpd",
            "streaming_delivery_format": "dash",
            "type": "playlist",
            "allow_skipped_sources": true,
            "public": true,
            "streams": [
              {
                "path": "CAE1/CAE1.mpd",
                "source": "CAE1"
              },
              {
                "path": "CAE2/CAE2.mpd",
                "source": "CAE2"
              },
              {
                "path": "CAE3/CAE3.mpd",
                "source": "CAE3"
              },
              {
                "path": "CAE4/CAE4.mpd",
                "source": "CAE4"
              },
              {
                "path": "CAE5/CAE5.mpd",
                "source": "CAE5"
              },
              {
                "path": "CAE6/CAE6.mpd",
                "source": "CAE6"
              },
              {
                "path": "Audio/128k/audio_128k.mpd",
                "source": "Audio"
              }
            ]
          }
        ]
       }
      

    ページの最終更新日14 Oct 2021