support Contact Support | system status System Status
Page Contents

    HEVC Video

    This topic covers Video Cloud support for HEVC video.

    Introduction

    Advantages of HEVC

    High Efficiency Video Coding (HEVC), also known as H.265, is a video compression standard, designed as a successor to the widely used Advanced Video Coding (AVC/H.264). In comparison to AVC, HEVC offers from 25% to 50% better data compression at the same level of video quality, or substantially improved video quality at the same bit rate.

    The benefits of this improved compression include bandwidth usage, enabling higher video quality at a lower bitrate, and reduced time to first frame (TTFF), all leading to increased end viewer satisfaction.

    Disadvantages

    There is only one disadvantage: because it is a new technology, HEVC video is not yet widely supported by clients (meaning device + OS + browser/app). In addition, some clients are capable of switching between HEVC and AVC segments during playback, while others are not.

    Availability

    HEVC support is a paid add-on for Video Cloud. If you are interested in HEVC support, contact your Account Manager.

    Brightcove's HEVC solution

    To provide you with benefits of HEVC while still allowing viewers using technology that does not support it, Brightcove has developed a hybrid solution that both supports older, non-HEVC clients, and also optimizes bandwidth use. There are multiple parts to this solution:

    • Creation of both HEVC and AVC encoded segments during transcoding (with optional creation of MP4 for progressive download in addition)
    • Generation of manifests that contain both HEVC and AVC links for all renditions:
      • HLS: mixed variant streams (ordered by bitrate)
      • DASH: separate adaptation sets for HEVC and H.264, along with supplemental properties declaring them as switchable
    • Filtering logic based on the viewer client type:
      • removes HEVC streams from manifests if requesting device is a legacy, non-HEVC capable device
      • removes H.264 streams from manifests heading to HEVC capable non-switchable devices
      • leaves both HEVC and H.264 streams if devices are capable of decoding both codecs and switching between them

    Supported clients

    Currently, HEVC is supported end-to-end on the following clients using Brightcove web or native device players:

    Supported Web Clients for HEVC
    Brightcove Web Player
    OS Browser
    MacOS 10.13+ Safari
    iOS 11+ Safari
    Apple TV via Airplay
    Windows 10 Edge (legacy version with plugin)
    Supported Devices for HEVC
    Brightcove Native Device SDK Players
    SDK OS
    iOS SDK iOS 11+
    tvOS SDK tvOS
    Android SDK Android API level 21 (Lollipop version 5.0) and higher [1-1]

    Notes

    HEVC ingest profiles

    If HEVC is enabled for your account, to get HEVC renditions for playback, all you have to do is choose one of the HEVC ingest profiles (Context Aware Encoding or Dynamic Delivery) when you ingest your videos using the Upload module or the Dynamic Ingest API:

    HEVC Ingest Profiles
    HEVC Ingest Profiles

    The full JSON details of these profiles is included below. We recommend that you use CAE (Context Aware Encoding) profiles to create the best rendition set for your source and optimize storage. Since CAE requires somewhat longer processing time to inspect the source, if getting a publishable rendition as quickly as possible is your priority, you can create a custom ingest profile with the Fast Publish option.

    Note that if, for the fast publish option or some other reason, you need to create a custom HEVC profile, you will have to use either the Advanced Editor in the Studio Admin pages, or the Ingest Profiles API. HEVC renditions will not show up in the Simple Editor in Studio. You will find the available Dynamic Delivery renditions below.

    Limitations

    Below are current limitations on HEVC support - note that these will change as we make enhancements.

    • CAE ingest profiles currently include HEVC renditions - these should only be used in cases where you know that you will be delivering videos only to HEVC-capable devices. Future releases will add profiles that include both HEVC and AVC renditions.
    • No support for apps built using the Android SDK in the initial release. This will be added in a future release.
    • Only AAC audio is supported, no support for EAC3 or AC3 audio codec with HEVC.
    • HDR and 10-bit video is not supported.
    • Media UI currently displays all the renditions and does not display the codec info next to each rendition.
    • The billing UI in Studio will not show HEVC transcoding usage. However, the backend system is tracking HEVC GB separately and will be sending the invoice as part of the normal process. The billing UI will be updated in a later release.

    Appendix 1: HEVC ingest profiles

    Below are the full properties of the HEVC profiles in JSON.

    Context Aware Encoding (CAE) profiles

    Multiplatform Extended HEVC (CAE)

      {
          "version": 1,
          "name": "multi-platform-extended-dynamic-hevc",
          "display_name": "Multiplatform Extended HEVC (CAE)",
          "description": "Deliver high quality content for a wide range content types and screen sizes including mobile, desktop and large screens.",
          "account_id": -1,
          "brightcove_standard": true,
          "date_created": 1581706195164,
          "date_last_modified": 1581706195164,
          "digital_master": {
            "rendition": "passthrough",
            "distribute": false
          },
          "renditions": [
            
          ],
          "packages": [
            
          ],
          "dynamic_origin": {
            "renditions": [
              "default/audio64",
              "default/audio128",
              "default/audio96",
              "default/audio192"
            ],
            "images": [
              {
                "label": "thumbnail",
                "height": 90,
                "width": 160
              },
              {
                "label": "poster",
                "height": 720,
                "width": 1280
              }
            ],
            "dynamic_profile_options": {
              "min_renditions": 2,
              "max_renditions": 8,
              "min_resolution": {
                "width": 320,
                "height": 180
              },
              "max_resolution": {
                "width": 1920,
                "height": 1080
              },
              "max_frame_rate": 30,
              "max_bitrate": 4200,
              "max_first_rendition_bitrate": 250,
              "video_codec": "hevc",
              "fixed_frame_rate": true,
              "bitrate_cap_to_bitrate_ratio": 1.5,
              "buffer_size_to_bitrate_ratio": 2,
              "bitrate_cap_offset": 0,
              "buffer_size_offset": 0,
              "sample_aspect_ratio": "1:1"
            },
            "hevc": true
          },
          "id": "5e470e014b23617ad079c486"
        }

    Multiplatform Extended HEVC (CAE) with MP4

    {
          "version": 1,
          "name": "multi-platform-extended-dynamic-hevc-with-mp4",
          "display_name": "Multiplatform Extended HEVC (CAE) with MP4",
          "description": "Deliver high quality content for a wide range content types and screen sizes including mobile, desktop, large screens, and syndication.",
          "account_id": -1,
          "brightcove_standard": true,
          "date_created": 1581706195164,
          "date_last_modified": 1581706195164,
          "digital_master": {
            "rendition": "passthrough",
            "distribute": false
          },
          "renditions": [
            
          ],
          "packages": [
            
          ],
          "dynamic_origin": {
            "renditions": [
              "default/audio64",
              "default/audio128",
              "default/progressive2000",
              "default/audio96",
              "default/audio192"
            ],
            "images": [
              {
                "label": "thumbnail",
                "height": 90,
                "width": 160
              },
              {
                "label": "poster",
                "height": 720,
                "width": 1280
              }
            ],
            "dynamic_profile_options": {
              "min_renditions": 2,
              "max_renditions": 8,
              "min_resolution": {
                "width": 320,
                "height": 180
              },
              "max_resolution": {
                "width": 1920,
                "height": 1080
              },
              "max_frame_rate": 30,
              "max_bitrate": 4200,
              "max_first_rendition_bitrate": 250,
              "video_codec": "hevc",
              "fixed_frame_rate": true,
              "bitrate_cap_to_bitrate_ratio": 1.5,
              "buffer_size_to_bitrate_ratio": 2,
              "bitrate_cap_offset": 0,
              "buffer_size_offset": 0,
              "sample_aspect_ratio": "1:1"
            },
            "hevc": true
          },
          "id": "5e470e0c4c881c16fffdb88d"
        }

    Dynamic Delivery Profiles

    Multiplatform Extended Static H.264 + HEVC

    {
          "version": 1,
          "name": "multi-platform-extended-static-mixed-codec",
          "display_name": "Multiplatform Extended Static H.264 + HEVC",
          "description": "Deliver high quality content for a wide range content types and screen sizes including mobile, desktop and large screens.",
          "account_id": -1,
          "brightcove_standard": true,
          "date_created": 1581706195164,
          "date_last_modified": 1581706195164,
          "digital_master": {
            "rendition": "passthrough",
            "distribute": false
          },
          "renditions": [
            
          ],
          "packages": [
            
          ],
          "dynamic_origin": {
            "renditions": [
              "default/video1600hevc",
              "default/audio128",
              "default/video550hevc",
              "default/video1000hevc",
              "default/video300hevc",
              "default/video700",
              "default/video3500",
              "default/video2000",
              "default/video2500",
              "default/video2850hevc",
              "default/video450",
              "default/video900",
              "default/audio64",
              "default/video3800",
              "default/audio96",
              "default/video1200",
              "default/video1300hevc",
              "default/audio192"
            ],
            "images": [
              {
                "label": "thumbnail",
                "height": 90,
                "width": 160
              },
              {
                "label": "poster",
                "height": 720,
                "width": 1280
              }
            ],
            "hevc": true
          },
          "id": "5e46e57f305eb2517f27a543"
        }

    Multiplatform Extended Static H.264 + HEVC with MP4

    {
          "version": 1,
          "name": "multi-platform-extended-static-mixed-codec-with-mp4",
          "display_name": "Multiplatform Extended Static H.264 + HEVC with MP4",
          "description": "Deliver high quality content for a wide range content types and screen sizes including mobile, desktop and large screens, and syndication.",
          "account_id": -1,
          "brightcove_standard": true,
          "date_created": 1581706195164,
          "date_last_modified": 1581706195164,
          "digital_master": {
            "rendition": "passthrough",
            "distribute": false
          },
          "renditions": [
            
          ],
          "packages": [
            
          ],
          "dynamic_origin": {
            "renditions": [
              "default/video1600hevc",
              "default/audio128",
              "default/video550hevc",
              "default/video1000hevc",
              "default/video300hevc",
              "default/video700",
              "default/progressive2000",
              "default/video3500",
              "default/video2000",
              "default/video2500",
              "default/video2850hevc",
              "default/video450",
              "default/video900",
              "default/audio64",
              "default/video3800",
              "default/audio96",
              "default/video1200",
              "default/video1300hevc",
              "default/audio192"
            ],
            "images": [
              {
                "label": "thumbnail",
                "height": 90,
                "width": 160
              },
              {
                "label": "poster",
                "height": 720,
                "width": 1280
              }
            ],
            "hevc": true
          },
          "id": "5e46e59b135b6662f386559d"
        }

    Multiplatform Extended HEVC with MP4

    {
          "version": 1,
          "name": "multi-platform-extended-static-hevc-with-mp4",
          "display_name": "Multiplatform Extended HEVC with MP4",
          "description": "Deliver high quality content for a wide range content types and screen sizes including mobile, desktop, large screens, and syndication.",
          "account_id": -1,
          "brightcove_standard": true,
          "date_created": 1581706195164,
          "date_last_modified": 1581706195164,
          "digital_master": {
            "rendition": "passthrough",
            "distribute": false
          },
          "renditions": [
            
          ],
          "packages": [
            
          ],
          "dynamic_origin": {
            "renditions": [
              "default/audio64",
              "default/video1600hevc",
              "default/audio128",
              "default/video550hevc",
              "default/video1000hevc",
              "default/video300hevc",
              "default/progressive2000",
              "default/video2850hevc",
              "default/audio96",
              "default/video1300hevc",
              "default/audio192"
            ],
            "images": [
              {
                "label": "thumbnail",
                "height": 90,
                "width": 160
              },
              {
                "label": "poster",
                "height": 720,
                "width": 1280
              }
            ],
            "hevc": true
          },
          "id": "5e46e57e708a441e00a7ba1a"
        }

    Appendix 2: HEVC Dynamic Delivery Renditions

    Below are the full properties of the HEVC renditions in JSON.

    Default HEVC 300

    {
          "id": "default/video300hevc",
          "version": 0,
          "name": "Default HEVC 300",
          "kind": "video",
          "account_id": "default",
          "created_at": "2020-02-20T17:57:49.622898302Z",
          "updated_at": "2020-02-20T17:57:49.622898302Z",
          "encoding_settings": {
            "aspect_mode": "preserve",
            "decoder_bitrate_cap": 450,
            "decoder_buffer_size": 600,
            "fixed_keyframe_interval": true,
            "fragment_duration": 2000,
            "height": 270,
            "keyframe_rate": 1,
            "segment_seconds": 2,
            "speed": 3,
            "video_bframes": 3,
            "video_bitrate": 300,
            "video_codec": "hevc",
            "video_codec_profile": "main",
            "video_reference_frames": 6,
            "width": 480
          }
        }

    Default HEVC 550

    {
          "id": "default/video550hevc",
          "version": 0,
          "name": "Default HEVC 550",
          "kind": "video",
          "account_id": "default",
          "created_at": "2020-02-20T17:58:08.602132077Z",
          "updated_at": "2020-02-20T17:58:08.602132077Z",
          "encoding_settings": {
            "aspect_mode": "preserve",
            "decoder_bitrate_cap": 825,
            "decoder_buffer_size": 1100,
            "fixed_keyframe_interval": true,
            "fragment_duration": 2000,
            "height": 360,
            "keyframe_rate": 1,
            "segment_seconds": 2,
            "speed": 3,
            "video_bframes": 3,
            "video_bitrate": 550,
            "video_codec": "hevc",
            "video_codec_profile": "main",
            "video_reference_frames": 6,
            "width": 640
          }
        }

    Default HEVC 1000

    {
          "id": "default/video1000hevc",
          "version": 0,
          "name": "Default HEVC 1000",
          "kind": "video",
          "account_id": "default",
          "created_at": "2020-02-20T17:58:24.768036423Z",
          "updated_at": "2020-02-20T17:58:24.768036423Z",
          "encoding_settings": {
            "aspect_mode": "preserve",
            "decoder_bitrate_cap": 1500,
            "decoder_buffer_size": 2000,
            "fixed_keyframe_interval": true,
            "fragment_duration": 2000,
            "height": 432,
            "keyframe_rate": 1,
            "segment_seconds": 2,
            "speed": 3,
            "video_bframes": 3,
            "video_bitrate": 1000,
            "video_codec": "hevc",
            "video_codec_profile": "main",
            "video_reference_frames": 6,
            "width": 768
          }
        }

    Default HEVC 1300

    {
          "id": "default/video1300hevc",
          "version": 0,
          "name": "Default HEVC 1300",
          "kind": "video",
          "account_id": "default",
          "created_at": "2020-02-20T17:58:51.222403657Z",
          "updated_at": "2020-02-20T17:58:51.222403657Z",
          "encoding_settings": {
            "aspect_mode": "preserve",
            "decoder_bitrate_cap": 1950,
            "decoder_buffer_size": 2600,
            "fixed_keyframe_interval": true,
            "fragment_duration": 2000,
            "height": 576,
            "keyframe_rate": 1,
            "segment_seconds": 2,
            "speed": 3,
            "video_bframes": 3,
            "video_bitrate": 1300,
            "video_codec": "hevc",
            "video_codec_profile": "main",
            "video_reference_frames": 6,
            "width": 1024
          }
        }

    Default HEVC 1600

    {
          "id": "default/video1600hevc",
          "version": 0,
          "name": "Default HEVC 1600",
          "kind": "video",
          "account_id": "default",
          "created_at": "2020-02-20T18:00:00.347383018Z",
          "updated_at": "2020-02-20T18:00:00.347383018Z",
          "encoding_settings": {
            "aspect_mode": "preserve",
            "decoder_bitrate_cap": 2400,
            "decoder_buffer_size": 3200,
            "fixed_keyframe_interval": true,
            "fragment_duration": 2000,
            "height": 720,
            "keyframe_rate": 1,
            "segment_seconds": 2,
            "speed": 3,
            "video_bframes": 3,
            "video_bitrate": 1600,
            "video_codec": "hevc",
            "video_codec_profile": "main",
            "video_reference_frames": 6,
            "width": 1280
          }
        }

    Default HEVC 2850

    {
          "id": "default/video2850hevc",
          "version": 0,
          "name": "Default HEVC 2850",
          "kind": "video",
          "account_id": "default",
          "created_at": "2020-02-20T18:00:42.036123319Z",
          "updated_at": "2020-02-20T18:00:42.036123319Z",
          "encoding_settings": {
            "aspect_mode": "preserve",
            "decoder_bitrate_cap": 4275,
            "decoder_buffer_size": 5700,
            "fixed_keyframe_interval": true,
            "fragment_duration": 2000,
            "height": 1080,
            "keyframe_rate": 1,
            "segment_seconds": 2,
            "speed": 3,
            "video_bframes": 3,
            "video_bitrate": 2850,
            "video_codec": "hevc",
            "video_codec_profile": "main",
            "video_reference_frames": 6,
            "width": 1920
          }
        }

    Page last updated on 12 Jun 2020