Vidéo HEVC

Cette rubrique couvre la prise en charge de Video Cloud pour la vidéo HEVC.

Introduction

Avantages de HEVC

Le codage vidéo à haute efficacité (HEVC), également connu sous le nom H.265, est une norme de compression vidéo conçue pour succéder au codage vidéo avancé (AVC/H.264) largement utilisé. Par rapport à AVC, HEVC offre une compression des données environ 20 % meilleure au même niveau de qualité vidéo, ou une qualité vidéo considérablement améliorée au même débit binaire.

Les avantages de cette compression améliorée incluent une utilisation réduite de la bande passante, permettant une qualité vidéo supérieure à un débit binaire inférieur et un temps réduit jusqu'à la première image (TTFF), le tout conduisant à une satisfaction accrue du spectateur final.

Désavantages

Le principal inconvénient est que parce qu'il s'agit d'une nouvelle technologie, la vidéo HEVC n'est pas encore largement prise en charge par les clients (c'est-à-dire appareil + système d'exploitation + navigateur/application). De plus, certains clients sont capables de basculer entre les segments HEVC et AVC pendant la lecture, tandis que d'autres ne le sont pas.

De plus, la vidéo HEVC prend environ 2 à 4 fois plus de temps à transcoder que H.264.

Disponibilité

Le support HEVC est un module complémentaire payant pour Video Cloud. Si vous êtes intéressé par le support HEVC, contactez votre Customer Success Manager.

La solution HEVC de Brightcove

Pour vous offrir les avantages de HEVC tout en permettant aux téléspectateurs d'utiliser une technologie qui ne la prend pas en charge, Brightcove a développé une solution complète qui prend en charge les clients plus anciens non HEVC et optimise également l'utilisation de la bande passante. Cette solution comporte plusieurs éléments :

  • Création de rendus codés HEVC et AVC pendant le transcodage (avec création facultative de MP4 pour le téléchargement progressif en plus)
  • Génération de manifestes contenant des références aux rendus HEVC et AVC :
    • HLS : flux de variantes mixtes (classés par débit)
    • DASH : ensembles d'adaptation séparés pour HEVC et H.264, ainsi que des propriétés supplémentaires les déclarant comme commutables
  • Logique de filtrage basée sur le type de client de la visionneuse :
    • supprime les flux HEVC des manifestes si l'appareil demandeur est un appareil hérité non compatible HEVC
    • supprime les flux H.264 des manifestes en direction des appareils non commutables compatibles HEVC
    • laisse un sous-ensemble optimal des flux HEVC et H.264 si les appareils sont capables de décoder les deux codecs et de basculer entre eux

Clients pris en charge

Actuellement, HEVC est pris en charge de bout en bout sur les clients suivants à l'aide de lecteurs Web Brightcove ou d'appareils natifs :

Clients Web pris en charge pour HEVC
Lecteur Web Brightcove
Système d'exploitation Navigateur
MacOS 10.13+ Safari
iOS 11+ Safari
Apple TV via Airplay
Windows 10 Edge (version héritée avec plugin)
Périphériques pris en charge pour HEVC
Lecteurs SDK de périphérique natif Brightcove
SDK Système d'exploitation
Kit de développement logiciel iOS iOS 11+
SDK tvOS tvOS
SDK Android API Android niveau 21 (Lollipop version 5.0) et supérieur [1-1]

Remarques

Profils d'ingestion HEVC

Si le format HEVC est activé sur votre compte, pour obtenir des rendus HEVC à des fins de lecture, il vous suffit de choisir l'un des profils d'ingestion HEVC (codage conscient du contexte ou diffusion dynamique) lorsque vous importez vos vidéos à l'aide du module de téléchargement ou de l'API Dynamic Ingest :

Profils d'ingestion HEVC
Profils d'ingestion HEVC

Les détails JSON complets de ces profils sont inclus au dessous de. Nous vous recommandons d'utiliser des profils CAE (Context Aware Encoding) pour créer le meilleur ensemble de rendu pour votre source et optimiser le stockage. Étant donné que CAE nécessite un temps de traitement un peu plus long pour inspecter la source, si obtenir un rendu publiable le plus rapidement possible est votre priorité, vous pouvez créer un profil d'acquisition personnalisé avec le Publication rapide option.

Notez que si, pour l'option de publication rapide ou pour toute autre raison, vous devez créer un profil HEVC personnalisé, vous devrez utiliser soit le Éditeur avancé dans les pages d'administration de Studio, ou le Ingérer l'API des profils. Les rendus HEVC n'apparaîtront pas dans l'éditeur simple de Studio. Vous trouverez les rendus Dynamic Delivery disponibles au dessous de.

Notez également que les rendus standard pour HEVC ont une largeur de 1920px ou moins. Cependant, nous prenons en charge les rendus UHD (4K et plus). Si vous avez besoin de rendus UHD, vous pouvez soumettre une demande au support Brightcove pour en créer un ou plusieurs.

Profils CAE personnalisés

Les profils d'ingestion CAE standard n'incluent pas de rendus mixtes HEVC/H.264. Cependant, vous pouvez créer un thème personnalisé qui le fait. Actuellement, vous devez utiliser l'API Ingest Profiles pour créer ces profils CAE personnalisés pour HEVC.

Les champs (sous dynamic_origin > dynamic_profile_options) qui sont essentiels sont les suivants :

video_codecs
Un tableau de codecs pour créer des rendus. Les seules valeurs de codec actuellement prises en charge sont h264 et hevc
video_codec_options
Options de sorties pour chacun des codecs spécifiés dans video_codecs. Les propriétés de video_codec_options sont des objets avec le nom d'un codec inclus (actuellement h264 ou hevc). Les propriétés autorisées pour chacun de ces objets sont
  • min_renditions requis
  • max_bitrate
  • max_first_rendition_bitrate
  • min_resolution
  • max_resolution
  • max_first_rendition_resolution

Échantillon

Vous trouverez ci-dessous un exemple de profil CAE avec des rendus mixtes :

{
  "name": "multi-platform-extended-dynamic-hevc-mixed-codec",
  "display_name": "Multiplatform Extended HEVC (CAE) mixed-codec",
  "description": "Deliver high quality content for a wide range content types and screen sizes including mobile, desktop and large screens.",
  "account_id": 1486906377,
  "digital_master": {
    "rendition": "passthrough",
    "distribute": false
  },
  "renditions": [],
  "packages": [],
  "dynamic_origin": {
    "renditions": [
      "default/audio64",
      "default/audio128",
    ],
    "images": [
      {
        "label": "thumbnail",
        "height": 90,
        "width": 160
      },
      {
        "label": "poster",
        "height": 720,
        "width": 1280
      }
    ],
    "dynamic_profile_options": {
      "max_renditions": 10,
      "min_renditions": 2,
      "max_bitrate": 12000,
      "max_first_rendition_bitrate": 1000,
      "max_first_rendition_resolution": {
        "width": 1280,
        "height": 720
      },
      "video_codecs": [
        "h264",
        "hevc"
      ],
      "video_codec_options": {
        "h264": {
          "min_renditions": 2,
          "max_resolution": {
            "width": 1280,
            "height": 720
          }
        },
        "hevc": {
          "min_renditions": 2,
          "max_resolution": {
            "width": 1920,
            "height": 1080
          }
        }
      }
    }
  }
}

Contraintes

Vous trouverez ci-dessous les limites actuelles de la prise en charge du format HEVC. Notez qu'elles changeront au fur et à mesure des améliorations.

  1. Les profils d'ingestion CAE standard incluent actuellement des rendus HEVC. Ils ne doivent être utilisés que dans les cas où vous savez que vous allez diffuser des vidéos uniquement vers des appareils compatibles HEVC. Des profils personnalisés peuvent être créés pour inclure à la fois des rendus HEVC et H.264. Voir le Profils CAE personnalisés rubrique ci-dessus.
  2. La vidéo HDR et 10 bits n'est pas prise en charge.
  3. L'interface utilisateur multimédia affiche actuellement tous les rendus et n'affiche pas les informations de codec à côté de chaque rendu.

Annexe 1 : Profils d'ingestion HEVC

Vous trouverez ci-dessous les propriétés complètes des profils HEVC en JSON.

Profils de codage contextuel (CAE)

HEVC étendu multiplateforme (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"
        ],
        "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"
    }

HEVC étendu multiplateforme (CAE) avec 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"
        ],
        "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": 3200,
          "max_first_rendition_bitrate": 200,
          "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"
    }

Profils de livraison dynamiques

Multiplateforme statique étendue 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/video450",
          "default/video700",
          "default/video900",
          "default/video1200",
          "default/video2000",
          "default/video2500",
          "default/video3500",
          "default/video3800",
          "default/video300hevc",
          "default/video550hevc",
          "default/video1000hevc",
          "default/video1300hevc",
          "default/video1600hevc",
          "default/video2850hevc",
          "default/audio64",
          "default/audio128"
        ],
        "images": [
          {
            "label": "thumbnail",
            "height": 90,
            "width": 160
          },
          {
            "label": "poster",
            "height": 720,
            "width": 1280
          }
        ],
        "hevc": true
      },
      "id": "5e46e57f305eb2517f27a543"
    }

Multiplateforme statique étendue H.264 + HEVC avec 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/video450",
          "default/video700",
          "default/video900",
          "default/video1200",
          "default/video2000",
          "default/video2500",
          "default/video3500",
          "default/video3800",
          "default/video300hevc",
          "default/video550hevc",
          "default/video1000hevc",
          "default/video1300hevc",
          "default/video1600hevc",
          "default/video2850hevc",
          "default/progressive2000",
          "default/audio64",
          "default/audio128"
        ],
        "images": [
          {
            "label": "thumbnail",
            "height": 90,
            "width": 160
          },
          {
            "label": "poster",
            "height": 720,
            "width": 1280
          }
        ],
        "hevc": true
      },
      "id": "5e46e59b135b6662f386559d"
    }

HEVC étendu multiplateforme avec 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/video300hevc",
          "default/video550hevc",
          "default/video1000hevc",
          "default/video1300hevc",
          "default/video1600hevc",
          "default/video2850hevc",
          "default/progressive2000",
          "default/audio64",
          "default/audio128"
        ],
        "images": [
          {
            "label": "thumbnail",
            "height": 90,
            "width": 160
          },
          {
            "label": "poster",
            "height": 720,
            "width": 1280
          }
        ],
        "hevc": true
      },
      "id": "5e46e57e708a441e00a7ba1a"
    }

Annexe 2 : Rendus de livraison dynamique HEVC

Vous trouverez ci-dessous les propriétés complètes des rendus HEVC en JSON.

HEVC 300 par défaut

{
      "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
      }
    }

HEVC 550 par défaut

{
      "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
      }
    }

HEVC 1000 par défaut

{
      "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
      }
    }

HEVC par défaut 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
      }
    }

HEVC par défaut 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
      }
    }

HEVC par défaut 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
      }
    }