HAL CAMERA / User Guide
Choose your camera engine.
같은 장면도, 카메라를 구동하는 방식에 따라 다르게 기록됩니다.
수동 촬영·RAW를 사용하려면 Camera2를 선택하세요. Benchmark는 Live의 엔진 선택과 별개로 Camera2를 사용합니다.
Live 상단에서 Camera2와 CameraX를 바꿔 같은 장면을 비교할 수 있습니다.
지원 기능과 촬영 결과는 기기와 출력 설정에 따라 달라집니다. 먼저 해 볼 작업의 지원 조건을 확인하세요.
두 엔진의 차이
- 사진·동영상: Camera2와 CameraX 모두 지원합니다.
- 수동 촬영: Camera2는 지원 기기에서 ISO·노출 시간·초점·WB를 조절합니다. CameraX는 Manual 버튼을 사용할 수 없습니다.
- RAW/DNG: Camera2는 RAW 지원 카메라의 PHOTO 모드에서 저장합니다. CameraX는 지원하지 않습니다.
측정과 관찰
Benchmark: Camera2로 반복 측정을 실행합니다. CameraX에서 Benchmark를 열어도 Camera2를 사용합니다.
프리뷰·녹화 버퍼 관찰: Camera2는 Android 13 이상에서 지원합니다. EIS 녹화 등 관측할 수 없는 경로도 있습니다.
CameraX는 버퍼를 직접 관측하지 못합니다. 분석·사진 이미지의 수신은 기록합니다.
여러 카메라 촬영
Multi: Camera2는 지원되는 독립 카메라 조합으로 사진과 소리 포함 동영상을 각각 저장합니다.
CameraX는 지원하는 조합에서 카메라를 최대 두 대까지 사용합니다.
PIP: Camera2는 지원되는 보조 카메라를 합성합니다. CameraX는 지원하는 동시 카메라 조합을 합성합니다.
PIP와 Multi는 Android 11 이상에서 제공합니다. 선택 가능한 카메라와 해상도는 기기에 따라 다릅니다.
JPEG는 누가 만드나요?
일반 Live 사진에서 JPEG 크기를 선택하면 Camera2는 카메라가 만든 JPEG를, CameraX는 ImageCapture의 JPEG를 저장합니다.
YUV를 선택하면 앱이 이미지를 JPEG로 변환합니다. 두 출처의 사진을 한 번에 두 장 저장하는 기능은 아닙니다.
Camera2는 요청한 사진의 센서 시각을 맞춰 저장하고, CameraX는 촬영 뒤 받은 분석 프레임을 변환합니다.
같은 순간의 사진이라고 가정하지 말고 촬영 조건을 함께 확인하세요.
녹화 중 사진의 알려진 제약
CameraX 1.6.2로 녹화 중 사진을 찍으면 영상 간격이 늘어날 수 있습니다.
Validation의 Galaxy S25+·Android 16 기록에서는 Camera2 1080p 30fps에 같은 간격 증가가 없었습니다. 다른 기기·FPS·코덱의 연속성을 보장하지는 않습니다.
사진 한 장의 실패가 녹화를 끝내지는 않습니다.
사진을 저장하는 동안에는 다음 사진을 요청할 수 없습니다. 출력 조합이 지원되지 않으면 녹화 중 사진을 사용할 수 없습니다.
결과를 비교하기 전에
- 같은 카메라·출력 크기·FPS·촬영 조건을 선택합니다.
- 사진의 JPEG 출처와 손떨림 보정 설정을 확인합니다.
- 관측할 수 없는 항목을 성능 저하나 실패로 해석하지 않습니다.
저장 파일
사진과 동영상은 기기의 DCIM/HALCamera에 저장합니다.
- 사진: JPEG 출처를 켜면 해당 JPEG를, RAW를 켜면 DNG를 저장합니다.
- 촬영 JSON: 설정과 메타데이터를
Download/HALCamera에 저장합니다. - 벤치마크 보고서·진단 ZIP: 별도 기록이며 이미지 픽셀을 담지 않습니다.
PIP는 합성과 원본을, Multi는 카메라별 파일을 저장하므로 해당 조건을 확인하세요.
두 엔진이 함께 남기는 기록
두 엔진 모두 촬영 조건과 결과 메타데이터를 남깁니다. 화면 표시와 버퍼 도착 시각은 다르므로 Callback의 관측 범위를 확인하세요.
다음 단계: Live에서 엔진과 촬영 조건을 선택하세요.