Présentation de l'enregistrement et de la lecture

Guides spécifiques à chaque plate-forme

La grande majorité des expériences en réalité augmentée se déroulent "en temps réel". Elles exigent que les utilisateurs se trouvent à un endroit précis à un moment donné, avec leur téléphone configuré en mode RA spécial et ouvert sur une application de RA. Par exemple, si un utilisateur souhaite voir à quoi ressemble un canapé en réalité augmentée dans son salon, il doit « placer » le canapé dans l'environnement à l'écran pendant qu'il se trouve physiquement dans la chambre.

L'API Recording and Playback ne répond pas à cette exigence de « temps réel », ce qui vous permet de créer des expériences de RA qui peuvent être visualisées n'importe où et à tout moment. L'API Recording stocke dans un fichier MP4 le flux vidéo d'une caméra, les données de l'IMU ou toute autre métadonnée personnalisée que vous choisissez d'enregistrer. Vous pouvez ensuite transmettre ces vidéos enregistrées à ARCore via l'API Playback, qui traite le fichier MP4 comme un flux de session en direct. Vous pouvez toujours utiliser une session de caméra en direct, mais avec cette nouvelle API, vos applications de RA peuvent choisir d'utiliser un fichier MP4 préenregistré au lieu de cette session en direct.

Les utilisateurs finaux peuvent également profiter de cette fonctionnalité. Où qu'ils se trouvent, ils peuvent extraire de leur galerie native n'importe quelle vidéo enregistrée avec l'API Recording and Playback, et modifier ou lire des objets, des effets et des filtres en RA. Grâce à cette fonctionnalité, les utilisateurs peuvent faire leurs achats en RA dans un train pour se rendre au bureau ou en se prélassant dans leur lit.

Cas d'utilisation du développement avec l'API Recording and Playback

L'API Recording and Playback élimine les contraintes de temps et d'espace liées à la création d'applications de RA. Voici quelques façons de l'utiliser dans vos propres projets.

Enregistrez une fois pour tester n'importe où

Au lieu de vous rendre physiquement à un endroit chaque fois que vous devez tester une fonctionnalité de RA, vous pouvez enregistrer une vidéo à l'aide de l'API Recording, puis la lire sur n'importe quel appareil compatible. Vous créez une expérience dans un centre commercial ? Vous n'avez pas besoin de vous y rendre chaque fois que vous souhaitez tester une modification. Enregistrez votre visite une fois, puis itérez et développez votre programme sans quitter votre bureau.

Réduire le temps d'itération

Au lieu d'avoir à enregistrer une vidéo pour chaque appareil Android que vous souhaitez prendre en charge, vous pouvez enregistrer la vidéo une seule fois et la lire sur plusieurs appareils différents au cours de la phase d'itération pour chaque scénario que vous souhaitez tester.

Réduire la charge de test manuelle des équipes de développement

Au lieu de créer des ensembles de données personnalisés pour chaque nouvelle fonctionnalité, exploitez des ensembles de données préenregistrés tout en lançant de nouvelles fonctionnalités qui intègrent de la profondeur ou les dernières améliorations de suivi d'ARCore.

Compatibilité avec les appareils

Vous aurez besoin d'ARCore pour enregistrer des données avec l'API Recording and Playback, mais vous n'en aurez pas besoin pour les lire. Les fichiers MP4 enregistrés à l'aide de cette fonctionnalité sont essentiellement des fichiers vidéo contenant des données supplémentaires, qui peuvent être visionnés à l'aide de n'importe quel lecteur vidéo. Vous pouvez les inspecter avec ExoPlayer d'Android ou avec tout lecteur compatible pouvant à la fois démux MP4 et gérer les données supplémentaires ajoutées par ARCore.

Comment les données vidéo et de RA sont enregistrées pour la lecture

ARCore enregistre les sessions enregistrées dans des fichiers MP4 sur l'appareil cible. Ces fichiers contiennent plusieurs pistes vidéo et d'autres données diverses. Une fois ces sessions enregistrées, vous pouvez indiquer à votre application d'utiliser ces données à la place d'une session de caméra en direct.

Que contient un enregistrement ?

ARCore capture les données suivantes dans une vidéo H.264. Vous pouvez y accéder sur n'importe quel lecteur vidéo compatible MP4 qui permet de changer de titre. La piste dont la résolution est la plus élevée est la première de la liste, car certains lecteurs vidéo compatibles MP4 lisent automatiquement la première piste sans vous permettre de choisir la piste vidéo à lire.

Piste vidéo principale (piste d'image du processeur)

Le fichier vidéo principal enregistre l'environnement ou la scène pour une lecture ultérieure. Par par défaut, ARCore enregistre l'image du processeur 640 x 480 (VGA) utilisée pour suivi du mouvement comme vidéo principale flux.

ARCore ne capture pas la texture GPU (haute résolution) affichée sur l'écran en tant qu'image de caméra passthrough.

Si vous souhaitez qu'un flux d'images haute résolution soit disponible pendant la lecture, Vous devez configurer une caméra qui fournit une image du processeur. ayant la résolution souhaitée. Dans ce cas :

  • ARCore demandera à la fois l'image de processeur 640 x 480 (VGA) dont elle a besoin pour le suivi du mouvement et l'image haute résolution du processeur spécifiée par le configuration de la caméra.
  • La capture du deuxième flux d'images du processeur peut affecter les performances de l'application. différents appareils peuvent être affectés différemment.
  • Pendant la lecture, ARCore utilisera l'image haute résolution du processeur capturées lors de l'enregistrement en tant que texture GPU lors de la lecture.
  • L'image haute résolution du processeur devient le flux vidéo par défaut dans Enregistrement MP4

La configuration de caméra sélectionnée lors de l'enregistrement détermine l'image du processeur et le flux vidéo principal de l'enregistrement. Si vous ne sélectionnez pas de configuration de caméra avec une image de processeur haute résolution, cette vidéo sera la première piste du fichier et sera lue par défaut, quel que soit le lecteur vidéo utilisé.

Visualisation de la carte de profondeur de l'appareil photo

Il s'agit d'un fichier vidéo représentant la carte de profondeur de la caméra, enregistré à partir du capteur de profondeur matériel de l'appareil (par exemple, un capteur de temps de vol) et converti en valeurs de canaux RVB. Cette vidéo ne doit être utilisée qu'à des fins d'aperçu.

Événements d'appel d'API

ARCore enregistre les mesures du gyroscope et de l'accéléromètre de l'appareil. Il enregistre également d'autres données, dont certaines peuvent être sensibles:

  • Versions du format des ensembles de données
  • Version du SDK ARCore
  • Services Google Play pour la version RA
  • Empreinte de l'appareil (sortie de adb shell getprop ro.build.fingerprint)
  • Informations supplémentaires sur les capteurs utilisés pour le suivi de la RA
  • Lorsque vous utilisez l'API ARCore Geospatial, la position estimée de l'appareil, les relevés du magnétomètre et de la boussole