Guides spécifiques à la plate-forme
La grande majorité des expériences de réalité augmentée sont en "temps réel". Elles nécessitent que les utilisateurs se trouvent à un endroit et à un moment donnés, avec leur téléphone réglé sur un mode RA spécial et ouvert sur une application de RA. Par exemple, si un utilisateur souhaite voir à quoi ressemble un canapé en RA dans son salon, il doit "placer" le canapé dans l'environnement à l'écran alors qu'il se trouve physiquement dans la pièce.
L'API Recording and Playback supprime cette exigence de "temps réel", ce qui vous permet de créer des expériences de RA pouvant être visionnées n'importe où et n'importe quand. 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 traitera le MP4 comme un flux de session en direct. Vous pouvez toujours utiliser une session d'appareil photo 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 Enregistrement et lecture 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 pour le développement avec l'API Recording and Playback
L'API Enregistrement et lecture é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 sur un site 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 d'y accéder chaque fois que vous souhaitez tester une modification. Il vous suffit d'enregistrer votre visite une fois, puis d'effectuer des itérations et de développer votre application depuis le confort de 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, pour chaque scénario que vous souhaitez tester, vous pouvez enregistrer la vidéo une seule fois et la lire sur plusieurs appareils différents pendant la phase d'itération.
Réduire la charge de test manuel 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 avec des données supplémentaires qui peuvent être visionnés à l'aide de n'importe quel lecteur vidéo. Vous pouvez les inspecter avec l'ExoPlayer d'Android ou tout lecteur compatible capable à la fois de démultiplexer des fichiers MP4 et de 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 d'appareil photo 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 avec le format MP4 qui permet de changer de piste. La piste de la plus haute résolution est la première de la liste, car certains lecteurs vidéo compatibles avec le format MP4 lisent automatiquement la première piste de la liste 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 défaut, ARCore enregistre l'image du processeur 640x480 (VGA) utilisée pour le suivi des mouvements comme flux vidéo principal.
ARCore ne capture pas la texture GPU (haute résolution) affichée à l'écran en tant qu'image de la caméra en mode 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 CPU avec 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, et les différents appareils peuvent être affectés différemment.
- Lors de la lecture, ARCore utilise l'image du processeur haute résolution capturée lors de l'enregistrement comme 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 des capteurs 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 d'ensemble 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