কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে Camera2 API ইনএবল করে RAW ফটো তোলার পদ্ধতি

Camera2 API ২০১৫ সালে অ্যান্ড্রয়েড ললিপপে পরিচয় করানো হলেও, ২০১৭ সালে ফোন ম্যানুফ্যাকচারারদের অধিকাংশ তাদের সেলফোনে Camera2 API ইমপ্লিমেন্ট করেননি। শুধু কিছু প্রিমিয়াম ডিভাইসের ফুল Camera2 API সাপোর্ট আছে, সত্ত্বেও গুগল লিগ্যাসি Camera API ডিপ্রিকেট করে এবং ডেভেলপারদের Camera2 ইমপ্লিমেন্ট করার জন্য আগ্রহ করা শুরু করলেন তার রিলিজ থেকে। মনে হয় ম্যানুফ্যাকচারাররা Camera2 API-এর ফিচারগুলো, যেমন RAW ফরম্যাট ক্যাপচার, তাদের প্রিমিয়াম ডিভাইসের সেলিং-পয়েন্ট হিসেবে ব্যবহার করছেন, বরং গুগল যেভাবে আপনাকে একটি યূনিভার্সাল আপগ্রেড হিসেবে ইচ্ছা করলেন।

খারাপ খবর হচ্ছে আপনার স্টক ROM কে Camera2 API-র সাথে ফ্ল্যাশ করা সম্ভব নয় - আপনাকে ROM রিবিল্ড করতে হবে এবং নিজে Camera2 API সাপোর্ট যোগ করতে হবে, অথবা API বিল্ট-ইন একটি কাস্টম ROM ফ্ল্যাশ করতে হবে। ভালো খবর হচ্ছে Camera2 API ইনএবল করার কিছু ট্রিক আছে যদি এটি আপনার ROM-এ ছাড়া থাকেও ম্যানুফ্যাকচারার দ্বারা ডিজেবল করা থাকে। এছাড়া মিডিয়াটেক ডিভাইসের সাথে RAW ফরম্যাট ফটো তোলার একটি নেটিভ উপায়ও আছে। আমি নিচে এই ট্রিকগুলো দেখাব।

RAW ফরম্যাট কী এবং কেন আমি Camera2 API চাই?

আপনি যদি এই গাইডে আড়ায়ে পড়েন এবং RAW ফরম্যাট কী সেটি সম্পর্কে কোনো ধারণা নেই, তবে এটি মূলত একটি লসলেস ইমেজ ফরম্যাট - ভিডিও বা মিউজিক বিটরেটের মত ভাবুন। আপনি ১২০kbps, ৩২০kbps, এবং FLAC মিউজিক ফাইলের পার্থক্য জানেন, ঠিক না? অথবা ইউটিউব ভিডিও ৩২০p বনাম ১০৮০p-এ দেখার পার্থক্য? এটি মূলত JPEG বনাম RAW-এর জন্য একই জিনিস, প্রায়।

RAW ফরম্যাট ফটো ক্যাপচার করবে সম্পূর্ণ লসলেস গ্লোরিতে, মানে শূন্য ইমেজ কমপ্রেশন (তবে বড় ফাইল সাইজ)। এই RAW ইমেজগুলো ইমেজ সফটওয়্যারে ম্যানিপুলেট করার জন্য অনেক ভালো - কারণ ফাইল টাইপের নামই ইঙ্গিত দেয়, সেগুলো সম্পূর্ণরূপে RAW ইমেজ ডেটা। আপনি যদি একটি JPEG কে একটি স্ট্রেইট আউট অফ ক্যামেরা RAW ফটোর সাথে সাইড-বাই-সাইড তুলনা করেন, JPEG আরও ব্রাইট কালার বা অন্যান্য ভিজুয়াল এনহ্যান্সমেন্ট দেখাতে পারে - এর কারণ হলো JPEG ক্যামেরা সফটওয়্যার দ্বারা পোস্ট-প্রসেসড হয় এবং ইমেজ ডেটার মধ্যে বিল্ট-ইন থাকে।

অ্যান্ড্রয়েডে Camera2 API ইনএবল করে RAW ফটো তোলার পদ্ধতি

তাই, একটি আন-এডিটেড RAW একটি JPEG-এর চেয়ে বদসরূপ দেখাতে পারে সাইড-বাই-সাইড তুলনায়। কিন্তু ইমেজ ম্যানিপুলেশন এন্থুসিয়াস্টদের জন্য, ক্যামেরা সফটওয়্যারের দ্বারা "পোস্ট-প্রসেসিং" না থাকাই সেটিই যা আপনার দরকার। পোস্ট-প্রসেসিং সম্পূর্ণরূপে আপনার কন্ট্রোলে। এর মানে RAW ফটো JPEG ফাইলের চেয়ে অনেক বেশি ডিগ্রি পর্যন্ত এনহ্যান্স করা যায়, কারণ আপনি ক্যামেরা সফটওয়্যারের পোস্ট-প্রসেসিং "ম্যাজিক"-এর বিপরীতে লড়াই করছেন না যা JPEG ফাইলে অ্যাপ্লাই করা থাকে।

Build.Prop-এ Camera2 API ইনএবল করা

সতর্কতা: যেকোনো কিছু ভুল হলে build.prop-এর একটি ব্যাকআপ সবসময় তৈরি করুন।

এই মেথডটির ৫০/৫০ সাফল্যের সুযোগ আছে, কিন্তু চেষ্টা করার লাইক। লাগছে কিছু ম্যানুফ্যাকচারার তাদের ROM-এ Camera2 API বিল্ট-ইন রেখেছে, কিন্তু কিছু কারণে ডিজেবল করে দিয়েছে - আপনার অ্যান্ড্রয়েড ডিভাইসের /system পার্টিশনে build.prop-এ একটি লাইন যোগ করে, আপনি Camera2 API কার্যকারিতা ইনএবল করতে পারেন।

আরও দেখুন: অ্যান্ড্রয়েড Build.Prop এসেনশিয়াল টুইকস দিয়ে এডিট করার পদ্ধতি

প্রথমে আপনার কাছে একটি রুটেড ফোন থাকতে হবে, এবং আপনার build.prop ফাইল এডিট করার একটি মেথড। আপনি হয় একটি রুট ফাইল এক্সপ্লোরার অ্যাপ (যেমন ES Explorer) ব্যবহার করে আপনার ফোনের /system পার্টিশনে নেভিগেট করে build.prop একটি টেক্সট এডিটরের সাথে খুলতে পারেন, অথবা একটি ডেডিকেটেড build.prop এডিটর ব্যবহার করতে পারেন যেমন JRummy BuildProp Editor।

 

অ্যান্ড্রয়েডে Camera2 API ইনএবল করে RAW ফটো তোলার পদ্ধতি

একবার আপনি build.prop-এ ঢুকে গেলে, এই স্ট্রিংটি সার্চ করুন:

persist.camera.HAL3.enabled=0

০ কে ১-এ পরিবর্তন করুন, build.prop সেভ করে বের হোন, এবং আপনার ফোন রিবুট করুন। যদি সেই স্ট্রিং আপনার build.prop-এ না পাওয়া যায়, তবে ম্যানুয়ালি persist.camera.HAL3.enabled=1 আপনার build.prop ফাইলের বটমে যোগ করুন, সেভ করুন এবং রিবুট করুন। আপনি তারপর থার্ড-পার্টি ক্যামেরা অ্যাপ যেমন Open Camera বা Camera FV-5 লঞ্চ করে টেস্ট করতে পারেন কি আপনি Camera2 API মোড ইনএবল করতে পারছেন সেটিংস মেনুতে।

Terminal Emulator-এ Camera2 API ইনএবল করা

উপরের মেথডের একটি বিকল্প মেথড হচ্ছে Terminal Emulator-এর মাধ্যমে Camera2 API ইনএবল করার চেষ্টা করা। সিম্পলি টার্মিনাল লঞ্চ করুন এবং নিচের কমান্ডগুলো টাইপ করুন:

su
su persist.camera.HAL3.enabled 1
exit
exit

আপনার ফোন রিবুট করুন এবং থার্ড-পার্টি ক্যামেরা অ্যাপ যেমন Open Camera বা Camera FV-5 দিয়ে চেক করুন কি কাজ করেছে।

মিডিয়াটেক ইঞ্জিনিয়ার মোডে RAW ফটো তোলা

আপনার কাছে যদি একটি মিডিয়াটেক-চিপসেট ডিভাইস থাকে, তবে Engineer Mode-এর মাধ্যমে RAW ফটো তোলা সম্ভব Camera2 API ইনএবল না থাকলেও। Engineer Mode অ্যাক্সেস করার কিছু হাতের মেথড আছে:

আপনার ফোন ডায়ালার খুলুন এবং এই নম্বরটি টাইপ করুন: *#*#3646633#*#*

বিকল্পভাবে, আপনি MTK Engineering Mode-এর মত একটি অ্যাপ ইনস্টল করতে পারেন আপনার হোমে সবসময় একটি শর্টকাট আইকন পাওয়ার জন্য। আপনি Xposed এবং GravityBox মডিউলও ইনস্টল করতে পারেন (দেখুন: Xposed মডিউলের সাথে অ্যান্ড্রয়েড সম্পূর্ণরূপে থিম করার পদ্ধতি), যেটিও Engineer Mode-এ একটি লঞ্চার দেবে।

অ্যান্ড্রয়েডে Camera2 API ইনএবল করে RAW ফটো তোলার পদ্ধতি

যাই হোক, একবার আপনি Engineer Mode-এ ঢুকে গেলে, সিম্পলি ডানদিকে স্ক্রল করুন Hardware Testing > Camera-এ। এটি ক্যামেরা হার্ডওয়্যারের একটি টেস্টিং মোড, কিন্তু আপনি সকল ধরনের ক্যামেরা অপশন ইনএবল করতে পারেন, RAW ফরম্যাট সহ, এবং ফটোগ্রাফ তোলতে পারেন।

Engineer Mode-এ RAW ফটো তোলার সময়, দুটি ফাইল /DCIM/CameraEM/ ডিরেক্টরিতে সেভ হবে - একটি JPEG ফটো প্রিভিউ করার জন্য, এবং আসল RAW ফাইল, যা অ্যান্ড্রয়েড ফোনে প্রিভিউ করা যায় না। আপনাকে RAW ফাইলটি আপনার PC-এ এক্সপোর্ট করতে হবে এবং Adobe Photoshop-এর মত ইমেজ-এডিটিং সফটওয়্যার ব্যবহার করে RAW ইমেজ ম্যানিপুলেট করতে হবে, এবং আপনাকে এটি একটি যূনিভার্সাল RAW ফরম্যাটে কনভার্ট করতে হতে পারে আপনার ফোন যা আউটপুট দেয় তার চেয়ে।

  1. অ্যান্ড্রয়েড ডিভাইসে ডেস্কটপ মোড ইনেবল করার ধাপে ধাপে গাইড

  2. অ্যান্ড্রয়েড Camera2 API মাস্টার করুন: ফটো ও ভিডিও ক্যাপচারের ধাপে ধাপে গাইড

  3. অ্যান্ড্রয়েড ও iOS-এ জিমেইল ডার্ক মোড অন করুন: ধাপে ধাপে গাইড

  4. অ্যান্ড্রয়েডে পুশ নোটিফিকেশন ইনেবল করার ধাপে ধাপে গাইড