Аппаратное обеспечение смартфона часто способно на большее, чем то, что позволяет программное обеспечение по умолчанию. Это точная причина, почему Порты Google Камеры стали очень популярны на наших форумах, так как многие видят в них простой способ значительно улучшить качество изображения на широком спектре устройств. С помощью портированного приложения Google Camera вы можете использовать превосходную оптимизацию Google HDR+, а также портретный режим на своем устройстве, не принадлежащем Google. Однако, читая об этих портах, вы наверняка встречали определенный термин — «Camera2 API». В этом уроке вы узнаете, что на самом деле означает этот термин и как проверить статус поддержки API Camera2 на ваших телефонах Android.
Что такое API Camera2?
Модуль физической камеры вашего телефона — невероятно сложное аппаратное обеспечение, но Android не обязательно знать все. низкоуровневые параметры для взаимодействия с ним благодаря уровню аппаратной абстракции камеры (HAL), реализованному SoC продавцы. Интерфейс прикладного программирования (API) для конкретной камеры находится поверх HAL и действует как общедоступная платформа на уровне приложения. Короче говоря, API-интерфейс камеры позволяет приложениям упростить проверку функций камеры на устройстве, не беспокоясь о мельчайших деталях датчика камеры.
Google представил API камеры2 в Android 5.0 Lollipop как преемник оригинала API камеры чтобы лучше определить, как приложения могут взаимодействовать с отдельными камерами, подключенными к вашему смартфону. Он предоставляет приложениям ряд детальных элементов управления камерой, включая эффективные потоки пакетной/потоковой передачи с нулевым копированием. и покадровое управление экспозицией, усилением, усилением баланса белого, преобразованием цвета, шумоподавлением, повышением резкости и многим другим.
Есть пять различных уровней поддержки для API Camera2:
- Наследие: Устаревшие устройства, которые не поддерживают функции Camera API2, такие как покадровое управление. Эти устройства предоставляют приложениям через интерфейсы API2 камеры примерно те же возможности, что и возможности, предоставляемые приложениям через интерфейсы API1 камеры.
- Ограниченное: Эти устройства поддерживают только часть всех возможностей Camera API2.
- Полный: Эти устройства поддерживают все основные возможности Camera API2 и должны использовать Camera HAL 3.2 или более позднюю версию и Android 5.0 или более позднюю версию.
- Уровень 3: Эти устройства поддерживают обработку YUV и захват изображений RAW, а также дополнительные конфигурации выходного потока помимо полной поддержки API Camera2.
- Внешний: Аналогично устройствам LIMITED, за некоторыми исключениями (например, некоторая информация о сенсоре или объективе может не сообщаться или иметь менее стабильную частоту кадров). Этот уровень используется для внешних камер, таких как веб-камеры USB.
Что касается большинства пользователей, причина, по которой вам всем следует позаботиться о поддержке API Camera2, заключается в том, что порты Google Camera необходимы для работы на вашем смартфоне.
Как проверить, включен ли Camera2 API
Веб-страница для Набор тестов изображений часть набора тестов совместимости (CTS) гласит, что Камера HAL3 поддержка API Camera2 настоятельно рекомендуется для сертифицированные устройства под управлением Android 9 или выше. При этом многие устройства в прошлом не имели встроенной поддержки API Camera2. Чтобы включить API, некоторым из них требуется либо root для изменения их build.prop, либо просто разблокированный загрузчик для запуска команд Fastboot, зависящих от поставщика. Однако совсем недавно ситуация начала меняться.
Чтобы узнать статус поддержки API Camera2 на вашем устройстве, выберите один из следующих методов.
Способ 1: использование АБР
Прежде чем приступить к использованию этого метода, убедитесь, что у вас есть доступ к ПК/Mac с Установлены ADB и Fastboot..
- На телефоне включите отладку по USB в настройках разработчика.
- Возможно, вам придется включить параметры разработчика первый.
- Подключите ваше устройство к ПК/Mac.
- Откройте командную строку или PowerShell (Windows) или окно терминала (macOS или Linux).
- Если расположение двоичного файла ADB не определено в глобальных настройках PATH, вам необходимо изменить рабочий каталог оболочки на место, где находится двоичный файл ADB.
- Введите следующую команду:
adb shell "getprop | grep HAL3"
- Если результат один из следующих:
[persist.camera.HAL3.enabled]: [1]
, то на вашем устройстве установлена камера HAL3 с полной поддержкой API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
Способ 2. Использование эмулятора терминала
Если вы не хотите использовать ПК/Mac, вы можете использовать любое приложение-эмулятор терминала, чтобы проверить состояние API Camera2 прямо со своего телефона.
- Загрузите приложение-эмулятор терминала по вашему выбору. Ниже мы перечислили несколько популярных из них.
- Откройте приложение и введите следующую команду:
getprop | grep HAL3
- Если результат один из следующих:
[persist.camera.HAL3.enabled]: [1]
, то на вашем устройстве установлена камера HAL3 с полной поддержкой API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid "com.termux"]
Имейте в виду, что наличие поддержки HAL3 не означает, что доступны все функции API Camera2. компания по-прежнему может изменять такие функции, как поддержка захвата 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. Обратите внимание, что в приложении перечислены только функции, которые производитель вашего устройства предоставил сторонним приложениям. Его не следует использовать для перечисления функций, встроенных в собственное приложение камеры.
Цена: Бесплатно.
Мы надеемся, что теперь вы сможете быстро определить, включен или нет Camera2 API на вашем устройстве, используя это руководство. Дайте нам знать, какой метод вы предпочитаете в комментариях!