Програма для тон-мапінгу з підтримкою FFmpeg та HandBrake, широким вибором кривих і справжнім BT.2390 на GPU. Вивід 10-bit і 12-bit включено безкоштовно.
Те, як фільм насправді виглядає, повністю залежить від способу обробки — без жодної конвертації, через швидку здогадку медіаплеєра або через справжній прохід BT.2390.
Відтворення неторканого HDR-файлу на екрані чи проєкторі, який не розуміє HDR — крива PQ/HLG показується так, ніби це SDR, тому все виглядає сірим, пласким і блідим.
Такі плеєри, як VLC, застосовують власний швидкий тон-мапінг, щоб відео було хоч якось придатне для перегляду — зазвичай це груба фіксована крива, яка обрізає світлі ділянки або спотворює колір, а не свідомий прохід BT.2390 з обраною вами кривою.
Справжня функція ITU-R BT.2390 EETF, яка виконується на GPU через libplacebo — контрольований спад світлих ділянок і точний колір, вивід у вигляді справжнього SDR-файлу, готового для будь-якого стандартного екрана.
Те саме вихідне відео, три по-справжньому різні конвеєри обробки. Нічого не приховано за кнопкою «авто» — запускається саме той бекенд і крива, які ви обрали.
Класичний фільтр tonemap. Швидкий, працює всюди, де є FFmpeg, GPU не потрібен.
Запускає справжню функцію ITU-R BT.2390 EETF на GPU через libplacebo — ту саму еталонну криву, навколо якої побудована більшість професійних градацій HDR-у-SDR.
Альтернативний шлях кодування через HandBrakeCLI для випадків, коли його власний конвеєр працює краще на конкретному джерелі.
Побудовано навколо тих моментів тон-мапінгу, які насправді йдуть не так на реальному відео: не та крива, не той кодек, або процес, що забирає собі всю машину під час роботи.
Source (без масштабування), 4K, 1440p, 1080p, 720p або 480p. Масштабування йде за висотою, ширина обчислюється автоматично, тому пропорції джерела ніколи не розтягуються.
Оберіть джерело — і воно одразу зчитується: характеристики передавання, глибина кольору, тривалість, метадані HDR10+/Dolby Vision — із запропонованою кривою саме для цього файлу. Шлях для SDR-файлу заповнюється автоматично, а перетягування відеофайлу на вікно працює так само, як кнопка «Огляд».
Справжній декодований і тон-мапований кадр із вашого джерела, що оновлюється при зміні налаштувань, із перевіркою обрізання тіней/світлих ділянок — щоб помітити втрату деталей ще до повного кодування. Можна переглянути в повному розмірі або зберегти кадр на диск.
Оновлюється автоматично при зміні якості, роздільної здатності чи кодека, тож несподівана комбінація CRF/роздільної здатності видно ще до натискання «Старт».
Наведіть курсор на будь-яку криву тон-мапінгу, щоб побачити просте пояснення реальних компромісів — без маркетингових формулювань.
x264/x265 на CPU або апаратне кодування через NVIDIA NVENC, AMD AMF чи Apple VideoToolbox, у форматах H.264 або H.265.
Безкоштовно, без ліцензії, без окремої збірки. 10-bit працює з будь-яким кодеком H.265 (CPU чи апаратним); 12-bit доступний через libx265 на CPU — застосунок показує лише ті кодеки, які реально підтримують обрану глибину кольору.
Відкриває повний діапазон CRF/CQ (0–51), регулювання зміщення яскравості та додаткові криві тон-мапінгу — все це приховано, поки не знадобиться.
Декодування через CUDA / DXVA2 / VideoToolbox для бекенду FFmpeg, тож GPU займається і читанням, і тон-мапінгом.
Efficiency, Balanced або Performance, плюс ліміт ядер CPU в реальному часі — застосовується при старті й регулюється прямо під час конвертації, тож довга обробка не блокує решту роботи комп'ютера.
Згортаний лог у реальному часі показує справжній вивід FFmpeg/HandBrake та прогрес; панель «Система» повідомляє, що виявлено на вашому комп'ютері — FFmpeg, Vulkan, HandBrakeCLI — ще до початку конвертації.
Відсутній FFmpeg чи HandBrakeCLI встановлюється через winget прямо з застосунку — з панелі «Система» або через ярлик «Швидке встановлення» поруч із нею, з виводом встановлення прямо у вкладці «Активність».
Збірка для Windows, якщо ви просто хочете запустити програму, або початковий код, якщо ви на macOS/Linux чи хочете спершу переглянути код.
Збірка в один файл, 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
Від вихідного HDR-файлу до виводу в SDR.
Усі ці варіанти — реальні, задокументовані опції тон-мапінгу FFmpeg/libplacebo, нічого тут не вигадано.
| Крива | Бекенд | Коли використовувати |
|---|---|---|
| BT.2390 | GPU | Вибір за замовчуванням — еталонна EETF, на яку орієнтується більшість градацій HDR-у-SDR |
| Hable | CPU | Кіношний спад, GPU не потрібен |
| Reinhard / Mobius | CPU | М'якший спад світлих ділянок — альтернатива Hable |
| BT.2446A | GPU · Pro | Мовна альтернатива BT.2390 |
| ST2094-10 / ST2094-40 | GPU · Pro | Динамічний тон-мапінг; ST2094-40 використовує метадані HDR10+, якщо вони є |
| Linear / Gamma / Clip / None | CPU · Pro | Діагностичні або ручні проходи для градації, не для повсякденного використання |
Панель «Система» — перше, куди варто зазирнути: вона точно показує, що було виявлено, перш ніж повідомляти про це як про баг.