支援 FFmpeg 與 HandBrake 的桌面色調對應工具,提供多種曲線選擇,並在 GPU 上執行真正的 BT.2390。免費內建 10-bit 與 12-bit 輸出。
電影實際看起來如何,完全取決於處理方式——完全不轉換、媒體播放器自己的快速猜測,或是真正的 BT.2390 處理。
在不支援 HDR 的螢幕或投影機上播放未經處理的 HDR 檔案——PQ/HLG 曲線被當成 SDR 顯示,導致畫面看起來灰暗、平淡且泛白。
VLC 等播放器會套用自家的快速色調對應,讓畫面至少能看——通常只是粗糙的固定曲線,會裁切高光或造成色偏,並非您選定曲線後刻意執行的 BT.2390 處理。
透過 libplacebo 在 GPU 上執行真正的 ITU-R BT.2390 EETF——高光滾降受控、色彩精準,輸出為適用於任何標準顯示器的真正 SDR 檔案。
相同的來源影片,三種截然不同的處理流程。沒有任何東西被隱藏在「自動」按鈕之後——您選擇的後端與曲線就是實際執行的那一組。
經典的 tonemap 濾鏡。速度快,只要能執行 FFmpeg 的地方就能用,不需要 GPU。
透過 libplacebo 在 GPU 上執行真正的 ITU-R BT.2390 EETF,也就是大多數 HDR 轉 SDR 調色所依據的參考曲線。
透過 HandBrakeCLI 提供替代編碼路徑,適用於其處理流程對特定來源表現更好的情況。
圍繞著色調對應工作在實際素材上真正容易出錯的環節打造:錯誤的曲線、錯誤的編碼器,或是執行時霸佔整台機器的處理程序。
來源(不縮放)、4K、1440p、1080p、720p 或 480p。縮放以高度為準,寬度會自動計算,因此來源的長寬比絕不會被拉伸變形。
選擇來源後會立即讀取——傳輸特性、位元深度、時長、HDR10+/Dolby Vision 中繼資料——並針對該檔案建議合適的曲線。SDR 輸出路徑會自動填入,將影片檔拖曳到視窗任何位置的效果與按下「瀏覽」相同。
來源真實解碼、經色調對應處理的畫面,會隨設定變更即時更新,並附有陰影/高光裁切檢查,讓破壞細節的曲線在完整編碼前就能被發現。可全尺寸檢視,或直接將該畫面存成檔案。
會隨畫質、解析度或編碼器變更自動更新,讓意外的 CRF/解析度組合在按下「開始」前就能被察覺。
將滑鼠移到任一色調對應曲線上,即可看到它實際犧牲了什麼的白話說明——不是行銷文案。
可選擇在 CPU 上使用 x264/x265,或透過 NVIDIA NVENC、AMD AMF、Apple VideoToolbox 進行硬體編碼,格式為 H.264 或 H.265。
免費、無需授權、無需額外版本。10-bit 可搭配任何 H.265 編碼器(CPU 或硬體);12-bit 則透過 CPU 上的 libx265 提供——應用程式只會顯示真正支援您所選位元深度的編碼器。
開啟完整的 CRF/CQ 範圍(0–51)、亮度偏移控制,以及額外的色調對應曲線——在您主動開啟前不會出現,不打擾介面。
FFmpeg 後端支援 CUDA/DXVA2/VideoToolbox 解碼,讓 GPU 同時負責讀取與色調對應。
效率、平衡或效能三種模式,加上即時 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 (完整版/GPL 版本,含 libx264 + libx265) | 標準與 GPU 色調對應後端 |
| 支援 Vulkan 的 GPU 及驅動程式 | 專用於 libplacebo/BT.2390 後端 |
| HandBrakeCLI (選用) | HandBrake 後端 |
| psutil (選用) | 即時暫停/繼續、CPU 核心控制,以及 CPU/GPU 資源統計 |
本應用程式不隨附 FFmpeg 或 HandBrakeCLI——它們會透過 winget,直接從其作者的官方管道安裝在您自己的電腦上。
| 工具 | 來源 | winget 套件 ID | 授權 |
|---|---|---|---|
| FFmpeg | gyan.dev 完整版 | Gyan.FFmpeg | GPLv3 |
| HandBrakeCLI | HandBrake 官方版本 | HandBrake.HandBrake.CLI | GPLv2 |
兩者皆為獨立的開源專案——功勞完全歸於其作者與貢獻者。本應用程式只是以獨立處理程序方式呼叫它們的圖形介面;不會修改、連結或重新散布它們的程式碼,且不論本應用程式採用 MIT 授權,兩者都各自維持自己的授權條款。想自行安裝而不使用內建安裝程式?也完全可行——應用程式只會在您的 PATH 中尋找 ffmpeg、ffprobe 與 HandBrakeCLI。
三個指令,馬上就能看到視窗畫面。
# 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 | 預設選項——大多數 HDR 轉 SDR 調色所依循的參考 EETF |
| Hable | CPU | 電影風格的滾降效果,不需要 GPU |
| Reinhard / Mobius | CPU | 比 Hable 更柔和的高光滾降替代選項 |
| BT.2446A | GPU · 專業 | 面向廣播用途的 BT.2390 替代方案 |
| ST2094-10 / ST2094-40 | GPU · 專業 | 動態色調對應;ST2094-40 會在存在 HDR10+ 中繼資料時加以利用 |
| Linear / Gamma / Clip / None | CPU · 專業 | 用於診斷或手動調色,非一般用途 |
「系統」面板是第一個該查看的地方——在您回報成錯誤之前,它會準確顯示偵測到的內容。
libx264/libx265 的 LGPL/「essentials」版 FFmpeg。請在「系統」面板使用「安裝缺少項目(winget)」,會自動安裝完整的 GPL 版本。