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

Convierte cualquier pantalla en una pantalla HDR. Suficientemente simple para la abuela.

Una herramienta de escritorio para tone-mapping con soporte de FFmpeg y HandBrake, una amplia variedad de curvas, y BT.2390 real en la GPU. Salida de 10 y 12 bits incluida, gratis.

Ventana de la app HDR to SDR Movie Converter mostrando Archivos, análisis de la fuente, progreso y controles a la izquierda, y ajustes de conversión a la derecha.
Por qué importa

Misma fuente — resultados distintos

Cómo se ve realmente la película depende por completo de cómo se procese — sin ninguna conversión, con la estimación rápida propia de un reproductor multimedia, o con un verdadero paso de BT.2390.

Video HDR sin procesar reproducido en una pantalla sin soporte HDR — imagen deslavada, plana y de bajo contraste.
Sin conversión

HDR sin procesar, sin conversión

Reproducir un archivo HDR intacto en una pantalla o proyector que no entiende HDR — la curva PQ/HLG se muestra como si fuera SDR, así que todo se ve gris, plano y deslavado.

El mismo video HDR con tone-mapping automático de un reproductor como VLC — luces recortadas, color desplazado.
Tone-map automático

Auto-convertido por un reproductor multimedia

Reproductores como VLC aplican su propio tone-mapping rápido para que la reproducción sea al menos mirable — normalmente una curva fija y tosca que recorta luces o desplaza el color, no un paso deliberado de BT.2390 con una curva que hayas elegido.

El mismo video HDR correctamente convertido a SDR con el tone-mapping BT.2390 en GPU de esta app — luces equilibradas y color preciso.
BT.2390 real

Tone-mapping BT.2390 correcto

La verdadera EETF ITU-R BT.2390, ejecutada en la GPU vía libplacebo — caída controlada de luces y color preciso, con salida como un archivo SDR real listo para cualquier pantalla estándar.

Motores

Tres formas de hacer tone-mapping. Elige la que combina con tu hardware.

El mismo video de origen, tres pipelines genuinamente distintos. Nada se esconde detrás de un botón "auto" — el motor y la curva que elijas son exactamente los que se ejecutan.

CPU · Estándar

FFmpeg estándar

El filtro clásico tonemap. Rápido, funciona en cualquier lugar donde funcione FFmpeg, no requiere GPU.

  • Curvas Hable, Reinhard, Mobius
  • El modo Pro añade Linear, Gamma, Clip, y un paso directo "None"
GPU · Vulkan

libplacebo / BT.2390

Ejecuta la verdadera EETF ITU-R BT.2390 en la GPU vía libplacebo, la misma curva de referencia sobre la que se construyen la mayoría de las conversiones profesionales de HDR a SDR.

  • BT.2390 por defecto
  • El modo Pro desbloquea BT.2446A, ST2094-10, ST2094-40 (HDR10+), y Auto
Opcional

HandBrakeCLI

Una ruta de codificación alternativa mediante HandBrakeCLI para casos en que su propio pipeline se comporta mejor con una fuente en particular.

  • Mismos controles de resolución/codificador
  • Análisis de progreso propio, mostrado en vivo en Actividad
Funciones

Todo lo que necesita una conversión de verdad, bien hecho.

Construido en torno a las cosas que realmente salen mal en un trabajo de tone-mapping con material real: la curva equivocada, el codificador equivocado, o un proceso que acapara toda la máquina mientras se ejecuta.

Preajustes de resolución

Source (sin escalado), 4K, 1440p, 1080p, 720p, o 480p. El escalado se guía por la altura, con el ancho calculado automáticamente para que la relación de aspecto de la fuente nunca se estire.

Analiza automáticamente

Elige una fuente y se lee de inmediato — características de transferencia, profundidad de bits, duración, metadatos HDR10+/Dolby Vision — con una curva sugerida para ese archivo en concreto. La ruta de salida SDR se rellena automáticamente, y arrastrar un archivo de video a la ventana funciona igual que Examinar.

Vista previa en vivo

Un fotograma real, decodificado y con tone-mapping aplicado, de tu fuente, que se actualiza al cambiar ajustes, con una verificación de recorte de sombras/luces para que una curva que arruina detalle se note antes de la codificación completa. Míralo a tamaño completo o guarda el fotograma directamente en disco.

Estimación de bitrate en vivo

Se actualiza automáticamente al cambiar calidad, resolución, o codificador, para que una combinación sorprendente de CRF/resolución sea visible antes de pulsar Iniciar.

Tooltips de curvas

Pasa el cursor sobre cualquier curva de tone-mapping para ver una explicación clara de sus verdaderos compromisos — no texto de marketing.

Elección de codificador

x264/x265 en CPU, o codificación por hardware vía NVIDIA NVENC, AMD AMF, o Apple VideoToolbox, en H.264 o H.265.

Salida de 10 y 12 bits

Gratis, sin licencia, sin build separado. El 10 bits funciona con cualquier codificador H.265 (CPU o hardware); el 12 bits está disponible vía libx265 en CPU — la app solo muestra codificadores que realmente admiten la profundidad de bits elegida.

Modo Pro

Abre el rango completo de CRF/CQ (0–51), un control de desplazamiento de brillo, y las curvas de tone-mapping adicionales — fuera de vista hasta que las necesites.

Decodificación acelerada por hardware

Decodificación CUDA / DXVA2 / VideoToolbox para el motor FFmpeg, de modo que la GPU se encarga tanto de la lectura como del tone-mapping.

Prioridad del proceso & núcleos de CPU

Eficiencia, Equilibrado, o Rendimiento, más un límite de núcleos de CPU en vivo — ambos aplicados al iniciar y ajustables mientras una conversión está en curso, para que un lote largo no bloquee el resto de tu máquina.

Actividad & Sistema

Un registro en vivo colapsable transmite la salida real de FFmpeg/HandBrake y el progreso; un panel de Sistema informa qué se detectó en tu equipo — FFmpeg, Vulkan, HandBrakeCLI — antes de convertir.

Configuración con un clic en Windows

El FFmpeg o HandBrakeCLI faltante se instala vía winget desde dentro de la app — desde el panel de Sistema, o el acceso directo "Instalación rápida" justo al lado — con la salida de instalación transmitida en Actividad.

Icono de HDR to SDR Movie Converter
Descargar

Obtener la app

Un build de Windows si solo quieres ejecutarla, o el código fuente si usas macOS/Linux o quieres leer el código primero.

Windows

Windows (.exe)

Build de un solo archivo, no requiere Python. FFmpeg sigue siendo necesario por separado — o instálalo desde la app vía winget.

Siempre la versión más reciente · Windows 10/11

Fuente

Código fuente

Requiere Python 3.10+ y pip install -r requirements.txt. Funciona en Windows, macOS, y Linux.

Licencia MIT · rama main

Documentación

Guía de instalación & uso

La app es un único script en PySide6. Sin instalador, sin servicio en segundo plano — la ejecutas, y ella invoca directamente a FFmpeg (y opcionalmente a HandBrakeCLI).

Requisitos

Lo que debe estar en el equipo antes de ejecutarla.

ComponenteNecesario para
Python 3.10+Ejecutar la app en sí
PySide6La interfaz basada en Qt
FFmpegLos motores de tone-mapping estándar y por GPU
GPU compatible con Vulkan + driversEspecíficamente el motor libplacebo/BT.2390
HandBrakeCLI (opcional)El motor de HandBrake
psutil (opcional)Pausa/reanudación en vivo, control de núcleos de CPU, y estadísticas de recursos de CPU/GPU

Instalación & ejecución

Tres comandos, y ya estarás viendo la ventana.

# 1. Obtén el script y sus dependencias de Python
pip install PySide6 psutil

# 2. Asegúrate de que FFmpeg esté en tu PATH
ffmpeg -version

# 3. Ejecutar
python hdr_to_sdr_gui_qt.py
Windows: si no se encuentran FFmpeg o HandBrakeCLI, abre el panel de Sistema y usa "Instalar lo que falta (winget)" en lugar de instalarlos manualmente.

Flujo de trabajo básico

Del archivo fuente HDR a la salida SDR.

  1. Elige el archivo fuente. Cualquier contenedor HDR que FFmpeg pueda leer — el análisis se ejecuta automáticamente (función de transferencia, profundidad de bits, metadatos HDR10+/Dolby Vision, y una curva sugerida), y la ruta de salida SDR se rellena automáticamente. Arrastrar un archivo a la ventana funciona igual que Examinar.
  2. Elige un motor y una curva. BT.2390 en GPU es la opción por defecto razonable; cambia a FFmpeg estándar si no tienes una GPU compatible con Vulkan. Pasa el cursor sobre cualquier curva para ver sus verdaderos compromisos.
  3. Configura resolución, codificador, y profundidad de bits. Deja la resolución en "Source" para conservar el tamaño de fotograma y la relación de aspecto originales, o elige un preajuste para reducir la resolución en el mismo paso.
  4. Ajusta la calidad, o activa el modo Pro para el rango completo de CRF/CQ y un desplazamiento de brillo. Revisa la Vista previa en vivo — muestra un fotograma real con tone-mapping y señala el recorte de sombras/luces — además de la estimación de bitrate en vivo antes de confirmar.
  5. Convierte, y observa el progreso y la salida en vivo de FFmpeg/HandBrake en Actividad. Pausa/reanudación, límites de núcleos de CPU, y prioridad del proceso se pueden ajustar mientras se ejecuta.

Elegir una curva

Todas estas son opciones de tone-mapping de FFmpeg/libplacebo reales y documentadas — nada aquí está inventado.

CurvaMotorCuándo usarla
BT.2390GPUElección por defecto — la EETF de referencia a la que apuntan la mayoría de las conversiones de HDR a SDR
HableCPUCaída fílmica, no necesita GPU
Reinhard / MobiusCPUAlternativas con caída de luces más suave respecto a Hable
BT.2446AGPU · ProAlternativa orientada a broadcast frente a BT.2390
ST2094-10 / ST2094-40GPU · ProTone-mapping dinámico; ST2094-40 usa metadatos HDR10+ cuando están presentes
Linear / Gamma / Clip / NoneCPU · ProPasos de diagnóstico o de corrección manual, no para uso general

Solución de problemas

El panel de Sistema es la primera parada — informa exactamente qué se detectó antes de reportar esto como un error.

  • La opción BT.2390 (GPU) está atenuada — no se detectó ningún dispositivo compatible con Vulkan; usa en su lugar una curva de FFmpeg estándar.
  • Falta el motor HandBrakeCLI — es opcional y solo aparece una vez que HandBrakeCLI se encuentra en tu PATH.
  • La conversión parece acaparar toda la máquina — baja la prioridad del proceso a Eficiencia.