Android 기기에서 Camera2 API가 활성화되어 있는지 확인하는 방법

스마트폰의 하드웨어는 소프트웨어가 기본적으로 허용하는 것 이상의 기능을 수행할 수 있는 경우가 많습니다. 정확한 이유는 바로 이것이다 Google 카메라 포트 많은 사람들이 이를 다양한 장치에서 화질을 획기적으로 향상시킬 수 있는 쉬운 방법으로 여기기 때문에 포럼에서 매우 인기가 높아졌습니다. 이식된 Google 카메라 앱을 사용하면 Google이 아닌 타사 기기에서도 Google의 우수한 HDR+ 최적화 기능과 인물 사진 모드를 사용할 수 있습니다. 그러나 이러한 포트에 대해 읽으면서 "Camera2 API"라는 특정 용어를 접했을 것입니다. 이 튜토리얼에서는 용어의 실제 의미와 Android 휴대폰에서 Camera2 API 지원 상태를 확인하는 방법을 알아봅니다.


Camera2 API란 무엇입니까?

휴대전화의 물리적 카메라 모듈은 엄청나게 복잡한 하드웨어이지만 Android가 모든 것을 알 필요는 없습니다. SoC로 구현된 카메라 HAL(하드웨어 추상화 계층) 덕분에 하위 수준 매개변수와 상호작용할 수 있습니다. 벤더. 카메라별 API(애플리케이션 프로그래밍 인터페이스)는 HAL 위에 위치하며 앱 수준 공개 프레임워크 역할을 합니다. 간단히 말해서, 카메라 API를 사용하면 앱이 카메라 센서의 핵심적인 부분에 신경쓰지 않고도 효율적인 방식으로 기기의 카메라 기능을 조사할 수 있습니다.

구글이 도입한 카메라2 API Android 5.0 Lollipop에서는 원본의 후속 버전으로 카메라 API 앱이 스마트폰에 연결된 개별 카메라와 어떻게 상호 작용할 수 있는지 더 잘 정의하기 위해서입니다. 효율적인 제로 카피 버스트/스트리밍 흐름을 포함하여 다양한 세부적인 카메라 제어 기능을 앱에 노출합니다. 노출, 게인, 화이트 밸런스 게인, 색상 변환, 노이즈 제거, 선명도 등을 프레임별로 제어할 수 있습니다.

있다 다섯 가지 지원 수준 Camera2 API의 경우:

  • 유산: 프레임별 제어와 같은 Camera API2 기능을 지원하지 않는 레거시 장치입니다. 이러한 장치는 카메라 API1 인터페이스를 통해 앱에 노출되는 기능과 거의 동일한 기능을 카메라 API2 인터페이스를 통해 앱에 노출합니다.
  • 제한된: 이러한 장치는 모든 Camera API2 기능의 하위 집합만 지원합니다.
  • 가득한: 이러한 장치는 Camera API2의 모든 주요 기능을 지원하며 Camera HAL 3.2 이상 및 Android 5.0 이상을 사용해야 합니다.
  • 레벨_3: 이러한 장치는 전체 Camera2 API 지원 외에 추가 출력 스트림 구성과 함께 YUV 재처리 및 RAW 이미지 캡처를 지원합니다.
  • 외부: 일부 예외를 제외하고 제한적 장치와 유사합니다(예: 일부 센서 또는 렌즈 정보가 ​​보고되지 않거나 프레임 속도가 덜 안정적일 수 있음). 이 수준은 USB 웹캠과 같은 외부 카메라에 사용됩니다.

대부분의 사용자가 Camera2 API 지원에 관심을 가져야 하는 이유는 Google 카메라 포트가 스마트폰에서 작동해야 하기 때문입니다.


Camera2 API가 활성화되어 있는지 확인하는 방법

에 대한 웹페이지 이미지 테스트 스위트 호환성 테스트 도구 모음(CTS)의 일부에서는 다음과 같이 명시합니다. 카메라 HAL3 Camera2 API 지원을 적극 권장합니다. 인증된 장치 Android 9 이상을 실행 중입니다. 즉, 과거의 많은 장치에는 기본적으로 Camera2 API 지원이 부족했습니다. API를 활성화하려면 일부는 build.prop을 수정하기 위한 루트 또는 공급업체별 Fastboot 명령을 실행하기 위한 잠금 해제된 부트로더가 필요합니다. 하지만 최근에는 상황이 바뀌기 시작했습니다.

기기의 Camera2 API 지원 상태를 확인하려면 다음 방법 중 하나를 선택하세요.

방법 1: ADB 사용

이 방법을 시작하기 전에 PC/Mac에 액세스할 수 있는지 확인하세요. ADB 및 Fastboot 설치.

  1. 휴대폰의 개발자 옵션에서 USB 디버깅을 켜세요.
    • 당신은해야 할 수도 있습니다 개발자 옵션 활성화 첫 번째.
  2. 장치를 PC/Mac에 연결하세요.
  3. 명령 프롬프트나 PowerShell(Windows) 또는 터미널 창(macOS 또는 Linux)을 엽니다.
    • ADB 바이너리의 위치가 전역 PATH 설정에 정의되어 있지 않은 경우 쉘의 작업 디렉터리를 ADB 바이너리가 있는 위치로 변경해야 합니다.
  4. 다음 명령을 입력하십시오.
    adb shell "getprop | grep HAL3"
  5. 결과가 다음 중 하나인 경우:
    [persist.camera.HAL3.enabled]: [1]
    [persist.vendor.camera.HAL3.enabled]: [1]
    , 그러면 기기에 전체 Camera2 API를 지원하는 Camera HAL3이 있습니다.

방법 2: 터미널 에뮬레이터 사용

PC/Mac을 사용하고 싶지 않다면 터미널 에뮬레이터 앱을 사용하여 휴대폰에서 직접 Camera2 API의 상태를 확인할 수 있습니다.

  1. 원하는 터미널 에뮬레이터 앱을 다운로드하세요. 아래에 몇 가지 인기 있는 항목을 나열했습니다.
  2. 앱을 열고 다음 명령을 입력하세요.
    getprop | grep HAL3
  3. 결과가 다음 중 하나인 경우:
    [persist.camera.HAL3.enabled]: [1]
    [persist.vendor.camera.HAL3.enabled]: [1]
    , 그러면 기기에 전체 Camera2 API를 지원하는 Camera HAL3이 있습니다.

[appbox googleplay "jackpal.androidterm"]

[appbox fdroid "com.termux"]

HAL3을 지원한다고 해서 모든 Camera2 API 기능을 사용할 수 있다는 의미는 아닙니다. 회사는 RAW 캡처 지원, ISO 레벨, 노출 시간 및 같은 기능을 계속 수정할 수 있습니다. 더. 그렇기 때문에 보다 세부적인 정보를 제공하는 세 번째 방법을 선택하는 것이 좋습니다.


방법 3: 전용 타사 앱 사용

명령줄 인터페이스를 조작하고 싶지 않으신가요? 그런 다음 Google Play 스토어에서 대상 Android 장치에 Camera2 API 프로브 앱을 다운로드하면 됩니다.

[appbox googleplay "com.airbeat.device.inspector"]

일단 설치되면 앱은 장치에 있는 카메라 렌즈 수에 따라 두 개 이상의 섹션을 표시합니다(예: "카메라 ID: 0"은 후면 카메라 모듈을 나타냄). 각 카메라 ID 아래에서 다양한 기능의 하위 카테고리와 지원 세부정보를 찾을 수 있습니다. 우리는 특히 장치의 Camera2 API 지원 수준을 보여주는 "하드웨어 지원 수준"이라는 범주에 관심이 있습니다.

보시다시피, 앱은 기기의 정확한 Camera2 API 레벨을 알아낼 뿐만 아니라 카메라 모듈에서 지원하는 몇 가지 다른 기능도 나열합니다. 이러한 기능을 활용할 수 있는 특정 Google 카메라 포트와 같은 타사 카메라 앱을 설치할 때 이 정보가 유용할 수 있습니다.

지원되는 Camera2(및 CameraX) 확장에 대해 더 자세히 알아보고 더 많은 정보를 찾으려면 다음을 입력하세요. CameraX 정보 XDA 공인 개발자 Zacharee1이 작성했습니다. 앱에는 장치 제조업체가 타사 앱에 공개한 기능만 나열되어 있습니다. 기본 카메라 앱에 내장된 기능을 열거하는 데 사용해서는 안 됩니다.

CameraX 정보개발자: 재커리 방황

가격: 무료.

다운로드

이제 이 가이드를 사용하여 귀하의 장치에서 Camera2 API가 활성화되어 있는지 여부를 빠르게 확인할 수 있기를 바랍니다. 댓글로 선호하는 방법을 알려주세요!