Руководства для конкретных платформ
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine

Подавляющее большинство приложений дополненной реальности работают в режиме реального времени. Для их использования пользователям необходимо находиться в определенном месте в определенное время, иметь телефон в специальном режиме дополненной реальности и открытое приложение дополненной реальности. Например, если пользователь хочет увидеть, как выглядит диван в дополненной реальности в его гостиной, ему нужно «разместить» диван на экране, находясь физически в комнате.
API записи и воспроизведения устраняет это требование «реального времени», позволяя создавать AR-приложения, которые можно просматривать где угодно и когда угодно. API записи сохраняет видеопоток с камеры, данные IMU или любые другие пользовательские метаданные, которые вы выберете для сохранения, в файл MP4. Затем вы можете передавать эти записанные видео в ARCore через API воспроизведения, который будет обрабатывать MP4 так же, как и прямую трансляцию. Вы по-прежнему можете использовать прямую трансляцию с камеры, но с этим новым API ваши AR-приложения могут выбрать использование предварительно записанного MP4 вместо прямой трансляции.

Конечные пользователи также могут воспользоваться этой функцией. Где бы они ни находились в реальной жизни, они могут открыть любое видео, записанное с помощью API записи и воспроизведения, из своей галереи и редактировать или воспроизводить объекты дополненной реальности, эффекты и фильтры. Благодаря этой функции пользователи могут совершать покупки в дополненной реальности, находясь в поезде по дороге на работу или отдыхая в постели.
Примеры использования API для записи и воспроизведения при разработке приложений.
API для записи и воспроизведения снимает временные и пространственные ограничения при создании приложений дополненной реальности. Вот несколько способов его использования в ваших собственных проектах.
Запишите один раз, протестируйте где угодно.
Вместо того чтобы каждый раз физически посещать какое-либо место для тестирования функции дополненной реальности, вы можете записать видео с помощью API записи, а затем воспроизвести его на любом совместимом устройстве. Создаете интерактивный опыт в торговом центре? Нет необходимости ехать туда каждый раз, чтобы протестировать изменения. Просто запишите свой визит один раз, а затем дорабатывайте и совершенствуйте продукт, не выходя из-за своего рабочего стола.
Сокращение времени итерации
Вместо того чтобы записывать видео для каждого поддерживаемого устройства Android и для каждого тестируемого сценария, вы можете записать видео один раз и воспроизвести его на нескольких разных устройствах на этапе итераций.
Снизьте нагрузку на команды разработчиков при ручном тестировании.
Вместо создания пользовательских наборов данных для каждой новой функции, используйте предварительно записанные наборы данных при запуске новых функций, которые включают в себя глубину или последние улучшения отслеживания из ARCore.
Совместимость устройств
Для записи данных с помощью API записи и воспроизведения вам понадобится ARCore, но он не потребуется для воспроизведения. Записанные с использованием этой функции MP4-файлы по сути являются видеофайлами с дополнительными данными, которые можно просматривать с помощью любого видеоплеера. Вы можете просмотреть их с помощью Android ExoPlayer или любого совместимого плеера, который может как демультиплексировать MP4-файлы, так и обрабатывать дополнительные данные, добавленные ARCore.
Как записываются видео- и AR-данные для воспроизведения
ARCore сохраняет записанные сеансы в файлы MP4 на целевом устройстве. Эти файлы содержат несколько видеодорожек и другие данные. После сохранения этих сеансов вы можете указать своему приложению использовать эти данные вместо данных с камеры в реальном времени.
Что содержится в записи?
ARCore записывает следующие данные в формате H.264. Вы можете получить к ним доступ на любом видеоплеере, совместимом с MP4 и способном переключать дорожки. Дорожка с самым высоким разрешением находится первой в списке, поскольку некоторые видеоплееры, совместимые с MP4, автоматически воспроизводят первую дорожку в списке, не позволяя вам выбрать, какую видеодорожку воспроизводить.
Основная видеодорожка (дорожка изображения ЦП)
Основной видеофайл записывает окружающую обстановку или сцену для последующего воспроизведения. По умолчанию ARCore записывает изображение 640x480 (VGA), используемое для отслеживания движения, в качестве основного видеопотока.
ARCore не захватывает текстуру графического процессора (высокого разрешения), которая отображается на экране в виде изображения, передаваемого с камеры.
Если вы хотите, чтобы во время воспроизведения был доступен поток изображений высокого разрешения, необходимо настроить камеру , которая предоставляет процессору изображение с требуемым разрешением. В данном случае:
- ARCore запросит как изображение для ЦП с разрешением 640x480 (VGA), необходимое для отслеживания движения, так и изображение высокого разрешения для ЦП, указанное в конфигурации камеры.
- Захват второго потока изображений с центрального процессора может повлиять на производительность приложения, и на разных устройствах это может ощущаться по-разному.
- Во время воспроизведения ARCore будет использовать изображение высокого разрешения, полученное во время записи на центральном процессоре, в качестве текстуры для графического процессора .
- Изображение, полученное с помощью процессора высокого разрешения, станет видеопотоком по умолчанию в записи формата MP4.
Выбранная конфигурация камеры во время записи определяет изображение, обрабатываемое процессором, и основной видеопоток в записи. Если вы не выберете конфигурацию камеры с изображением высокого разрешения, обрабатываемым процессором, это видео будет первой дорожкой в файле и будет воспроизводиться по умолчанию независимо от используемого видеоплеера.
Визуализация карты глубины камеры
Это видеофайл, представляющий собой карту глубины, полученную с помощью аппаратного датчика глубины устройства, например, датчика времени пролета (ToF-датчика), и преобразованную в значения каналов RGB. Это видео предназначено только для предварительного просмотра.
события вызовов API
ARCore записывает измерения с гироскопа и акселерометра устройства. Он также записывает другие данные, некоторые из которых могут быть конфиденциальными:
- версии форматов наборов данных
- версия SDK ARCore
- Google Play Services для версии с дополненной реальностью
- Отпечаток устройства (результат команды
adb shell getprop ro.build.fingerprint) - Дополнительная информация о датчиках, используемых для отслеживания объектов в дополненной реальности.
- При использовании геопространственного API ARCore отображаются предполагаемое местоположение устройства, показания магнитометра и компаса.