Introduzione a registrazione e riproduzione

Guide specifiche per la piattaforma

La maggior parte delle esperienze di realtà aumentata è "in tempo reale". Richiedono agli utenti di trovarsi in un determinato luogo e in un determinato momento con il telefono impostato in una modalità AR speciale e aperto a un'app AR. Ad esempio, se un utente volesse vedere come appare un divano AR nel proprio salotto, dovrebbe "posizionarlo" nell'ambiente sullo schermo mentre si trova fisicamente nella stanza.

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

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 AR, effetti e filtri. Grazie a questa funzionalità, gli utenti possono fare acquisti con l'AR mentre sono in treno per andare in ufficio o a letto rilassandosi.

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

L'API Recording and Riproduzione rimuove i vincoli di tempo e spazio necessari per la creazione di app AR. Ecco alcuni modi in cui puoi utilizzarlo nei tuoi progetti.

Registra una sola volta, esegui test ovunque

Invece di recarti fisicamente in un luogo ogni volta che devi testare una funzionalità AR, puoi registrare un video utilizzando l'API Recording e quindi riprodurlo utilizzando qualsiasi dispositivo compatibile. Vuoi creare un'esperienza in un centro commerciale? Non è necessario visitarlo ogni volta che vuoi testare una modifica. Basta registrare la tua visita una volta e poi ripeterla e svilupparla comodamente dalla tua scrivania.

Riduci il tempo di iterazione

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

Riduci l'onere dei test manuali tra i team di sviluppo

Anziché creare set di dati personalizzati per ogni nuova funzionalità, sfrutta i set di dati preregistrati e lancia al contempo nuove funzionalità che incorporano la profondità o gli ultimi miglioramenti del monitoraggio apportati da ARCore.

Compatibilità del dispositivo

Avrai bisogno di ARCore per registrare i dati con l'API Recording and Riproduzione, ma non è necessario per riprodurre i contenuti. Gli MP4 registrati con questa funzione sono essenzialmente file video con dati aggiuntivi che possono essere visualizzati utilizzando qualsiasi video player. Puoi controllarli con l'ExoPlayer di Android o con qualsiasi lettore compatibile che sia in grado di demuxare gli MP4 e di 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 l'app per utilizzare questi dati al posto di una sessione di videocamera in diretta.

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 dell'elenco perché alcuni video player compatibili con il formato MP4 riprodurranno automaticamente la prima traccia senza consentirti di scegliere quale brano video riprodurre.

Traccia video principale (traccia immagine CPU)

Il file video principale registra l'ambiente o la scena per riprodurli in un secondo momento. Di predefinita, ARCore registra l'immagine della CPU 640x480 (VGA) utilizzata per monitoraggio del movimento come video principale flusso di dati.

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

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

  • ARCore richiederà sia l'immagine CPU 640x480 (VGA) richiesta per il rilevamento del movimento e l'immagine CPU ad alta risoluzione specificata configurazione della videocamera.
  • L'acquisizione del secondo stream di immagini della CPU potrebbe influire sulle prestazioni dell'app. dispositivi diversi potrebbero essere interessati in modo diverso.
  • Durante la riproduzione, ARCore utilizzerà l'immagine della CPU ad alta risoluzione che era acquisiti durante la registrazione come texture GPU durante la riproduzione.
  • L'immagine CPU ad alta risoluzione diventerà lo stream video predefinito nella Registrazione MP4.

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

Visualizzazione mappa di profondità della fotocamera

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

Eventi di chiamata API

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

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