Introduzione a registrazione e riproduzione

Guide specifiche per piattaforma

La stragrande maggioranza delle esperienze di realtà aumentata è "in tempo reale". Richiedono agli utenti di trovarsi in un determinato luogo a una determinata ora, con lo smartphone impostato in una modalità AR speciale e aperto a un'app AR. Ad esempio, se un utente volesse vedere l'aspetto di un divano AR nel suo soggiorno, dovrebbe "posizionarlo" 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 di sessione live. Puoi comunque utilizzare una sessione della videocamera in tempo reale, ma con questa nuova API le tue applicazioni AR possono scegliere di utilizzare un MP4 preregistrato anziché la sessione in tempo reale.

Anche gli utenti finali possono usufruire di questa funzionalità. Indipendentemente da dove si trovino nella vita reale, possono aprire 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 in AR mentre sono in treno per andare in ufficio o a letto.

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

L'API Registrazione e riproduzione elimina i vincoli di tempo e spazio per la creazione di app AR. Ecco alcuni modi in cui puoi utilizzarlo nei tuoi progetti.

Registra una volta, esegui il 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 su qualsiasi dispositivo compatibile. Stai creando un'esperienza in un centro commerciale? Non è necessario accedervi ogni volta che vuoi testare una modifica. Ti basta registrare la visita una sola volta, poi puoi perfezionarla e svilupparla comodamente dalla tua scrivania.

Ridurre i tempi di iterazione

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

Ridurre il carico di test manuali nei team di sviluppo

Invece di creare set di dati personalizzati per ogni nuova funzionalità, utilizza set di dati preregistrati durante il lancio di nuove funzionalità che incorporano la profondità o i più recenti miglioramenti del monitoraggio di ARCore.

Compatibilità dei dispositivi

Avrai bisogno di ARCore per registrare i dati con l'API Recording and Playback, ma non per riprodurli. Gli 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 di demuxare i file 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, puoi indicare all'app di utilizzare questi dati al posto di una sessione della videocamera in diretta.

Che cosa contiene una registrazione?

ARCore acquisisce i seguenti dati nel video H.264. Puoi accedervi su qualsiasi video player compatibile con MP4 in grado di cambiare traccia. La traccia con la risoluzione più alta è la prima nell'elenco perché alcuni lettori video compatibili con MP4 riproducono automaticamente la prima traccia dell'elenco 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. Per impostazione predefinita, ARCore registra l'immagine della CPU 640x480 (VGA) utilizzata per il rilevamento del movimento come stream video principale.

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

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

  • ARCore richiederà sia l'immagine della CPU 640x480 (VGA) necessaria per il rilevamento del movimento sia l'immagine della CPU ad alta risoluzione specificata dalla configurazione della videocamera configurata.
  • L'acquisizione del secondo flusso di immagini della CPU potrebbe influire sulle prestazioni dell'app e 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 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 che utilizzi.

Visualizzazione della mappa di profondità della videocamera

Si tratta di un file video che rappresenta la mappa di profondità della videocamera, registrata dal sensore di profondità hardware del dispositivo, ad esempio un sensore Time-of-Flight (o sensore ToF), e convertita in valori del canale RGB. Questo video deve essere utilizzato solo a scopo di anteprima.

Eventi di chiamata API

ARCore registra le misurazioni 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 dell'SDK ARCore
  • Versione di Google Play Services per AR
  • Impronta dispositivo (l'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 della bussola