Logo de HDR to SDR Movie Converter HDR to SDR Movie Converter
FFmpeg · libplacebo/Vulkan · HandBrakeCLI

Transformez n'importe quel écran en écran HDR. Assez simple pour Mamie.

Un outil de tone-mapping avec support FFmpeg et HandBrake, un large éventail de courbes, et un vrai BT.2390 sur GPU. Sortie 10 bits et 12 bits incluse, gratuitement.

Fenêtre de l'application HDR to SDR Movie Converter : Fichiers, analyse de la source, progression et contrôles à gauche, réglages de conversion à droite.
Pourquoi c'est important

Même source — résultats différents

L'aspect réel du film dépend entièrement de la méthode utilisée — aucune conversion, une estimation rapide propre à un lecteur multimédia, ou un vrai traitement BT.2390.

Vidéo HDR brute lue sur un écran sans prise en charge HDR — image délavée, plate, peu contrastée.
Aucune conversion

HDR brut, sans conversion

Lire un fichier HDR non modifié sur un écran ou un projecteur qui ne comprend pas le HDR — la courbe PQ/HLG est affichée comme si c'était du SDR, donc tout paraît gris, plat et délavé.

La même vidéo HDR auto-convertie par un lecteur multimédia comme VLC — hautes lumières écrasées, couleurs décalées.
Tone-map automatique

Auto-converti par un lecteur multimédia

Des lecteurs comme VLC appliquent leur propre tone-mapping rapide pour rendre la lecture au moins regardable — généralement une courbe grossière et fixe qui écrête les hautes lumières ou décale les couleurs, pas un traitement BT.2390 délibéré avec une courbe choisie.

La même vidéo HDR correctement convertie en SDR grâce au tone-mapping BT.2390 sur GPU de cette application — hautes lumières équilibrées et couleurs précises.
Vrai BT.2390

Vrai tone-mapping BT.2390

La véritable EETF ITU-R BT.2390, exécutée sur le GPU via libplacebo — dégradé des hautes lumières maîtrisé et couleurs précises, sortie sous forme d'un vrai fichier SDR prêt pour n'importe quel écran standard.

Moteurs

Trois façons de faire du tone-mapping. Choisissez ce qui correspond à votre matériel.

Même vidéo source, trois pipelines vraiment différents. Rien n'est caché derrière un bouton « auto » — le moteur et la courbe choisis sont exactement ceux qui s'exécutent.

CPU · Standard

FFmpeg standard

Le filtre classique tonemap. Rapide, fonctionne partout où FFmpeg tourne, aucun GPU requis.

  • Courbes Hable, Reinhard, Mobius
  • Le mode Pro ajoute Linear, Gamma, Clip, et un passage « None » direct
GPU · Vulkan

libplacebo / BT.2390

Exécute la véritable EETF ITU-R BT.2390 sur le GPU via libplacebo, la même courbe de référence autour de laquelle sont construits la plupart des étalonnages HDR vers SDR.

  • BT.2390 par défaut
  • Le mode Pro débloque BT.2446A, ST2094-10, ST2094-40 (HDR10+), et Auto
Optionnel

HandBrakeCLI

Un chemin d'encodage alternatif via HandBrakeCLI pour les cas où son propre pipeline se comporte mieux sur une source donnée.

  • Mêmes contrôles de résolution/encodeur
  • Analyse de progression propre, affichée en direct dans Activité
Fonctionnalités

Tout ce qu'il faut pour une conversion réussie.

Conçu autour des éléments d'un tone-mapping qui posent vraiment problème sur des vidéos réelles : la mauvaise courbe, le mauvais encodeur, ou un processus qui accapare toute la machine pendant son exécution.

Préréglages de résolution

Source (sans mise à l'échelle), 4K, 1440p, 1080p, 720p, ou 480p. La mise à l'échelle est pilotée par la hauteur, la largeur étant calculée automatiquement pour que le rapport d'aspect de la source ne soit jamais déformé.

Analyse automatique

Choisissez une source et elle est lue immédiatement — caractéristiques de transfert, profondeur de couleur, durée, métadonnées HDR10+/Dolby Vision — avec une courbe suggérée pour ce fichier précis. Le chemin de sortie SDR est rempli automatiquement, et glisser-déposer un fichier vidéo sur la fenêtre fonctionne comme le bouton Parcourir.

Aperçu en direct

Une vraie image décodée et tone-mappée de votre source, mise à jour à chaque changement de réglage, avec une vérification de l'écrêtage des ombres/hautes lumières pour repérer une courbe qui écrase les détails avant l'encodage complet. Affichez-la en plein format ou enregistrez l'image sur disque.

Estimation du débit en direct

Se met à jour automatiquement à chaque changement de qualité, résolution ou encodeur, afin qu'une combinaison CRF/résolution surprenante soit visible avant de cliquer sur Démarrer.

Info-bulles des courbes

Survolez n'importe quelle courbe de tone-mapping pour un résumé clair de ses véritables compromis — pas du discours marketing.

Choix de l'encodeur

x264/x265 sur CPU, ou encodage matériel via NVIDIA NVENC, AMD AMF, ou Apple VideoToolbox, en H.264 ou H.265.

Sortie 10 bits & 12 bits

Gratuit, sans licence, sans build séparé. Le 10 bits fonctionne avec n'importe quel encodeur H.265 (CPU ou matériel) ; le 12 bits est disponible via libx265 sur CPU — l'application n'affiche que les encodeurs qui prennent réellement en charge la profondeur choisie.

Mode Pro

Ouvre toute la plage CRF/CQ (0–51), un réglage de décalage de luminosité, et les courbes de tone-mapping supplémentaires — masqués jusqu'à ce que vous en ayez besoin.

Décodage accéléré par le matériel

Décodage CUDA / DXVA2 / VideoToolbox pour le moteur FFmpeg, afin que le GPU assure aussi bien la lecture que le tone-mapping.

Priorité du processus & cœurs CPU

Efficacité, Équilibré, ou Performance, plus une limite de cœurs CPU en direct — appliquées au démarrage et ajustables pendant qu'une conversion tourne, pour qu'un long traitement ne bloque pas le reste de votre machine.

Activité & Système

Un journal en direct repliable diffuse la sortie réelle de FFmpeg/HandBrake et la progression ; un panneau Système indique ce qui a été détecté sur votre machine — FFmpeg, Vulkan, HandBrakeCLI — avant de lancer la conversion.

Installation en un clic sous Windows

FFmpeg ou HandBrakeCLI manquant est installé via winget depuis l'application — depuis le panneau Système, ou le raccourci « Installation rapide » juste à côté — avec la sortie d'installation diffusée dans Activité.

Icône HDR to SDR Movie Converter
Télécharger

Obtenir l'application

Un build Windows si vous voulez simplement le lancer, ou le code source si vous êtes sur macOS/Linux ou souhaitez d'abord lire le code.

Windows

Windows (.exe)

Build en un seul fichier, aucun Python requis. FFmpeg reste nécessaire séparément — ou installez-le depuis l'application via winget.

Toujours la version la plus récente · Windows 10/11

Source

Code source

Nécessite Python 3.10+ et pip install -r requirements.txt. Fonctionne sous Windows, macOS et Linux.

Sous licence MIT · branche main

Documentation

Guide d'installation & d'utilisation

L'application est un script PySide6 unique. Pas d'installeur, pas de service en arrière-plan — vous le lancez, et il exécute directement FFmpeg (et éventuellement HandBrakeCLI).

Prérequis

Ce qui doit être présent sur la machine avant le lancement.

ComposantNécessaire pour
Python 3.10+Faire tourner l'application elle-même
PySide6L'interface basée sur Qt
FFmpegLes moteurs de tone-mapping standard et GPU
GPU compatible Vulkan + pilotesSpécifiquement le moteur libplacebo/BT.2390
HandBrakeCLI (optionnel)Le moteur HandBrake
psutil (optionnel)Pause/reprise en direct, contrôle des cœurs CPU, et statistiques de ressources CPU/GPU

Installation & lancement

Trois commandes, et vous voilà devant la fenêtre.

# 1. Récupérer le script et ses dépendances Python
pip install PySide6 psutil

# 2. Vérifier que FFmpeg est dans votre PATH
ffmpeg -version

# 3. Lancer
python hdr_to_sdr_gui_qt.py
Windows : si FFmpeg ou HandBrakeCLI ne sont pas trouvés, ouvrez le panneau Système et utilisez « Installer les éléments manquants (winget) » plutôt qu'une installation manuelle.

Utilisation de base

Du fichier source HDR à la sortie SDR.

  1. Choisissez le fichier source. N'importe quel conteneur HDR que FFmpeg peut lire — l'analyse s'exécute automatiquement (fonction de transfert, profondeur de couleur, métadonnées HDR10+/Dolby Vision, et une courbe suggérée), et le chemin de sortie SDR est rempli automatiquement. Glisser un fichier sur la fenêtre fonctionne comme le bouton Parcourir.
  2. Choisissez un moteur et une courbe. BT.2390 sur GPU est le choix par défaut raisonnable ; passez à FFmpeg standard si vous n'avez pas de GPU compatible Vulkan. Survolez n'importe quelle courbe pour voir ses véritables compromis.
  3. Réglez la résolution, l'encodeur et la profondeur de couleur. Laissez la résolution sur « Source » pour conserver la taille d'image et le rapport d'aspect d'origine, ou choisissez un préréglage pour réduire la résolution dans le même passage.
  4. Ajustez la qualité, ou activez le mode Pro pour la plage CRF/CQ complète et un décalage de luminosité. Vérifiez l'Aperçu en direct — il montre une vraie image tone-mappée et signale l'écrêtage des ombres/hautes lumières — ainsi que l'estimation du débit en direct avant de valider.
  5. Convertissez, et observez la progression et la sortie en direct de FFmpeg/HandBrake dans Activité. Pause/reprise, limites de cœurs CPU, et priorité du processus peuvent tous être ajustés pendant l'exécution.

Choisir une courbe

Toutes ces options de tone-mapping FFmpeg/libplacebo sont réelles et documentées — rien n'est inventé ici.

CourbeMoteurQuand l'utiliser
BT.2390GPUChoix par défaut — l'EETF de référence visée par la plupart des étalonnages HDR vers SDR
HableCPUDégradé filmique, aucun GPU nécessaire
Reinhard / MobiusCPUAlternatives à Hable avec un dégradé des hautes lumières plus doux
BT.2446AGPU · ProAlternative orientée diffusion à BT.2390
ST2094-10 / ST2094-40GPU · ProTone-mapping dynamique ; ST2094-40 utilise les métadonnées HDR10+ lorsqu'elles sont présentes
Linear / Gamma / Clip / NoneCPU · ProPassages de diagnostic ou d'étalonnage manuel, pas pour un usage général

Dépannage

Le panneau Système est le premier réflexe — il indique exactement ce qui a été détecté avant de signaler ceci comme un bug.

  • Option BT.2390 (GPU) grisée — aucun périphérique compatible Vulkan n'a été détecté ; utilisez plutôt une courbe FFmpeg standard.
  • Moteur HandBrakeCLI manquant — il est optionnel et n'apparaît qu'une fois HandBrakeCLI trouvé dans votre PATH.
  • La conversion semble accaparer toute la machine — réduisez la priorité du processus à Efficacité.