support Contact Support | system status System Status
Page Contents

    Using Context Aware Encoding

    In this topic, you will learn how to use Context Aware Encoding (CAE) to ingest your video content into Video Cloud.

    Introduction

    Context Aware Encoding is a technology developed by Brightcove that uses machine learning to optimize encoding settings on a per-content item and delivery context basis. CAE is specifically designed to reduce the storage and bandwidth costs associated with video delivery, but without compromising visual quality. For additional information, please see Overview of Context Aware Encoding.

    Limitations

    The following features are not currently supported:

    • Advanced Codec Support (H.265, VP9, etc.)

    Getting started

    Pre-requisites

    Customers who wish to utilize Context Aware Encoding should meet the following requirements:

    1. Video Cloud customer
    2. Dynamic Delivery is enabled for their Video Cloud account
    3. They no longer use the legacy Brightcove APIs
    4. Comfortable using the Ingest Profiles API and the Dynamic Ingest API

    Note: Context Aware Encoding is a feature that is not available to all Video Cloud customers. If you have questions about whether or not you can utilize Context Aware Encoding, please contact your Account Manager.

    CAE presets

    By general release of the service, we intend to support three primary use-cases which are in turn encapsulated by three “presets”. The presets consist of ingest profile settings, which are coupled to CAE optimizations tuned for the specific profile.

    CAE Presets
    Name Description Simple Use Case
    multi-platform-standard-dynamic Resolution capped at 720p and bitrate at 2 MBPS General use. For delivery to a range of desktop and mobile devices
    multi-platform-extended-dynamic Adds 1080p rendition and extends max bitrate to ~4 Mbps Use when 1080p quality is critical. For example, customers delivering HD content to large screens
    multi-platform-extended-dynamic Shifts encode ladder towards lower bitrate renditions. Capped at 720p For use-cases and regions where scarce bandwidth is a core concern

    Using Presets to Encode Content

    Once your account has been enabled for CAE, the three profiles listed above will be available to you in the upload tool and ingest profiles sections of studio. By the same token, these profiles can be used with the Dynamic Ingest API, like any other ingest profile.

    Preset Details

    A subset of the settings for each of the CAE profiles is listed below.

    Multiplatform Standard

    (Last updated: 7/12/17)

        "dynamic_profile_options":
        {
              "min_renditions": 2,
              "max_renditions": 6,
              "max_resolution": {
                "width": 1280,
                "height": 720
              },
              "max_bitrate": 2400,
              "max_first_rendition_bitrate": 400,
              "max_frame_rate": 30,
              "keyframe_rate": 1,
              "select_baseline_profile_configuration": true,
        }

    Multiplatform Extended

        "dynamic_profile_options":
        {
              "min_renditions": 3,
              "max_renditions": 6,
              "max_resolution": {
                "width": 1920,
                "height":1080
              },
              "max_bitrate": 4200
              "max_first_rendition_bitrate": 400,
              "max_frame_rate": 30,
              "keyframe_rate": 1,
              "select_baseline_profile_configuration": true,
        }

    Bandwidth Limited

    (Last updated: 7/12/17)

        "dynamic_profile_options":
        {
              "min_renditions": 2,
              "max_renditions": 6,
              "max_resolution": {
                "width": 1280,
                "height": 720
              },
              "max_bitrate": 1800
              "max_first_rendition_bitrate": 200,
              "max_frame_rate": 30,
              "keyframe_rate": 1,
              "select_baseline_profile_configuration": true,
        }

    Sample CAE Profile

        {
         "id": "1234567890",
         "version": 1,
         "name": "custom-cae-profile",
         "description": "My custom CAE profile",
         "account_id": 40000000001,
         "brightcove_standard" : false,
         "digital_master": {
           "rendition": "passthrough",
           "distribute": false
         },
         "dynamic_origin": {
           "renditions": [
             "default/audio64",
             "default/audio96",
             "default/audio128",
             "default/audio192"
           ],
           "dynamic_profile_options": {
             "min_renditions": 3,
             "max_renditions": 6,
             "max_resolution": {
               "width": 1920,
               "height": 1080
             },
             "max_bitrate": 4200,
             "max_first_rendition_bitrate": 400,
             "max_frame_rate": 30,
             "keyframe_rate": 1,
             "select_baseline_profile_configuration": true,
             "min_ssim": 0.95,
             "video_configurations": [
                 {"width": 1280, "height": 720},
                 {"width": 960,  "height": 540},
                 {"width": 640,  "height": 360}
             ]
           },
           "images": [
             {
               "label": "poster",
               "height": 720,
               "width": 1280
             },
             {
               "label": "thumbnail",
               "height": 90,
               "width": 160
             }
           ]
         }
        }

    For additional detail, please see the docs for the Ingest Profiles API and Dynamic Ingest API.

    Adding MP4 renditions

    If you want to have downloadable progressive (MP4) renditions for your video, you can specify them in the dynamic_origin.renditions array:

        
          "dynamic_origin": {
            "renditions": [
              "default/audio64",
              "default/audio96",
              "default/audio128",
              "default/audio192",
              "default/progressive700",
              "default/progressive2500"
            ],

    MP4 Renditions

    The MP4 renditions you can include are shown below - see Standard Ingest Profiles for Dynamic Delivery and Context Aware Encoding for full details of these renditions.

    Available MP4 renditions


    Page last updated on 28 Sep 2020