Апаратне забезпечення смартфона часто здатне не тільки на те, що програмне забезпечення дозволяє за замовчуванням. Це точна причина Порти Google Camera стали дуже популярними на наших форумах, оскільки багато хто вважає їх простим способом значно покращити якість зображення на багатьох пристроях. Завдяки перенесеній програмі Google Camera ви можете використовувати чудову оптимізацію HDR+ від Google, а також портретний режим на своєму пристрої, який не належить Google. Однак, читаючи про ці порти, ви, мабуть, зустрічали певний термін – «API Camera2». У цьому підручнику ви дізнаєтеся, що насправді означає цей термін і як перевірити статус підтримки API Camera2 на ваших телефонах Android.
Що таке Camera2 API?
Модуль фізичної камери на вашому телефоні — це неймовірно складне апаратне забезпечення, але Android не обов’язково знати все параметри низького рівня для взаємодії з ним завдяки апаратному рівню абстракції камери (HAL), реалізованому SoC постачальники. Спеціальний інтерфейс прикладного програмування (API) камери знаходиться поверх HAL і діє як публічна структура на рівні програми. У двох словах, Camera API дозволяє додаткам спрощено досліджувати функції камери на пристрої, не турбуючись про дрібниці датчика камери.
Google представив Camera2 API в Android 5.0 Lollipop як наступника оригіналу API камери щоб краще визначити, як програми можуть взаємодіяти з окремими камерами, підключеними до вашого смартфона. Він надає додаткам низку детальних елементів керування камерою, включаючи ефективні пакетні/потокові потоки без копіювання і покадрове керування експозицією, підсиленням, підсиленням балансу білого, перетворенням кольорів, усуненням шумів, підвищенням різкості тощо.
Є п'ять різних рівнів підтримки для Camera2 API:
- Спадок: Застарілі пристрої, які не підтримують такі функції Camera API2, як елементи керування для кожного кадру. Ці пристрої надають додаткам можливості через інтерфейси Camera API2, які приблизно такі ж, як ті, що надаються додаткам через інтерфейси Camera API1.
- обмежено: Ці пристрої підтримують лише частину всіх можливостей Camera API2.
- Повний: Ці пристрої підтримують усі основні можливості Camera API2 і повинні використовувати Camera HAL 3.2 або новішої версії та Android 5.0 або новішої версії.
- Level_3: Ці пристрої підтримують повторну обробку YUV і захоплення зображень у форматі RAW, а також додаткові конфігурації вихідного потоку на додаток до повної підтримки Camera2 API.
- зовнішній: Подібно до пристроїв LIMITED за деякими винятками (наприклад, деякі дані датчика чи об’єктива можуть не повідомлятися або мати менш стабільну частоту кадрів). Цей рівень використовується для зовнішніх камер, наприклад веб-камер USB.
Що стосується більшості користувачів, причина, чому ви всі повинні піклуватися про підтримку Camera2 API, полягає в тому, що порти Google Camera необхідні для роботи на вашому смартфоні.
Як перевірити, чи ввімкнено Camera2 API
Веб-сторінка для Набір тестів зображень частина набору тестів на сумісність (CTS) стверджує, що Камера HAL3 наполегливо рекомендується підтримка Camera2 API сертифіковані пристрої під керуванням Android 9 або новішої версії. Зважаючи на це, багато пристроїв у минулому не мали підтримки Camera2 API із коробки. Щоб увімкнути API, деяким із них потрібен або root, щоб змінити свій build.prop, або просто розблокований завантажувач для виконання команд Fastboot від постачальника. Однак нещодавно все почало змінюватися.
Щоб дізнатися статус підтримки API Camera2 на вашому пристрої, виберіть один із наведених нижче методів.
Спосіб 1: Використання ADB
Перш ніж почати використовувати цей метод, переконайтеся, що у вас є доступ до ПК/Mac з Встановлено ADB і Fastboot.
- На телефоні ввімкніть налагодження USB у параметрах розробника.
- Вам може знадобитися увімкнути параметри розробника перший.
- Підключіть пристрій до ПК/Mac.
- Відкрийте командний рядок або PowerShell (Windows) або вікно терміналу (macOS або Linux).
- Якщо місце розташування двійкового файлу ADB не визначено в глобальних налаштуваннях PATH, вам потрібно змінити робочий каталог оболонки на місце, де розміщено двійковий файл ADB.
- Введіть таку команду:
adb shell "getprop | grep HAL3"
- Якщо результат один із наведених нижче:
[persist.camera.HAL3.enabled]: [1]
, тоді ваш пристрій має Camera HAL3 із повною підтримкою Camera2 API.[persist.vendor.camera.HAL3.enabled]: [1]
Спосіб 2: Використання емулятора терміналу
Якщо ви не хочете використовувати ПК/Mac, ви можете скористатися будь-якою програмою емулятора терміналу, щоб перевірити статус API Camera2 безпосередньо зі свого телефону.
- Завантажте програму емулятора терміналу на ваш вибір. Нижче ми навели кілька популярних.
- Відкрийте програму та введіть таку команду:
getprop | grep HAL3
- Якщо результат один із наведених нижче:
[persist.camera.HAL3.enabled]: [1]
, тоді ваш пристрій має Camera HAL3 із повною підтримкою Camera2 API.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid "com.termux"]
Майте на увазі, що підтримка HAL3 не означає, що всі функції Camera2 API доступні, як a компанія може змінити такі функції, як підтримка захоплення RAW, рівні ISO, час експозиції тощо більше. Ось чому ми рекомендуємо вибрати третій метод, оскільки він пропонує більш детальну інформацію.
Спосіб 3. Використання спеціальної сторонньої програми
Не хочете возитися з інтерфейсом командного рядка? Потім просто завантажте програму Camera2 API Probe на цільовий пристрій Android із магазину Google Play.
[appbox googleplay "com.airbeat.device.inspector"]
Після встановлення програма відображатиме два або більше розділів залежно від кількості об’єктивів камери, які має ваш пристрій (наприклад, «Ідентифікатор камери: 0» означає модуль задньої камери). Під кожним ідентифікатором камери ви можете знайти підкатегорію різних функцій і відомості про їх підтримку. Нас особливо цікавить категорія під назвою «Рівень підтримки апаратного забезпечення», яка показує рівень підтримки API Camera2 на пристрої.
Як бачите, програма не тільки визначає точний рівень API Camera2 для вашого пристрою, але й перераховує кілька інших функцій, які підтримуються модулем камери. Ця інформація може стати в нагоді під час встановлення сторонніх додатків камери, як-от певний порт Google Camera, який може використовувати ці функції.
Якщо ви хочете копнути глибше та дізнатися більше про підтримувані розширення Camera2 (а також CameraX), дайте Інформація про CameraX від визнаного розробника XDA Zacharee1 a go. Зауважте, що в додатку наведено лише ті функції, які виробник вашого пристрою надав стороннім програмам. Його не слід використовувати для перерахування функцій, вбудованих у рідну програму камери.
Ціна: безкоштовно.
Ми сподіваємося, що тепер ви зможете швидко визначити, чи ввімкнено Camera2 API на вашому пристрої, за допомогою цього посібника. Повідомте нам спосіб, якому ви віддаєте перевагу, у коментарях!