Vídeo HEVC

Este tema cubre la compatibilidad de Video Cloud con video HEVC.

Introducción

Ventajas de HEVC

La codificación de vídeo de alta eficiencia (HEVC), también conocida como H.265, es un estándar de compresión de vídeo diseñado como sucesor de la codificación avanzada de vídeo (AVC/H.264), ampliamente utilizada. En comparación con AVC, HEVC ofrece aproximadamente un 20% más de compresión de datos al mismo nivel de calidad de video, o una calidad de video sustancialmente mejorada a la misma tasa de bits.

Los beneficios de esta compresión mejorada incluyen un uso reducido del ancho de banda, lo que permite una mayor calidad de video a una tasa de bits más baja y un tiempo reducido hasta el primer fotograma (TTFF), todo lo cual conduce a una mayor satisfacción del espectador final.

Desventajas

La principal desventaja es que, debido a que es una tecnología nueva, los clientes aún no admiten ampliamente el video HEVC (es decir, dispositivo + SO + navegador / aplicación). Además, algunos clientes pueden cambiar entre segmentos HEVC y AVC durante la reproducción, mientras que otros no.

Además, el vídeo HEVC tarda entre 2 y 4 veces más en transcodificarse que H.264.

Disponibilidad

El soporte HEVC es un complemento pagado para Video Cloud. Si está interesado en el soporte de HEVC, comuníquese con su gerente de éxito del cliente.

Solución HEVC de Brightcove

Para brindarle los beneficios de HEVC y, al mismo tiempo, permitir que los espectadores usen tecnología que no la admite, Brightcove ha desarrollado una solución integral que admite clientes antiguos que no son HEVC y también optimiza el uso del ancho de banda. Esta solución tiene varias partes:

  • Creación de representaciones codificadas en HEVC y AVC durante la transcodificación (con la creación opcional de MP4 para descarga progresiva además)
  • Generación de manifiestos que contienen referencias a versiones HEVC y AVC:
    • HLS: flujos de variantes mixtas (ordenados por tasa de bits)
    • DASH: conjuntos de adaptación separados para HEVC y H.264, junto con propiedades complementarias que los declaran intercambiables
  • Lógica de filtrado basada en el tipo de cliente visor:
    • elimina las transmisiones HEVC de los manifiestos si el dispositivo solicitante es un dispositivo heredado que no es compatible con HEVC
    • elimina las transmisiones H.264 de los manifiestos que se dirigen a dispositivos no conmutables con capacidad HEVC
    • deja un subconjunto óptimo de secuencias HEVC y H.264 si los dispositivos son capaces de decodificar ambos códecs y cambiar entre ellos

Clientes apoyados

Actualmente, HEVC es compatible de un extremo a otro en los siguientes clientes que utilizan reproductores de dispositivos nativos o web de Brightcove:

Clientes web compatibles con HEVC
Reproductor web Brightcove
SO Navegador
MacOS 10.13+ Safari
iOS 11+ Safari
Apple TV vía Airplay
Windows 10 Edge (versión heredada con complemento)
Dispositivos compatibles con HEVC
Reproductores SDK de dispositivos nativos de Brightcove
SDK SO
SDK de iOS iOS 11+
tvOS SDK tvOS
SDK de Android Android API nivel 21 (Lollipop versión 5.0) y superior [1-1]

Notas

Perfiles de ingesta HEVC

Si HEVC está habilitado para su cuenta, para obtener representaciones de HEVC para reproducción, todo lo que tiene que hacer es elegir uno de los perfiles de ingesta de HEVC (Codificación consciente del contexto o Entrega dinámica) cuando ingiere sus videos usando el módulo de carga o la API de ingesta dinámica. :

Perfiles de ingesta HEVC
Perfiles de ingesta HEVC

Se incluyen los detalles JSON completos de estos perfiles. debajo. Le recomendamos que utilice perfiles CAE (codificación consciente del contexto) para crear el mejor conjunto de interpretación para su fuente y optimizar el almacenamiento. Dado que CAE requiere un tiempo de procesamiento algo más largo para inspeccionar la fuente, si su prioridad es obtener una interpretación publicable lo más rápido posible, puede crear un perfil de ingesta personalizado con el Publicación rápida opción.

Tenga en cuenta que si, para la opción de publicación rápida o por alguna otra razón, necesita crear un perfil HEVC personalizado, tendrá que usar el Editor avanzado en las páginas de administración de Studio, o API de perfiles de ingesta. Las representaciones HEVC no se mostrarán en el Editor simple de Studio. Encontrará las representaciones de Dynamic Delivery disponibles debajo.

También tenga en cuenta que las representaciones estándar para HEVC tienen un ancho de 1920px o menos. Sin embargo, sí admitimos representaciones UHD (4K y más grandes). Si necesita representaciones UHD, puede enviar una solicitud a Brightcove Support para que se creen una o más.

Perfiles CAE personalizados

Los perfiles de ingesta de CAE estándar no incluyen representaciones mixtas de HEVC/H.264. Sin embargo, puede crear un tema personalizado que lo haga. Actualmente, debe utilizar la API de perfiles de ingesta para crear estos perfiles CAE personalizados para HEVC.

Los campos (bajo dynamic_origin > dynamic_profile_options ) que son esenciales son:

video_codecs
Una matriz de códecs para crear representaciones. Los únicos valores de códec admitidos actualmente son h264 y hevc
video_codec_options
Opciones de salida para cada uno de los códecs especificados en video_codecs. Las propiedades de video_codec_options son objetos con el nombre de un códec incluido (actualmente h264 o hevc). Las propiedades permitidas para cada uno de estos objetos son
  • min_renditions requerido
  • max_bitrate
  • max_first_rendition_bitrate
  • min_resolution
  • max_resolution
  • max_first_rendition_resolution

Muestra

A continuación se muestra un perfil de CAE de muestra con representaciones mixtas:

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

Limitaciones

A continuación se muestran las limitaciones actuales sobre la compatibilidad con HEVC; tenga en cuenta que estas cambiarán a medida que realicemos mejoras.

  1. Los perfiles de ingesta estándar de CAE actualmente incluyen representaciones HEVC; estas solo deben usarse en los casos en los que sepa que entregará videos solo a dispositivos compatibles con HEVC. Se pueden crear perfiles personalizados para incluir versiones HEVC y H.264. Ver el Perfiles CAE personalizados sección anterior.
  2. No se admiten HDR ni video de 10 bits.
  3. La interfaz de usuario de medios muestra actualmente todas las representaciones y no muestra la información del códec junto a cada representación.

Apéndice 1: Perfiles de ingesta HEVC

A continuación se muestran las propiedades completas de los perfiles HEVC en JSON.

Perfiles de codificación consciente del contexto (CAE)

HEVC extendido multiplataforma (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 extendido multiplataforma (CAE) con 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"
    }

Perfiles de entrega dinámicos

Estático extendido multiplataforma 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"
    }

Estático extendido multiplataforma H.264 + HEVC con 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 extendido multiplataforma con 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"
    }

Apéndice 2: Representaciones de entrega dinámica HEVC

A continuación se muestran las propiedades completas de las representaciones HEVC en JSON.

HEVC 300 predeterminado

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

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

{
      "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 1300 predeterminado

{
      "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 1600 predeterminado

{
      "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 2850 predeterminado

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