녹화 및 재생 소개

플랫폼별 가이드

대부분의 증강 현실 경험은 '실시간'입니다. 특정 시간에 특정 장소에 있어야 하며, 휴대전화가 특수 AR 모드로 설정되어 있고 AR 앱이 열려 있어야 합니다. 예를 들어 사용자가 AR 소파가 거실에서 어떻게 보이는지 확인하고 싶다면 실제로 방에 있는 동안 소파를 화면 환경에 '배치'해야 합니다.

Recording and Playback API를 사용하면 이러한 '실시간' 요구사항이 사라집니다. 따라서 언제 어디서나 볼 수 있는 AR 환경을 만들 수 있습니다. Recording API는 카메라의 동영상 스트림, IMU 데이터 또는 사용자가 MP4 파일로 저장하도록 선택한 기타 맞춤 메타데이터를 저장합니다. 그런 다음 녹화된 동영상을 Playback API를 통해 ARCore에 피드하면 MP4를 라이브 세션 피드처럼 취급할 수 있습니다. 라이브 카메라 세션을 계속 사용할 수 있지만, 이 새로운 API를 사용하면 AR 애플리케이션에서 라이브 세션 대신 사전 녹화된 MP4를 사용하도록 선택할 수 있습니다.

최종 사용자도 이 기능을 활용할 수 있습니다. 실제 어디에 있든 관계없이 기본 갤러리에서 Recording and Playback API로 녹화된 모든 동영상을 가져와 AR 개체, 효과, 필터로 편집하거나 재생할 수 있습니다. 이 기능을 통해 사용자는 기차를 타고 사무실로 출근하거나 침대에 누워 있을 때도 AR 쇼핑을 할 수 있습니다.

Recording and Playback API로 개발하기 위한 사용 사례

Recording and Playback API는 AR 앱을 빌드할 때 발생하는 시간 및 공간 제약을 없애줍니다. 다음은 프로젝트에서 이를 사용할 수 있는 몇 가지 방법입니다.

한 번의 녹화로 어디서나 테스트

AR 기능을 테스트해야 할 때마다 실제로 특정 위치로 이동하는 대신 Recording API를 사용하여 동영상을 녹화한 다음 호환되는 기기를 사용하여 재생할 수 있습니다. 쇼핑몰에서 경험을 구축하고 있나요? 변경사항을 테스트할 때마다 이 페이지로 이동하지 않아도 됩니다. 방문 기록을 한 번 기록한 다음 책상에서 편안하게 반복하고 개발하기만 하면 됩니다.

반복 시간 줄이기

지원하고자 하는 모든 Android 기기별로 동영상을 녹화할 필요 없이 테스트하려는 모든 시나리오에 대해 동영상을 한 번 녹화하여 반복 단계가 진행되는 동안 여러 다른 기기에서 재생할 수 있습니다.

개발팀 전체의 수동 테스트 부담 경감

새로운 기능마다 커스텀 데이터 세트를 만드는 대신 사전 기록된 데이터 세트를 활용하면서 ARCore의 깊이나 최신 추적 개선사항을 포함한 새로운 기능을 출시하세요.

기기 호환성

Recording and Playback API로 데이터를 기록하려면 ARCore가 필요하지만 재생에는 ARCore가 필요하지는 않습니다. 이 기능을 사용하여 녹화된 MP4는 기본적으로 모든 동영상 플레이어를 사용하여 볼 수 있는 추가 데이터가 포함된 동영상 파일입니다. Android의 ExoPlayer를 사용하거나 MP4를 역다중화하고 ARCore에서 추가한 추가 데이터를 관리할 수 있는 호환되는 플레이어로 이를 검사할 수 있습니다.

재생을 위해 동영상 및 AR 데이터가 기록되는 방식

ARCore는 녹화된 세션을 대상 기기에 MP4 파일로 저장합니다. 이러한 파일에는 여러 동영상 트랙과 기타 데이터가 포함되어 있습니다. 이러한 세션이 저장되면 앱에서 라이브 카메라 세션 대신 이 데이터를 사용하도록 지정할 수 있습니다.

녹음 파일에 포함된 내용

ARCore는 H.264 동영상에서 다음 데이터를 캡처합니다. 트랙 전환 기능이 있는 모든 MP4 호환 동영상 플레이어에서 액세스할 수 있습니다. 일부 MP4 호환 동영상 플레이어는 사용자가 재생할 동영상 트랙을 선택하도록 허용하지 않고 자동으로 목록의 첫 번째 트랙을 재생하므로 가장 높은 해상도의 트랙이 목록의 첫 번째 트랙입니다.

기본 동영상 트랙 (CPU 이미지 트랙)

기본 동영상 파일은 나중에 재생할 수 있도록 환경이나 장면을 녹화합니다. 기준 기본적으로 ARCore는 640x480 (VGA) CPU 이미지를 모션 추적을 기본 동영상으로 설정 있습니다.

ARCore는 다음에 렌더링되는 (고해상도) GPU 텍스처를 캡처하지 않습니다. 화면을 패스 스루 카메라 이미지로 사용합니다.

재생 중에 고해상도 이미지 스트림을 사용하려면 CPU 이미지를 제공하는 카메라를 구성해야 합니다. 이미지를 표시할 수 있습니다. 이 경우에는 다음과 같습니다.

  • ARCore는 640x480 (VGA) CPU 이미지를 모션 추적, 그리고 설정된 카메라 구성
  • 두 번째 CPU 이미지 스트림을 캡처하면 앱 성능에 영향을 줄 수 있습니다. 다른 장치에 따라 다르게 영향을 받을 수 있습니다.
  • 재생되는 동안 ARCore는 64비트로 표시된 고해상도 CPU 이미지를 GPU 텍스처로 캡처됩니다.
  • 고해상도 CPU 이미지가 기본 비디오 스트림이 되고 MP4 녹화 중입니다.

녹화 중에 선택한 카메라 구성에 따라 녹화의 CPU 이미지와 기본 동영상 스트림이 결정됩니다. 고해상도 CPU 이미지가 포함된 카메라 구성을 선택하지 않으면 이 동영상이 파일의 첫 번째 트랙이 되며 사용하는 동영상 플레이어에 관계없이 기본적으로 재생됩니다.

카메라 심도 지도 시각화

카메라의 심도 맵을 나타내는 동영상 파일로, 비행 시간 센서 (또는 ToF 센서)와 같은 기기의 하드웨어 심도 센서에서 녹화되고 RGB 채널 값으로 변환됩니다. 이 동영상은 미리보기 목적으로만 사용해야 합니다.

API 호출 이벤트

ARCore는 기기의 자이로미터와 가속도계 센서에서 측정값을 기록합니다. 또한 다음과 같은 민감할 수 있는 다른 데이터도 기록합니다.

  • 데이터 세트 형식 버전
  • ARCore SDK 버전
  • Google Play AR 서비스 버전
  • 기기 지문 (adb shell getprop ro.build.fingerprint의 출력)
  • AR 추적에 사용되는 센서에 대한 추가 정보
  • ARCore Geospatial API를 사용하는 경우 기기의 예상 위치, 자기계 측정값, 나침반 측정값