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-এর মাধ্যমে একটি বিকল্প এনকোড পথ, এমন ক্ষেত্রে যেখানে এর নিজস্ব পাইপলাইন একটি নির্দিষ্ট সোর্সে ভালো কাজ করে।
প্রকৃত ফুটেজে টোন-ম্যাপিং কাজে সত্যিই যা ভুল হতে পারে তার চারপাশে তৈরি: ভুল কার্ভ, ভুল এনকোডার, বা এমন একটি প্রক্রিয়া যা চলার সময় পুরো মেশিন দখল করে নেয়।
Source (স্কেলিং ছাড়া), 4K, 1440p, 1080p, 720p, বা 480p। স্কেলিং উচ্চতা-চালিত, প্রস্থ স্বয়ংক্রিয়ভাবে গণনা করা হয় যাতে সোর্সের অ্যাসপেক্ট রেশিও কখনো প্রসারিত না হয়।
একটি সোর্স বেছে নিন এবং এটি সাথে সাথে পড়া হয় — ট্রান্সফার বৈশিষ্ট্য, বিট গভীরতা, সময়কাল, HDR10+/Dolby Vision মেটাডেটা — সেই নির্দিষ্ট ফাইলের জন্য প্রস্তাবিত কার্ভ সহ। SDR আউটপুট পাথ আপনার জন্য পূরণ করা হয়, এবং উইন্ডোর যেকোনো জায়গায় একটি ভিডিও ফাইল টেনে আনা Browse বাটনের মতোই কাজ করে।
আপনার সোর্স থেকে একটি প্রকৃত ডিকোড ও টোন-ম্যাপ করা ফ্রেম, যা সেটিংস পরিবর্তনের সাথে সাথে আপডেট হয়, শ্যাডো/হাইলাইট ক্লিপিং চেক সহ যাতে ডিটেইল নষ্টকারী একটি কার্ভ পূর্ণ এনকোডের আগেই ধরা পড়ে। এটি পূর্ণ আকারে দেখুন বা ফ্রেমটি সরাসরি ডিস্কে সংরক্ষণ করুন।
কোয়ালিটি, রেজোলিউশন, বা এনকোডার পরিবর্তনের সাথে স্বয়ংক্রিয়ভাবে আপডেট হয়, যাতে একটি অপ্রত্যাশিত CRF/রেজোলিউশন সংমিশ্রণ Start চাপার আগেই দেখা যায়।
যেকোনো টোন-ম্যাপিং কার্ভের উপর হোভার করুন এর প্রকৃত ট্রেড-অফের সহজ ভাষায় ব্যাখ্যা দেখতে — মার্কেটিং টেক্সট নয়।
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 পড়া ও টোন-ম্যাপিং দুটোই সামলায়।
Efficiency, Balanced, বা Performance, সাথে একটি লাইভ CPU-কোর সীমা — দুটোই Start-এ প্রয়োগ হয় এবং একটি রূপান্তর চলাকালীন সামঞ্জস্য করা যায়, যাতে একটি দীর্ঘ ব্যাচ আপনার মেশিনের বাকি অংশ আটকে না দেয়।
একটি ভাঁজযোগ্য লাইভ লগ প্রকৃত FFmpeg/HandBrake আউটপুট ও অগ্রগতি দেখায়; একটি System প্যানেল রূপান্তর শুরুর আগে আপনার সিস্টেমে যা শনাক্ত হয়েছে তা রিপোর্ট করে — FFmpeg, Vulkan, HandBrakeCLI।
অনুপস্থিত FFmpeg বা HandBrakeCLI অ্যাপের ভেতর থেকেই winget-এর মাধ্যমে ইনস্টল হয় — System প্যানেল থেকে, বা এর পাশের "Quick install" শর্টকাট থেকে — ইনস্টল আউটপুট সরাসরি Activity-তে দেখানো হয়।
শুধু চালাতে চাইলে একটি 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-ভিত্তিক UI |
| FFmpeg | স্ট্যান্ডার্ড ও GPU টোন-ম্যাপিং ব্যাকএন্ড |
| Vulkan-সক্ষম GPU + ড্রাইভার | বিশেষভাবে libplacebo/BT.2390 ব্যাকএন্ড |
| HandBrakeCLI (ঐচ্ছিক) | HandBrake ব্যাকএন্ড |
| psutil (ঐচ্ছিক) | লাইভ পজ/রিজিউম, CPU-কোর নিয়ন্ত্রণ, এবং CPU/GPU রিসোর্স পরিসংখ্যান |
তিনটি কমান্ড, তারপর আপনি উইন্ডোটি দেখছেন।
# ১. স্ক্রিপ্ট ও এর Python নির্ভরতা নিন pip install PySide6 psutil # ২. নিশ্চিত করুন FFmpeg আপনার PATH-এ আছে ffmpeg -version # ৩. চালু করুন 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 | ডায়াগনস্টিক বা ম্যানুয়াল-গ্রেডিং পাস, সাধারণ ব্যবহারের জন্য নয় |
System প্যানেল প্রথম গন্তব্য — এটি ঠিক কী শনাক্ত হয়েছে তা রিপোর্ট করে, এটিকে বাগ হিসেবে রিপোর্ট করার আগে।