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 in un determinato momento, con lo smartphone impostato su una modalità AR speciale e aperto su un'app AR. Ad esempio, se un utente volesse vedere come appare un divano AR nel suo soggiorno, dovrebbe "posizionare" il divano nell'ambiente sullo schermo mentre si trova fisicamente nella stanza.

L'API Recording and Playback elimina questo requisito "in 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 Playback, che tratterà il file MP4 come un feed della sessione in tempo reale. Puoi comunque utilizzare una sessione della videocamera in tempo reale, ma con questa nuova API le tue applicazioni AR possono scegliere di utilizzare un file MP4 preregistrato anziché la sessione in tempo reale.

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

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

L'API Registrazione e riproduzione rimuove i vincoli di tempo e spazio 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 riprodurlo utilizzando qualsiasi dispositivo compatibile. Vuoi creare un'esperienza in un centro commerciale? Non è necessario accedere ogni volta che vuoi testare una modifica. Registra la visita una volta, poi esegui l'iterazione e lo sviluppo comodamente dalla tua scrivania.

Riduci il tempo di iterazione

Invece di dover registrare un video per ogni singolo dispositivo Android che vuoi 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à dei dispositivi

ARCore è necessario per registrare i dati con l'API di registrazione e riproduzione, ma non per la riproduzione. I file MP4 registrati utilizzando questa funzionalità sono essenzialmente file video con dati aggiuntivi che possono essere visualizzati utilizzando qualsiasi video player. Puoi esaminarli con ExoPlayer di Android o con qualsiasi player compatibile in grado sia di demuxare i file MP4 sia 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 misti. Una volta salvate queste sessioni, puoi indicare alla tua app di utilizzare questi dati al posto di una sessione della videocamera in tempo reale.

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 traccia video riprodurre.

Traccia video principale (traccia immagine CPU)

Il file video principale registra l'ambiente o la scena per la riproduzione successiva. 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 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 fotocamera che fornisca un'immagine CPU con 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 acquisita durante la registrazione come texture della GPU.
  • 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 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 della mappa di profondità della fotocamera

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

Eventi di chiamata API

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

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