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:
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) |
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
- [1-1] Para obtener más detalles, consulte Selección de HEVC con el SDK nativo para Android
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. :
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
yhevc
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 sonmin_renditions
requeridomax_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.
- 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.
- No se admiten HDR ni video de 10 bits.
- 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.
- HEVC extendido multiplataforma (CAE)
- HEVC extendido multiplataforma (CAE) con MP4
- Estático extendido multiplataforma H.264 + HEVC
- Estático extendido multiplataforma H.264 + HEVC con MP4
- HEVC extendido multiplataforma con MP4
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
- HEVC 550 predeterminado
- HEVC 1000 predeterminado
- HEVC 1300 predeterminado
- HEVC 1600 predeterminado
- HEVC 2850 predeterminado
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
}
}