Logo HDR to SDR Movie Converter HDR to SDR Movie Converter
FFmpeg · libplacebo/Vulkan · HandBrakeCLI

Biến bất kỳ màn hình nào thành màn hình HDR. Đơn giản đến mức bà bạn cũng dùng được.

Một công cụ tone-mapping trên desktop hỗ trợ FFmpeg và HandBrake, nhiều loại curve, và BT.2390 thực sự trên GPU. Đầu ra 10-bit và 12-bit đi kèm miễn phí.

Cửa sổ ứng dụng HDR to SDR Movie Converter: Files, phân tích nguồn, tiến trình và điều khiển bên trái, cài đặt chuyển đổi bên phải.
Vì sao điều này quan trọng

Cùng một nguồn — kết quả khác nhau

Bộ phim thực sự trông như thế nào hoàn toàn phụ thuộc vào cách xử lý — không chuyển đổi gì cả, ước lượng nhanh của riêng trình phát media, hay một quá trình BT.2390 thực thụ.

Video HDR gốc phát trên màn hình không hỗ trợ HDR — hình ảnh nhạt, phẳng, tương phản thấp.
Không chuyển đổi

HDR gốc, không chuyển đổi

Phát một tệp HDR chưa qua xử lý trên màn hình hoặc máy chiếu không hiểu HDR — đường cong PQ/HLG được hiển thị như thể đó là SDR, khiến mọi thứ trông xám xịt, phẳng và nhạt màu.

Cùng video HDR đó được trình phát media như VLC tự động tone-map — vùng sáng bị mất chi tiết, màu sắc lệch.
Tone-map tự động

Tự động chuyển đổi bởi trình phát media

Các trình phát như VLC áp dụng tone-mapping nhanh của riêng chúng để việc phát lại ít nhất có thể xem được — thường là một đường cong cố định, thô, làm mất chi tiết vùng sáng hoặc lệch màu, chứ không phải một quá trình BT.2390 có chủ đích với đường cong do bạn chọn.

Cùng video HDR đó được chuyển đổi đúng cách sang SDR bằng tone-mapping BT.2390 trên GPU của ứng dụng này — vùng sáng cân bằng và màu sắc chính xác.
BT.2390 thực thụ

Tone-mapping BT.2390 đúng chuẩn

EETF ITU-R BT.2390 thực thụ, chạy trên GPU qua libplacebo — kiểm soát độ giảm dần vùng sáng và màu sắc chính xác, xuất ra dưới dạng tệp SDR thực sự sẵn sàng cho bất kỳ màn hình tiêu chuẩn nào.

Backend

Ba cách tone-mapping. Chọn cách phù hợp với phần cứng của bạn.

Cùng một video nguồn, ba pipeline thực sự khác nhau. Không có gì bị ẩn sau nút "auto" — backend và đường cong bạn chọn chính xác là những gì được chạy.

CPU · Tiêu chuẩn

FFmpeg tiêu chuẩn

Bộ lọc tonemap kinh điển. Nhanh, hoạt động ở mọi nơi FFmpeg chạy được, không cần GPU.

  • Các đường cong Hable, Reinhard, Mobius
  • Chế độ Pro thêm Linear, Gamma, Clip, và một chế độ "None" trực tiếp
GPU · Vulkan

libplacebo / BT.2390

Chạy EETF ITU-R BT.2390 thực thụ trên GPU qua libplacebo — cùng đường cong tham chiếu mà hầu hết các bản grading HDR sang SDR chuyên nghiệp dựa vào.

  • Mặc định là BT.2390
  • Chế độ Pro mở khóa BT.2446A, ST2094-10, ST2094-40 (HDR10+), và Auto
Tùy chọn

HandBrakeCLI

Một đường mã hóa thay thế qua HandBrakeCLI cho các trường hợp mà pipeline riêng của nó hoạt động tốt hơn trên một nguồn cụ thể.

  • Cùng các điều khiển độ phân giải/bộ mã hóa
  • Phân tích tiến trình riêng, hiển thị trực tiếp trong Activity
Tính năng

Mọi thứ một lần chuyển đổi thực sự cần — được thực hiện đúng cách.

Được xây dựng xoay quanh những phần thực sự dễ sai trong công việc tone-mapping trên footage thực tế: sai đường cong, sai bộ mã hóa, hoặc một tiến trình chiếm dụng toàn bộ máy trong khi chạy.

Các cài đặt sẵn về độ phân giải

Source (không co giãn), 4K, 1440p, 1080p, 720p, hoặc 480p. Việc co giãn dựa theo chiều cao, chiều rộng được tự động tính toán để tỷ lệ khung hình của nguồn không bao giờ bị kéo giãn.

Tự động phân tích

Chọn một nguồn và nó được đọc ngay lập tức — đặc tính truyền tải, độ sâu bit, thời lượng, metadata HDR10+/Dolby Vision — cùng với một đường cong được đề xuất riêng cho tệp đó. Đường dẫn xuất SDR được điền sẵn cho bạn, và việc kéo thả tệp video vào bất kỳ đâu trên cửa sổ hoạt động giống như nút Browse.

Xem trước trực tiếp

Một khung hình thực sự đã giải mã và tone-map từ nguồn của bạn, cập nhật khi bạn thay đổi cài đặt, cùng với kiểm tra clipping vùng tối/sáng để một đường cong làm mất chi tiết được phát hiện trước khi mã hóa toàn bộ. Xem ở kích thước đầy đủ hoặc lưu khung hình trực tiếp xuống ổ đĩa.

Ước tính bitrate trực tiếp

Tự động cập nhật khi chất lượng, độ phân giải, hoặc bộ mã hóa thay đổi, để một tổ hợp CRF/độ phân giải bất ngờ được nhìn thấy trước khi bạn nhấn Start.

Chú thích đường cong

Di chuột qua bất kỳ đường cong tone-mapping nào để xem giải thích dễ hiểu về sự đánh đổi thực sự của nó — không phải câu chữ tiếp thị.

Lựa chọn bộ mã hóa

x264/x265 trên CPU, hoặc mã hóa phần cứng qua NVIDIA NVENC, AMD AMF, hoặc Apple VideoToolbox, ở định dạng H.264 hoặc H.265.

Đầu ra 10-bit và 12-bit

Miễn phí, không cần bản quyền, không cần bản build riêng. 10-bit hoạt động với bất kỳ bộ mã hóa H.265 nào (CPU hoặc phần cứng); 12-bit khả dụng qua libx265 trên CPU — ứng dụng chỉ hiển thị các bộ mã hóa thực sự hỗ trợ độ sâu bit bạn chọn.

Chế độ Pro

Mở toàn bộ dải CRF/CQ (0–51), một điều khiển bù độ sáng, và các đường cong tone-map bổ sung — ẩn đi cho đến khi bạn cần đến chúng.

Giải mã tăng tốc bằng phần cứng

Giải mã CUDA / DXVA2 / VideoToolbox cho backend FFmpeg, để GPU đảm nhận cả việc đọc lẫn tone-mapping.

Mức ưu tiên tiến trình & lõi CPU

Efficiency, Balanced, hoặc Performance, cùng với giới hạn lõi CPU trực tiếp — cả hai đều được áp dụng khi Start và có thể điều chỉnh trong khi quá trình chuyển đổi đang chạy, để một batch dài không khóa phần còn lại của máy bạn.

Activity & System

Một nhật ký trực tiếp có thể thu gọn hiển thị đầu ra thực tế của FFmpeg/HandBrake và tiến trình; bảng System báo cáo những gì được phát hiện trên máy của bạn — FFmpeg, Vulkan, HandBrakeCLI — trước khi bạn bắt đầu chuyển đổi.

Thiết lập một cú nhấp trên Windows

FFmpeg hoặc HandBrakeCLI còn thiếu được cài đặt qua winget ngay từ trong ứng dụng — từ bảng System, hoặc lối tắt "Quick install" ngay bên cạnh — với đầu ra cài đặt được truyền trực tiếp vào Activity.

Biểu tượng HDR to SDR Movie Converter
Tải xuống

Nhận ứng dụng

Bản build Windows nếu bạn chỉ muốn chạy nó, hoặc mã nguồn nếu bạn dùng macOS/Linux hoặc muốn đọc code trước.

Windows

Windows (.exe)

Bản build một tệp duy nhất, không cần Python. FFmpeg vẫn cần được cài riêng — hoặc cài ngay trong ứng dụng qua winget.

Luôn là phiên bản mới nhất · Windows 10/11

Mã nguồn

Mã nguồn

Yêu cầu Python 3.10+ và pip install -r requirements.txt. Chạy trên Windows, macOS, và Linux.

Cấp phép MIT · nhánh main

Tài liệu

Hướng dẫn cài đặt & sử dụng

Ứng dụng chỉ là một script PySide6 duy nhất. Không cần trình cài đặt, không có dịch vụ chạy nền — bạn chạy nó, và nó gọi trực tiếp FFmpeg (và tùy chọn HandBrakeCLI).

Yêu cầu

Những gì cần có trên máy trước khi bạn khởi chạy.

Thành phầnCần thiết cho
Python 3.10+Chạy chính ứng dụng
PySide6Giao diện dựa trên Qt
FFmpegCác backend tone-mapping tiêu chuẩn và GPU
GPU hỗ trợ Vulkan + driverCụ thể là backend libplacebo/BT.2390
HandBrakeCLI (tùy chọn)Backend HandBrake
psutil (tùy chọn)Tạm dừng/tiếp tục trực tiếp, kiểm soát lõi CPU, và thống kê tài nguyên CPU/GPU

Cài đặt & chạy

Ba câu lệnh, sau đó bạn sẽ thấy cửa sổ ứng dụng.

# 1. Lấy script và các phụ thuộc Python của nó
pip install PySide6 psutil

# 2. Đảm bảo FFmpeg có trong PATH của bạn
ffmpeg -version

# 3. Khởi chạy
python hdr_to_sdr_gui_qt.py
Windows: nếu không tìm thấy FFmpeg hoặc HandBrakeCLI, hãy mở bảng System và dùng "Install missing (winget)" thay vì tự cài đặt thủ công.

Quy trình cơ bản

Từ tệp nguồn HDR đến đầu ra SDR.

  1. Chọn tệp nguồn. Bất kỳ container HDR nào FFmpeg có thể đọc được — quá trình phân tích chạy tự động (hàm truyền, độ sâu bit, metadata HDR10+/Dolby Vision, và một đường cong được đề xuất), và đường dẫn xuất SDR được điền sẵn cho bạn. Kéo tệp vào cửa sổ hoạt động giống như nút Browse.
  2. Chọn một backend và đường cong. BT.2390 trên GPU là lựa chọn mặc định hợp lý; chuyển sang FFmpeg tiêu chuẩn nếu bạn không có GPU hỗ trợ Vulkan. Di chuột qua bất kỳ đường cong nào để xem sự đánh đổi thực sự của nó.
  3. Thiết lập độ phân giải, bộ mã hóa, và độ sâu bit. Để độ phân giải ở "Source" để giữ nguyên kích thước khung hình và tỷ lệ khung hình gốc, hoặc chọn một cài đặt sẵn để giảm độ phân giải trong cùng một lượt xử lý.
  4. Điều chỉnh chất lượng, hoặc bật chế độ Pro để có toàn bộ dải CRF/CQ và bù độ sáng. Kiểm tra Xem trước trực tiếp — nó hiển thị một khung hình đã tone-map thực sự và đánh dấu clipping vùng tối/sáng — cùng với ước tính bitrate trực tiếp trước khi xác nhận.
  5. Chuyển đổi, và theo dõi tiến trình cùng đầu ra FFmpeg/HandBrake trực tiếp trong Activity. Tạm dừng/tiếp tục, giới hạn lõi CPU, và mức ưu tiên tiến trình đều có thể điều chỉnh trong khi chạy.

Chọn đường cong

Tất cả những lựa chọn này đều là các tùy chọn tone-mapping FFmpeg/libplacebo có thật và đã được ghi chép — không có gì ở đây là bịa đặt.

Đường congBackendKhi nào nên dùng
BT.2390GPULựa chọn mặc định — EETF tham chiếu mà hầu hết các bản grading HDR sang SDR hướng tới
HableCPUĐộ giảm dần kiểu điện ảnh, không cần GPU
Reinhard / MobiusCPUCác lựa chọn thay thế với độ giảm dần vùng sáng mềm hơn so với Hable
BT.2446AGPU · ProLựa chọn thay thế hướng đến phát sóng cho BT.2390
ST2094-10 / ST2094-40GPU · ProTone-mapping động; ST2094-40 sử dụng metadata HDR10+ khi có sẵn
Linear / Gamma / Clip / NoneCPU · ProCác lượt chẩn đoán hoặc grading thủ công, không dành cho sử dụng thông thường

Xử lý sự cố

Bảng System là điểm dừng đầu tiên — nó báo cáo chính xác những gì đã được phát hiện trước khi bạn báo cáo đây là một lỗi.

  • Tùy chọn BT.2390 (GPU) bị xám — không phát hiện được thiết bị hỗ trợ Vulkan nào; hãy dùng một đường cong FFmpeg tiêu chuẩn thay thế.
  • Thiếu backend HandBrakeCLI — đây là tùy chọn và chỉ xuất hiện khi HandBrakeCLI được tìm thấy trong PATH của bạn.
  • Quá trình chuyển đổi có vẻ chiếm dụng toàn bộ máy — hạ mức ưu tiên tiến trình xuống Efficiency.