Introducción a la grabación y reproducción

Guías específicas para plataformas

La gran mayoría de las experiencias de realidad aumentada son "en tiempo real". Requieren que los usuarios estén en un lugar determinado a una hora determinada, con el teléfono configurado en un modo especial de RA y abierto en una app de RA. Por ejemplo, si un usuario quisiera ver cómo se ve un sofá con RA en su sala de estar, debería “colocar” el sofá en el entorno en pantalla mientras se encuentra físicamente en la habitación.

La API de grabación y reproducción elimina este requisito de "tiempo real", lo que te permite crear experiencias de RA que se pueden ver en cualquier lugar y momento. La API de grabación almacena la transmisión de video por Internet, los datos de IMU o cualquier otro metadato personalizado que elijas para guardar en un archivo MP4. Luego, puedes enviar estos videos grabados a ARCore a través de la API de Playback, que tratará la MP4 como un feed de sesión en vivo. Aún puedes usar una sesión de cámara en vivo, pero con esta nueva API, tus aplicaciones de RA pueden optar por usar un archivo MP4 pregrabado en lugar de esa sesión en vivo.

Los usuarios finales también pueden aprovechar esta función. Sin importar en dónde se encuentren en la vida real, pueden buscar cualquier video grabado con la API de Recording y Playback de su galería nativa y editar o reproducir objetos, efectos y filtros de RA. Con esta función, los usuarios pueden hacer sus compras con RA mientras viajan en un tren a la oficina o en la cama descansando.

Casos de uso para desarrollar con la API de Grabación y Reproducción

La API de grabación y reproducción quita las restricciones de tiempo y espacio de la compilación de apps de RA. Estas son algunas formas en que puedes usarlo en tus propios proyectos.

Graba una vez y pruébala en cualquier lugar

En lugar de ir físicamente a una ubicación cada vez que necesites probar una función de RA, puedes grabar un video con la API de Grabación y, luego, reproducirlo con cualquier dispositivo compatible. ¿Deseas crear una experiencia en un centro comercial? No es necesario ir allí cada vez que quieras probar un cambio. Simplemente registra tu visita una vez y, luego, itera y desarrolla desde la comodidad de tu escritorio.

Reduce el tiempo de iteración

En lugar de tener que grabar un video para cada dispositivo Android que quieras admitir, para cada situación que quieras probar, puedes grabar el video una vez y reproducirlo en varios dispositivos diferentes durante la fase de iteración.

Reduce la carga de las pruebas manuales entre los equipos de desarrollo

En lugar de crear conjuntos de datos personalizados para cada función nueva, aprovecha los conjuntos de datos pregrabados cuando lances funciones nuevas que incorporen profundidad o las mejoras de seguimiento más recientes de ARCore.

Compatibilidad con dispositivos

Necesitarás ARCore para grabar datos con la API de grabación y reproducción, pero no lo necesitarás para reproducir contenido. Los archivos MP4 grabados con esta función son, básicamente, archivos de video con datos adicionales que se pueden reproducir con cualquier reproductor de video. Puedes inspeccionarlos con ExoPlayer de Android o con cualquier reproductor compatible que pueda decodificar MP4 y administrar los datos adicionales que agregó ARCore.

Cómo se graban los datos de video y de RA para su reproducción

ARCore guarda las sesiones grabadas en archivos MP4 en el dispositivo de destino. Estos archivos contienen varias pistas de video y otros datos diversos. Una vez que se guarden estas sesiones, podrás indicarle a tu app que use estos datos en lugar de una sesión de cámara en vivo.

¿Qué contiene una grabación?

ARCore captura los siguientes datos en video H.264. Puedes acceder a él en cualquier reproductor de video compatible con MP4 que pueda cambiar de pista. La pista con la resolución más alta es la primera en la lista, ya que algunos reproductores de video compatibles con MP4 reproducen automáticamente la primera pista de la lista sin permitirte elegir qué pista de video reproducir.

Pista de video principal (pista de imagen de CPU)

El archivo de video principal graba el entorno o la escena para su reproducción posterior. De de forma predeterminada, ARCore registra la imagen de CPU de 640x480 (VGA) que se usa para seguimiento de movimiento como video principal. en tiempo real.

ARCore no captura la textura de GPU (de alta resolución) en la que se renderiza la pantalla como imagen de cámara de transferencia.

Si deseas que esté disponible una secuencia de imágenes de alta resolución durante la reproducción, puedes debes configurar una cámara que proporcione una imagen de CPU que tenga la resolución deseada. En este caso, ocurre lo siguiente:

  • ARCore solicitará la imagen de CPU de 640 x 480 (VGA) que requiere para el seguimiento de movimiento y la imagen de alta resolución de la CPU especificada por la configuración configuración de la cámara.
  • Capturar la segunda transmisión de imágenes de la CPU puede afectar el rendimiento de la app. los diferentes dispositivos pueden verse afectados de manera diferente.
  • Durante la reproducción, ARCore usará la imagen de alta resolución de la CPU que se capturada durante la grabación como la textura de GPU durante la reproducción.
  • La imagen de alta resolución de la CPU se convertirá en la transmisión de video por defecto en la Grabación MP4

La configuración de cámara seleccionada durante la grabación determina la imagen de la CPU y la transmisión de video principal en la grabación. Si no seleccionas una configuración de cámara con una imagen de CPU de alta resolución, este video será la primera pista del archivo y se reproducirá de forma predeterminada, independientemente del reproductor de video que uses.

Visualización del mapa de profundidad de la cámara

Es un archivo de video que representa el mapa de profundidad de la cámara, grabado con el sensor de profundidad de hardware del dispositivo, como un sensor de tiempo de vuelo (o sensor ToF), y convertido a valores de canal RGB. Este video solo debe usarse con fines de vista previa.

Eventos de llamada a la API

ARCore registra mediciones de los sensores de girómetro y acelerómetro del dispositivo. También registra otros datos, algunos de los cuales pueden ser sensibles:

  • Versiones en formato del conjunto de datos
  • Versión del SDK de ARCore
  • Servicios de Google Play para RA versión
  • Huella digital del dispositivo (el resultado de adb shell getprop ro.build.fingerprint)
  • Información adicional sobre los sensores que se usan para el seguimiento de RA
  • Cuando usas la API de ARCore Geospatial, la ubicación aproximada del dispositivo, las lecturas del magnetómetro y las lecturas de la brújula