Introduction
Avantages de HEVC
High Efficiency Video Coding (HEVC), également connu sous le nom H.265, est un standard de compression vidéo, conçu comme un successeur du code vidéo avancé (AVC/H.264)largement utilisé. Par rapport à l'AVC, HEVC offre environ 20 % de meilleure compression des données au même niveau de qualité vidéo, ou une qualité vidéo nettement 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, une meilleure qualité vidéo à un débit binaire inférieur et une réduction du temps avant la première image (TTFF), ce qui augmente la satisfaction du spectateur final.
Inconvénients
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 (ce qui signifie périphérique + OS + navigateur/application). En outre, certains clients sont capables de basculer entre les segments HEVC et AVC pendant la lecture, alors que d'autres ne le sont pas.
En outre, 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 responsable de compte.
Solution HEVC de Brightcove
Pour vous offrir les avantages de HEVC tout en permettant aux spectateurs d'utiliser une technologie qui ne la supporte pas, Brightcove a développé une solution complète qui prend en charge les anciens clients non-HEVC et optimise l'utilisation de la bande passante. Il y a plusieurs parties à cette solution :
- Création de rendus codés HEVC et AVC pendant le transcodage (avec création facultative de MP4 pour le téléchargement progressif)
- Génération de manifestes contenant des références aux rendus HEVC et AVC :
- HLS : flux variants mixtes (classés par débit binaire)
- 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 le périphérique demandé est un périphérique hérité, non compatible HEVC
- supprime les flux H.264 des manifestes se dirigeant vers des dispositifs non commutables compatibles HEVC
- laisse un sous-ensemble optimal des flux HEVC et H.264 si les dispositifs sont capables de décoder les deux codecs et de basculer entre eux
Client pris en charge
Actuellement, HEVC est pris en charge de bout en bout sur les clients suivants utilisant des lecteurs Web Brightcove ou des périphériques natifs :
Lecteur Web Brightcove | |
---|---|
Systèmes d'exploitation | Navigateur |
macOS 10.13+ | Safari |
iOS 11+ | Safari |
Apple TV | via Airplay |
Windows 10 | Edge (version héritée avec plugin) |
Lecteurs SDK pour périphériques natifs Brightcove | |
---|---|
SDK | Systèmes d'exploitation |
SDK iOS | iOS 11+ |
SDK TVOS | TVO |
SDK Android | API Android niveau 21 (Lollipop version 5.0) et supérieur [1-1] |
Remarques
- [ 1-1] Pour plus de détails, voir Sélection HEVC avec le SDK natif pour Android
Profils d'ingestion HEVC
Si HEVC est activé pour votre compte, pour obtenir les formats associés HEVC pour la lecture, il vous suffit de choisir l'un des profils d'ingest HEVC (Encodage contextuel ou Delivery dynamique) lorsque vous ingérez vos vidéos à l'aide du module Upload ou de l'API Dynamic Ingest :
Les détails complets du JSON de ces profils sont inclus ci-dessous. Nous vous recommandons d'utiliser les profils CAE (Context Aware Encoding) pour créer le format associé le mieux adapté à votre source et optimiser le stockage. Comme CAE nécessite un délai de traitement un peu plus long pour inspecter la source, si l'obtention d'un rendu publiable le plus rapidement possible est votre priorité, vous pouvez créer un profil d'ingestion personnalisé avec l'option Publication rapide .
Notez que si, pour l'option de publication rapide ou pour une autre raison, vous devez créer un profil HEVC personnalisé, vous devrez utiliser soit l' éditeur avancé dans les pages Admin Studio, soit l' API Ingest Profiles. Les formats associés HEVC n'apparaîtront pas dans Simple Editor dans Studio. Vous trouverez ci-dessousles formats associés Delivery Dynamic Delivery.
Notez également que les formats associés 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 formats associés UHD, vous pouvez soumettre une demande au support Brightcove pour créer un ou plusieurs formats associés.
Profils CAE personnalisés
Les profils d'ingest CAE standard ne comprennent pas de rendus mixtes HEVC/H.264. Toutefois, 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:
video_codecs
- Tableau de codecs pour créer des formats associés pour. Les seules valeurs de codec actuellement prises en charge sont
h264
ethevc
video_codec_options
-
Options pour les 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 sontmin_renditions
requismax_bitrate
max_first_rendition_bitrate
min_resolution
max_resolution
max_first_rendition_resolution
Exemple
Voici un exemple de profil CAE avec des formats associés 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 de HEVC - notez qu'elles changeront au fur et à mesure que nous apporterons des améliorations.
- Les profils d'ingest standard CAE incluent actuellement les rendus HEVC - ceux-ci ne doivent être utilisés que dans les cas où vous savez que vous ne distribuerez des vidéos qu'à des appareils compatibles HEVC. Des profils personnalisés peuvent être créés pour inclure à la fois les formats associés HEVC et H.264. Voir la section Profils CAE personnalisés ci-dessus.
- Seul l'audio AAC est pris en charge, pas de prise en charge du codec audio EAC3 ou AC3 avec HEVC.
- HDR et vidéo 10 bits ne sont pas pris en charge.
- L'interface utilisateur multimédia affiche actuellement tous les formats associés et n'affiche pas les informations de codec en regard de chaque format associé.
Annexe 1 : Profils d'ingestion HEVC
Voici les propriétés complètes des profils HEVC dans JSON.
- HEVC étendu multiplateforme (CAE)
- HEVC étendu multiplateforme (CAE) avec MP4
- Statique étendu multiplateforme H.264 + HEVC
- Statique étendu multiplateforme H.264 + HEVC avec MP4
- HEVC étendu multiplateforme avec MP4
Profils d'encodage 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
Statique étendu multiplateforme 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"
}
Statique étendu multiplateforme 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"
}
Appendice 2 : Formats associés de remise dynamique HEVC
Vous trouverez ci-dessous les propriétés complètes des formats associés HEVC dans JSON.
- HEVC 300 par défaut
- HEVC 550 par défaut
- HEVC 1000 par défaut
- HEVC 1300 par défaut
- HEVC 1600 par défaut
- HEVC 2850 par défaut
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 1300 par défaut
{
"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 par défaut
{
"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 par défaut
{
"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
}
}