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
FFmpeg (compilación GPL completa, con libx264 + libx265)Los 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

Dependencias y licencias

Esta app no incluye FFmpeg ni HandBrakeCLI — se instalan en tu propio equipo directamente desde los canales oficiales de sus autores, vía winget.

HerramientaFuenteID de paquete wingetLicencia
FFmpeggyan.dev compilación completaGyan.FFmpegGPLv3
HandBrakeCLIHandBrake versión oficialHandBrake.HandBrake.CLIGPLv2

Ambos son proyectos de código abierto independientes — todo el mérito es de sus autores y colaboradores. Esta app es una interfaz gráfica que los ejecuta como procesos separados; no modifica su código, no se enlaza con él ni lo redistribuye, y cada uno conserva su propia licencia independientemente de la licencia MIT de esta app. ¿Prefieres instalarlos tú mismo en lugar de usar el instalador integrado? También funciona — la app simplemente busca ffmpeg, ffprobe y HandBrakeCLI en tu PATH.

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.
  • "Encoder unavailable" para CPU · H.264/H.265 — probablemente tienes una compilación de FFmpeg LGPL/"essentials" sin libx264/libx265. Usa "Instalar lo que falta (winget)" en el panel Sistema, que instala automáticamente la compilación GPL completa.