Логотип HDR to SDR Movie Converter HDR to SDR Movie Converter
FFmpeg · libplacebo/Vulkan · HandBrakeCLI

Превратите любой экран в HDR-экран. Настолько просто, что справится бабушка.

Программа для тон-маппинга с поддержкой FFmpeg и HandBrake, широким выбором кривых и настоящим BT.2390 на GPU. Вывод 10-bit и 12-bit включён бесплатно.

Окно приложения HDR to SDR Movie Converter: файлы, анализ источника, прогресс и управление слева, настройки конвертации справа.
Почему это важно

Один и тот же источник — разный результат

То, как на самом деле выглядит фильм, полностью зависит от способа обработки — без конвертации вообще, через быструю догадку медиаплеера или через настоящий проход BT.2390.

Необработанное HDR-видео, воспроизведённое на экране без поддержки HDR — блёклое, плоское изображение с низким контрастом.
Без конвертации

Исходный HDR без конвертации

Воспроизведение нетронутого HDR-файла на экране или проекторе, который не понимает HDR — кривая PQ/HLG показывается так, будто это SDR, поэтому всё выглядит серым, плоским и блёклым.

То же HDR-видео с автоматическим тон-маппингом медиаплеера вроде VLC — потеря светлых участков, сдвиг цвета.
Авто тон-маппинг

Автоконвертация медиаплеером

Такие плееры, как VLC, применяют собственный быстрый тон-маппинг, чтобы видео было хоть как-то смотрибельно — обычно это грубая фиксированная кривая, которая обрезает светлые участки или искажает цвет, а не осознанный проход BT.2390 с выбранной вами кривой.

То же HDR-видео, корректно конвертированное в SDR с помощью тон-маппинга BT.2390 на GPU этого приложения — сбалансированные светлые участки и точный цвет.
Настоящий BT.2390

Правильный тон-маппинг BT.2390

Настоящая функция ITU-R BT.2390 EETF, выполняемая на GPU через libplacebo — контролируемый спад светлых участков и точный цвет, вывод в виде настоящего SDR-файла, готового для любого стандартного экрана.

Бэкенды

Три способа тон-маппинга. Выберите то, что подходит вашему железу.

Один и тот же исходный файл, три по-настоящему разных конвейера обработки. Ничего не скрыто за кнопкой «авто» — запускается именно тот бэкенд и кривая, которые вы выбрали.

CPU · Стандартный

Стандартный FFmpeg

Классический фильтр tonemap. Быстрый, работает везде, где есть FFmpeg, GPU не требуется.

  • Кривые Hable, Reinhard, Mobius
  • Pro-режим добавляет Linear, Gamma, Clip и прямой проход "None"
GPU · Vulkan

libplacebo / BT.2390

Запускает настоящую функцию ITU-R BT.2390 EETF на GPU через libplacebo — ту же эталонную кривую, вокруг которой строится большинство профессиональных грейдов HDR-в-SDR.

  • BT.2390 по умолчанию
  • Pro-режим открывает BT.2446A, ST2094-10, ST2094-40 (HDR10+) и Auto
Опционально

HandBrakeCLI

Альтернативный путь кодирования через HandBrakeCLI для случаев, когда его собственный конвейер работает лучше на конкретном источнике.

  • Те же настройки разрешения/кодека
  • Свой парсинг прогресса, отображается в реальном времени во вкладке «Активность»
Возможности

Всё необходимое для правильной конвертации.

Построено вокруг тех моментов тон-маппинга, которые реально идут не так на реальном видео: не та кривая, не тот кодек, или процесс, забирающий себе всю машину во время работы.

Пресеты разрешения

Source (без масштабирования), 4K, 1440p, 1080p, 720p или 480p. Масштабирование идёт по высоте, ширина считается автоматически, поэтому пропорции источника никогда не растягиваются.

Анализ выполняется автоматически

Выберите источник — и он сразу считывается: характеристики передачи, глубина цвета, длительность, метаданные HDR10+/Dolby Vision — с предложенной кривой именно для этого файла. Путь для SDR-файла заполняется автоматически, а перетаскивание видеофайла на окно работает так же, как кнопка «Обзор».

Live Preview

Настоящий декодированный и тон-маппированный кадр из вашего источника, обновляющийся при изменении настроек, с проверкой обрезки теней/светов — чтобы заметить потерю деталей ещё до полной кодировки. Можно посмотреть в полный размер или сохранить кадр на диск.

Оценка битрейта в реальном времени

Обновляется автоматически при изменении качества, разрешения или кодека, так что неожиданная комбинация CRF/разрешения видна ещё до нажатия «Старт».

Подсказки по кривым

Наведите курсор на любую кривую тон-маппинга, чтобы увидеть простое объяснение реальных компромиссов — без маркетинговых формулировок.

Выбор кодека

x264/x265 на CPU или аппаратное кодирование через NVIDIA NVENC, AMD AMF или Apple VideoToolbox, в форматах H.264 или H.265.

Вывод 10-bit и 12-bit

Бесплатно, без лицензии, без отдельной сборки. 10-bit работает с любым кодеком H.265 (CPU или аппаратным); 12-bit доступен через libx265 на CPU — приложение показывает только те кодеки, которые реально поддерживают выбранную глубину цвета.

Pro-режим

Открывает полный диапазон CRF/CQ (0–51), регулировку смещения яркости и дополнительные кривые тон-маппинга — всё это скрыто, пока не понадобится.

Аппаратно ускоренное декодирование

Декодирование через CUDA / DXVA2 / VideoToolbox для бэкенда FFmpeg, так что GPU занимается и чтением, и тон-маппингом.

Приоритет процесса и ядра CPU

Efficiency, Balanced или Performance, плюс лимит ядер CPU в реальном времени — применяется при старте и регулируется прямо во время конвертации, поэтому долгая обработка не блокирует остальную работу компьютера.

Активность и система

Сворачиваемый лог в реальном времени показывает настоящий вывод FFmpeg/HandBrake и прогресс; панель «Система» сообщает, что обнаружено на вашем компьютере — FFmpeg, Vulkan, HandBrakeCLI — ещё до начала конвертации.

Установка в один клик на Windows

Отсутствующий FFmpeg или HandBrakeCLI устанавливается через winget прямо из приложения — из панели «Система» или через ярлык «Быстрая установка» рядом с ней, с выводом установки прямо во вкладке «Активность».

Иконка HDR to SDR Movie Converter
Скачать

Получить приложение

Сборка для Windows, если вы просто хотите запустить программу, или исходный код, если вы на macOS/Linux или хотите сначала посмотреть код.

Windows

Windows (.exe)

Сборка в один файл, Python не требуется. FFmpeg по-прежнему нужен отдельно — либо установите его прямо в приложении через winget.

Всегда самый свежий релиз · Windows 10/11

Исходный код

Исходный код

Требуется Python 3.10+ и pip install -r requirements.txt. Работает на Windows, macOS и Linux.

Лицензия MIT · ветка main

Документация

Руководство по установке и использованию

Приложение — это один скрипт на PySide6. Нет установщика, нет фоновой службы — вы запускаете его, а оно напрямую вызывает FFmpeg (и опционально HandBrakeCLI).

Требования

Что должно быть установлено на компьютере перед запуском.

КомпонентНужен для
Python 3.10+Запуска самого приложения
PySide6Интерфейса на базе Qt
FFmpegСтандартного и GPU-бэкенда тон-маппинга
GPU с поддержкой Vulkan + драйверыИменно бэкенда libplacebo/BT.2390
HandBrakeCLI (опционально)Бэкенда HandBrake
psutil (опционально)Пауза/возобновление в реальном времени, управление ядрами CPU и статистика ресурсов CPU/GPU

Установка и запуск

Три команды — и вы уже смотрите на окно приложения.

# 1. Получите скрипт и его Python-зависимости
pip install PySide6 psutil

# 2. Убедитесь, что FFmpeg есть в PATH
ffmpeg -version

# 3. Запуск
python hdr_to_sdr_gui_qt.py
Windows: если FFmpeg или HandBrakeCLI не найдены, откройте панель «Система» и используйте «Установить недостающее (winget)» вместо ручной установки.

Базовый workflow

От исходного HDR-файла до вывода в SDR.

  1. Выберите исходный файл. Любой HDR-контейнер, который может прочитать FFmpeg — анализ запускается автоматически (функция передачи, глубина цвета, метаданные HDR10+/Dolby Vision и предложенная кривая), а путь для SDR-файла заполняется автоматически. Перетаскивание файла на окно работает так же, как кнопка «Обзор».
  2. Выберите бэкенд и кривую. BT.2390 на GPU — разумный выбор по умолчанию; переключитесь на стандартный FFmpeg, если у вас нет GPU с поддержкой Vulkan. Наведите курсор на любую кривую, чтобы увидеть её реальные компромиссы.
  3. Задайте разрешение, кодек и глубину цвета. Оставьте разрешение на «Source», чтобы сохранить исходный размер кадра и пропорции, либо выберите пресет для уменьшения разрешения в том же проходе.
  4. Настройте качество или включите Pro-режим для полного диапазона CRF/CQ и регулировки яркости. Проверьте Live Preview — там показан реальный тон-маппированный кадр и отмечена обрезка теней/светов — а также оценку битрейта в реальном времени перед запуском.
  5. Конвертируйте и следите за прогрессом и живым выводом FFmpeg/HandBrake во вкладке «Активность». Паузу/возобновление, лимиты ядер CPU и приоритет процесса можно менять прямо во время работы.

Выбор кривой

Все эти варианты — реальные, документированные опции тон-маппинга FFmpeg/libplacebo, ничего здесь не придумано.

КриваяБэкендКогда использовать
BT.2390GPUВыбор по умолчанию — эталонная EETF, на которую ориентируется большинство грейдов HDR-в-SDR
HableCPUПлёночный спад, GPU не нужен
Reinhard / MobiusCPUБолее мягкий спад светлых участков — альтернатива Hable
BT.2446AGPU · ProВещательная альтернатива BT.2390
ST2094-10 / ST2094-40GPU · ProДинамический тон-маппинг; ST2094-40 использует метаданные HDR10+, если они есть
Linear / Gamma / Clip / NoneCPU · ProДиагностические или ручные проходы для грейдинга, не для повседневного использования

Решение проблем

Панель «Система» — первое, куда стоит заглянуть: она точно показывает, что было обнаружено, прежде чем сообщать об этом как о баге.

  • Опция BT.2390 (GPU) неактивна — не обнаружено устройство с поддержкой Vulkan; используйте вместо этого кривую стандартного FFmpeg.
  • Бэкенд HandBrakeCLI отсутствует — он опционален и появляется только после того, как HandBrakeCLI найден в вашем PATH.
  • Кажется, что конвертация забирает себе весь компьютер — снизьте приоритет процесса до Efficiency.