Introduzione a registrazione e riproduzione

Guide specifiche per piattaforma

La stragrande maggioranza delle esperienze di realtà aumentata è "in tempo reale". Gli utenti devono trovarsi in un determinato posto in un determinato momento, con il telefono impostato in una modalità AR speciale e aperto con un'app AR. Ad esempio, se un utente vuole vedere come appare un divano AR nel salotto, dovrebbe "posizionare" il divano nell'ambiente sullo schermo mentre è fisicamente nella stanza.

L'API Recording and Playback elimina questo requisito "in tempo reale", consentendo di creare esperienze AR che possono essere visualizzate ovunque e in qualsiasi momento. L'API Recording archivia lo stream video di una videocamera, i dati IMU o qualsiasi altro metadati personalizzato che scegli di salvare in un file MP4. Puoi quindi inviare questi video registrati ad ARCore tramite l'API Playback, che tratterà l'MP4 come un feed di una sessione dal vivo. Puoi comunque usare una sessione in diretta della videocamera, ma con questa nuova API le tue applicazioni AR possono scegliere di utilizzare un MP4 preregistrato al posto della sessione dal vivo.

Anche gli utenti finali possono usufruire di questa funzionalità. Indipendentemente da dove si trovino nella vita reale, possono recuperare qualsiasi video registrato con l'API Recording and Playback dalla loro galleria nativa e modificare o riprodurre oggetti, effetti e filtri AR. Con questa funzionalità, gli utenti possono fare acquisti in AR mentre si recano in treno o si rilassano a letto.

Casi d'uso per lo sviluppo con l'API Recording and Playback

L'API Recording and Playback elimina i vincoli di spazio e tempo associati alla creazione di app AR. Ecco alcuni modi in cui puoi utilizzarlo nei tuoi progetti.

Registra una volta, prova ovunque

Anziché recarti fisicamente in un luogo ogni volta che devi testare una funzionalità AR, puoi registrare un video utilizzando l'API Recording e poi riprodurlo utilizzando qualsiasi dispositivo compatibile. Vuoi creare un'esperienza in un centro commerciale? Non è necessario andare lì ogni volta che vuoi testare una modifica. Registra semplicemente la tua visita una volta e poi ripetila e sviluppala comodamente dalla tua scrivania.

Ridurre il tempo di iterazione

Anziché registrare un video per ogni singolo dispositivo Android che vuoi supportare, per ogni singolo scenario che vuoi testare puoi registrare il video una sola volta e riprodurlo su più dispositivi durante la fase di iterazione.

Riduci il carico di test manuale tra i team di sviluppo

Anziché creare set di dati personalizzati per ogni nuova funzionalità, sfrutta i set di dati pre-registrati e lancia nuove funzionalità che incorporano la profondità o gli ultimi miglioramenti del monitoraggio di ARCore.

Compatibilità dei dispositivi

ARCore ti servirà per registrare i dati con l'API Recording and Playback, ma non per riprodurre i contenuti. Gli MP4 registrati utilizzando questa funzione sono essenzialmente file video con dati extra che possono essere visualizzati utilizzando qualsiasi video player. Puoi controllarli con ExoPlayer di Android o con qualsiasi lettore compatibile in grado di decodificare gli MP4 e gestire i dati aggiuntivi aggiunti da ARCore.

Come vengono registrati i dati video e AR per la riproduzione

ARCore salva le sessioni registrate in file MP4 sul dispositivo di destinazione. Questi file contengono più tracce video e altri dati vari. Una volta salvate queste sessioni, puoi puntare la tua app in modo che utilizzi questi dati al posto di una sessione in diretta della videocamera.

Contenuti di una registrazione

ARCore acquisisce i seguenti dati nel video H.264. Puoi accedervi da qualsiasi video player compatibile con MP4 in grado di cambiare brano. La traccia con la risoluzione più alta è la prima nell'elenco perché alcuni video player compatibili con MP4 riproducono automaticamente la prima traccia dell'elenco senza consentirti di scegliere la traccia video da riprodurre.

Traccia video principale (traccia immagine CPU)

Il file video principale registra l'ambiente o la scena per riprodurlo in un secondo momento. Per impostazione predefinita, ARCore registra l'immagine della CPU 640 x 480 (VGA) utilizzata per il monitoraggio del movimento come stream video principale.

ARCore non acquisisce la texture GPU (ad alta risoluzione) visualizzata sullo schermo come immagine della fotocamera passthrough.

Se vuoi che durante la riproduzione sia disponibile uno stream di immagini ad alta risoluzione, devi configurare una videocamera che fornisca un'immagine della CPU con la risoluzione desiderata. In questo caso:

  • ARCore richiederà sia l'immagine della CPU 640 x 480 (VGA) necessaria per il tracciamento del movimento, sia l'immagine ad alta risoluzione della CPU specificata dalla configurazione della videocamera configurata.
  • L'acquisizione del secondo stream di immagini della CPU può influire sulle prestazioni dell'app e i diversi dispositivi possono essere influenzati in modo diverso.
  • Durante la riproduzione, ARCore utilizzerà l'immagine ad alta risoluzione della CPU acquisita durante la registrazione come texture GPU durante la riproduzione.
  • L'immagine della CPU ad alta risoluzione diventerà lo stream video predefinito nella registrazione MP4.

La configurazione della videocamera selezionata durante la registrazione determina l'immagine della CPU e lo stream video principale nella registrazione. Se non selezioni una configurazione della videocamera con un'immagine della CPU ad alta risoluzione, questo video sarà la prima traccia del file e verrà riprodotto per impostazione predefinita, indipendentemente dal video player in uso.

Visualizzazione mappa di profondità della fotocamera

Si tratta di un file video che rappresenta la mappa di profondità della fotocamera, registrato dal sensore di profondità hardware del dispositivo, ad esempio un sensore del tempo di volo (o sensore ToF), e convertito in valori di canale RGB. Questo video deve essere utilizzato solo per l'anteprima.

Eventi di chiamata API

ARCore registra le misurazioni dai sensori dell'accelerometro e del girometro del dispositivo. Registra anche altri dati, alcuni dei quali potrebbero essere sensibili:

  • Versioni formato set di dati
  • Versione SDK ARCore
  • Google Play Services per la versione AR
  • Fingerprint del dispositivo (output di adb shell getprop ro.build.fingerprint)
  • Informazioni aggiuntive sui sensori utilizzati per il monitoraggio AR
  • Se utilizzi l'API ARCore Geospatial, la posizione stimata del dispositivo, le letture del magnetometro e le letture della bussola