Запись файлов EIF и их использование для симуляции
Файлы EIF (EasyAR Input Frame file) — это формат файлов, используемый EasyAR Sense для хранения последовательности данных входных кадров. В этой статье описывается, как записывать файлы EIF и использовать их для симуляции.
Файлы EIF и их содержимое
В зависимости от способа записи, существуют две реализации файлов EIF:
Оригинальный формат EIF (обычно с расширением .eif)
Оригинальный файл EIF хранит данные входных кадров покадрово, используя внутреннюю структуру данных EasyAR, включая изображения и дополнительную информацию (например, параметры камеры и состояние трекинга). Этот формат не использует сжатие видео, а кодирует изображения покадрово (например, данные изображения JPEG), что обеспечивает точное воспроизведение.
Формат EIF MKV (обычно с расширением .mkveif)
Видеоформат на основе контейнера MKV, в который кодируется информация о входных кадрах. Видеокодирование использует H.264 для сжатия данных изображения, сохраняя при этом другие метаданные входных кадров (например, данные датчиков IMU, данные позиционирования) в виде потоков или дополнительных дорожек. Это значительно уменьшает размер файла и упрощает обработку стандартными видеопотоками.
Примечание
Формат EIF MKV в настоящее время поддерживает запись только на Android/iOS/macOS/visionOS и воспроизведение на Windows/macOS. Оригинальный формат EIF не имеет этих ограничений.
Запись и воспроизведение EIF
EasyAR предоставляет комплексный механизм записи и воспроизведения, управляемый в основном следующими компонентами:
InputFrameRecorder / InputFramePlayer
Назначение
Компоненты записи и воспроизведения для оригинального формата EIF.
Особенности
Во время записи все поступающие входные кадры сериализуются и сохраняются, включая изображения, параметры, состояние трекинга и т.д.
VideoInputFrameRecorder / VideoInputFramePlayer
Назначение
Компоненты записи и воспроизведения для формата EIF MKV.
Особенности
При записи поддерживается больше потоков данных с датчиков (например, гироскоп, акселерометр, данные позиционирования), которые упаковываются в файл EIF MKV. На стороне воспроизведения можно выводить эти данные, что позволяет на ПК полностью симулировать различные входные данные, записанные во время записи.
Принцип симуляции с использованием EIF и достигаемые результаты
Использование записанного файла EIF в качестве источника входных данных эквивалентно "повторному воспроизведению" полного потока данных физической камеры и связанных с ней датчиков во время выполнения для AR-движка. Путем симуляции последовательности входных кадров:
AR-движок считает, что он по-прежнему получает данные с физической камеры.
Каждый воспроизводимый кадр имеет оригинальную временную метку, параметры камеры и состояние трекинга, заставляя алгоритмы обрабатывать эти кадры так же, как и данные в реальном времени.
Можно воспроизвести поведение реального выполнения в среде без устройства (например, на ПК или в редакторе Unity).
Это позволяет отлаживать функции визуального трекинга, пространственных карт и т.д. без физического устройства, симулировать выполнение таких функций, как Mega, на Windows/Mac.
Результаты, достигаемые при симуляции с использованием EIF:
Воспроизведение реального процесса потока данных. Даже без камеры можно управлять AR-функциями (такими как отслеживание плоских изображений, пространственное позиционирование, генерация плотных карт) так же, как при реальном выполнении.
Упрощение разработки, отладки и диагностики. Записанные файлы EIF можно использовать для анализа причин сбоев трекинга, проверки поведения AR-алгоритмов на определенных входных данных или колебаний производительности.
Кросс-платформенное воспроизведение. Передача файлов EIF между разными платформами позволяет воспроизвести поведение AR-сессии, записанной на смартфоне, на ПК, отлаживая без необходимости в устройстве.
Следующие шаги
Платформенные руководства
Запись файлов EIF и их использование для симуляции тесно связано с платформой. Пожалуйста, обратитесь к следующим руководствам для разработки в зависимости от вашей целевой платформы: