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 le flux vidéo d'une caméra, les données IMU ou toute autre métadonnées personnalisées que vous choisissez d'enregistrer dans un fichier MP4. 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'il se trouve, il peut afficher n'importe quelle vidéo enregistrée avec l'API Recording and Playback depuis sa galerie native, et y ajouter ou y lire des objets, des effets et des filtres de RA. Grâce à cette fonctionnalité, les utilisateurs peuvent faire leurs achats en RA lorsqu'ils se rendent au travail en train ou lorsqu'ils sont allongés 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.

Enregistrer une fois, tester partout

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. Créez-vous 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 des tests manuels pour les é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 lorsque vous lancez de nouvelles fonctionnalités intégrant 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 AR 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 permettant 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 demande à la fois l'image du processeur 640x480 (VGA) dont il a besoin pour le suivi des mouvements et l'image du processeur haute résolution spécifiée par la configuration de la caméra configurée.
  • 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 du processeur haute résolution deviendra le flux vidéo par défaut de l'enregistrement MP4.

La configuration de la 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 du 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 que vous utilisez.

Visualisation de la carte de profondeur de la caméra

Il s'agit d'un fichier vidéo représentant la carte de profondeur de l'appareil photo, enregistrée à partir du capteur de profondeur matériel de l'appareil, tel qu'un capteur de temps de vol (ou capteur ToF), et convertie en valeurs de canal 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
  • Version des Services Google Play pour la 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, l'emplacement estimé de l'appareil, les lectures du magnétomètre et les lectures de la boussole