Aller au contenu

Guide HDR

Transcodage HDR et tone mapping sur un serveur multimédia domestique

Ce qu'un serveur lit comme du HDR, quel backend graphique le convertit sur la carte et lequel le laisse au processeur, et quels clients ne le demandent jamais.

Un téléviseur fixé au mur dans une pièce lumineuse, affichant la page d'un film dans Quven
Par Quven Editorial Team Mis à jour le Vérifié le

Le tone mapping comprime une large plage de luminance dans une plage étroite, en gardant le détail des hautes lumières et des ombres. Il est nécessaire quand le fichier porte du HDR et que l’écran ou le chemin de lecture attend du SDR. L’endroit où votre serveur l’effectue, et la question de savoir s’il doit l’effectuer, décident de ce que vous coûte un film en 4K.

1. Ce que le serveur lit comme du HDR

Deux signaux, tous deux tirés de l’analyse du fichier et non de son nom :

Est compté comme Quand
HDR10 La fonction de transfert est SMPTE ST.2084 (la courbe PQ), ou le fichier porte des métadonnées annexes de l’écran de mastering ou de niveau de lumière du contenu, qui restent fiables même lorsque la caractéristique de transfert a disparu
HLG La fonction de transfert est ARIB STD-B67, la courbe de la diffusion hertzienne

Le Dolby Vision n’a pas de branche propre dans la décision de diffusion. L’analyse lit son profil et son niveau, et les statistiques de votre bibliothèque comptent ces fichiers sous une plage dynamique à part dans l’onglet Statistiques. La plupart des copies Dolby Vision portent une base HDR10 qui signale PQ : le fichier est donc converti comme du HDR10, et les métadonnées scène par scène restent non interprétées.

2. Quand le serveur convertit

Client Ce qui se passe
Applications de bureau et mobiles Elles indiquent au serveur qu’elles peuvent ouvrir le fichier elles-mêmes : la session prend le chemin du fichier direct, et les octets partent tels qu’ils sont sur le disque. Le test HDR n’est jamais atteint
Navigateurs récents Le profil couvre du H.264 à l’AV1 jusqu’à la 4K et 25 Mbit/s. Le HDR10 s’y ajoute lorsque l’écran affiche le HDR et que le navigateur décode le HEVC 10 bits ; ailleurs, un film HDR passe par le tone mapping, sauf si la personne qui regarde demande autre chose
Récepteurs AirPlay Ils conservent le HDR10 et acceptent le HEVC : une Apple TV reçoit donc la plage dynamique telle qu’elle a été créée
Récepteur Chromecast par défaut Il n’accepte que le H.264 et l’AAC : un titre HDR diffusé depuis un téléphone est donc converti pour le codec et pour la plage dynamique

Chaque conversion évitée garde la qualité intacte et laisse un cœur libre pour une session qui n’a pas le choix.

3. Quel backend effectue le tone mapping

Backend Le tone mapping s’exécute sur
NVIDIA (NVENC ou CUDA) Le matériel graphique, par libplacebo sur un périphérique Vulkan choisi indépendamment de l’encodeur : les cartes dédiées d’abord, puis les puces intégrées, les rastériseurs logiciels et les périphériques virtuels étant exclus
Intel Quick Sync Son unité de traitement vidéo. Sur un titre 4K HDR, trente secondes y ont pris 3,43 secondes, contre 27,4 secondes par libplacebo sur la même puce intégrée
VAAPI sous Linux (Intel et AMD) L’unité de traitement vidéo, tant que les images décodées sont encore sur le périphérique. Après un repli sur le décodage logiciel, la chaîne du processeur s’exécute et le résultat est envoyé à l’encodeur
AMD AMF sous Windows Le processeur, avec l’encodage sur la carte. La même carte sur un hôte Linux convertit sur le GPU par VAAPI
Apple VideoToolbox sous macOS Le processeur, avec l’encodage sur le matériel

Auto prend le premier backend qui passe la validation, dans l’ordre NVENC, Quick Sync, VAAPI, VideoToolbox, AMF, puis, sous Linux, un périphérique V4L2 doté d’un codec.

Pour le vérifier ou l’imposer, un administrateur ouvre Paramètres, l’onglet Qualité, Transcodage du serveur. L’onglet Infos & Diagnostic liste sous forme de pastilles, sous Backends d’accélération matérielle, ce que votre machine a validé, et un backend qui n’a jamais réussi son test d’exécution n’est pas proposé.

4. L’image reste la même d’un backend à l’autre

L’opérateur est Hable partout. La chaîne logicielle convertit en lumière linéaire avec une crête nominale de cent nits, applique le tone mapping de Hable sans désaturation, puis revient en BT.709, et libplacebo reçoit le même opérateur Hable pour que les deux concordent. Faire passer le serveur du processeur à la carte graphique ne change donc pas l’étalonnage, et une mesure faite avant le changement garde son sens après.

5. Quand une carte décroche en cours de session

  1. Une session matérielle qui s’arrête avant son premier segment est relancée avec le décodage logiciel, l’encodeur matériel conservé et le tone mapping sur le processeur.
  2. Si le second lancement s’arrête de la même manière, le backend est marqué comme défaillant (tainted). La session redémarre entièrement en logiciel, et toutes les sessions suivantes de ce processus passent directement par libx264.

Le journal nomme chaque étape, alors cherchez-y :

Ligne du journal Signification
Hardware decode failed at startup on {backend}; retrying with software decode La première étape
Hardware acceleration {backend} tainted La deuxième étape. L’indicateur vit en mémoire : redémarrer le serveur l’efface, et le backend est de nouveau testé
GPU HDR tonemap support detected: False Le filtre libplacebo ou le périphérique Vulkan n’a jamais démarré
Un avertissement indiquant qu’un périphérique Vulkan nommé corrompt ses transferts d’images Ce périphérique a échoué au contrôle qui les vérifie

6. Mesurer avec de vrais médias

La résolution, le codec source, la profondeur de couleur, les sous-titres incrustés et le débit de sortie font tous varier le coût d’un transcodage. Le HDR avec incrustation est la tâche la plus lourde du serveur, parce que la superposition exige que l’image revienne en mémoire système et que seuls NVIDIA et Quick Sync peuvent garder l’encodeur matériel pendant l’opération. Sur tout autre backend, cette combinaison fait passer la session en logiciel, et c’est dans une bibliothèque de copies de disques avec des sous-titres en image que vous la rencontrerez. Le guide des disques explique le coût du choix de l’une de ces pistes.

  1. Choisissez un fichier 4K HDR représentatif de votre bibliothèque, un film que vous regardez vraiment.
  2. Lisez-le avec le client et sur le réseau que vous utiliserez vraiment.
  3. Laissez-le tourner assez longtemps pour que l’encodeur se stabilise, idéalement le film entier.

Un test de capacité vous dit seulement qu’un périphérique est présent. Une charge soutenue montre si la lecture tient.

Ordre de préférence : d’abord la lecture HDR directe, puis un chemin de tone mapping accéléré qui a survécu à une vraie session, puis le processeur, qui fonctionne partout et demande une marge généreuse à haute résolution.

Questions fréquentes

Pourquoi ma Radeon encode-t-elle sans tone mapping ?

Vous êtes sous Windows, où AMF effectue l’encodage sur la carte et confie la conversion HDR au processeur. Sous Linux, une carte AMD est pilotée par VAAPI, dont l’unité de traitement vidéo convertit les images sur place.

Mon serveur utilisait la carte graphique hier et utilise le processeur aujourd’hui. Qu’est-ce qui a changé ?

Le plus probable est qu’une session a échoué au démarrage et que le backend a été écarté pour toute la durée de vie du processus. Cherchez tainted dans le journal du serveur. Redémarrer le serveur efface cet état et teste de nouveau le backend, et un second échec révèle une vraie panne.

Puis-je empêcher un navigateur d’appliquer le tone mapping à un film HDR ?

Oui. Ouvrez Paramètres, l’onglet Qualité, et regardez Image HDR. Automatique, la valeur par défaut, conserve l’image HDR10 pendant un transcodage partout où l’écran affiche le HDR et où le navigateur décode le HEVC 10 bits. Conserver le HDR la conserve sur tous les écrans, et Convertir en SDR confie le tone mapping au serveur. Choisissez Convertir en SDR si le HDR ne s’affiche pas correctement sur votre écran, puisque c’est un moniteur SDR recevant un flux HDR qui donne l’image grisâtre. L’application de bureau reçoit le fichier entier.

Le serveur comprend-il le Dolby Vision ?

Il lit la couche de base HDR10 que porte presque chaque fichier Dolby Vision et effectue la conversion sur celle-ci. Les métadonnées scène par scène sont enregistrées pendant l’analyse et comptées dans vos statistiques, mais pas interprétées pour un tone mapping. Lire le fichier sans modification dans une application de bureau ou mobile laisse le flux entier intact, cette couche comprise.

Quven Lifetime

Toutes les capacités de Max, avec un seul paiement

Lifetime, c'est Max sans renouvellement : le relais géré et le client web, les sous-titres écrits à partir de l'audio, l'éditeur de sous-titres avec la traduction, et la réparation des fichiers endommagés, aujourd'hui et à mesure que Max s'enrichit. Il permet aussi de partager le serveur avec jusqu'à 150 personnes.

129 €, en une seule fois.

Pour approfondir

Guides liés

Approfondissez les points qui influencent réellement le résultat sur votre matériel et vos écrans.

Ramenez votre bibliothèque à la maison.

Gratuit pour un usage personnel, à installer sur votre propre matériel en quelques minutes.