Introdução à gravação e reprodução

Guias específicos para cada plataforma

A grande maioria das experiências de realidade aumentada são "em tempo real". Elas exigem que os usuários estejam em um determinado lugar em um determinado momento, com o smartphone configurado em um modo de RA especial e aberto para um app de RA. Por exemplo, se um usuário quiser ver como um sofá de RA fica na sala de estar, ele terá que "colocar" o sofá no ambiente na tela enquanto estiver fisicamente no cômodo.

A API Recording and Playback elimina esse requisito de "tempo real", permitindo que você crie experiências de RA que podem ser visualizadas em qualquer lugar e a qualquer momento. A API Recording armazena o stream de vídeo de uma câmera, dados de IMU ou qualquer outro metadado personalizado que você salvar em um arquivo MP4. Em seguida, você pode alimentar esses vídeos gravados no ARCore usando a API Playback, que vai tratar o MP4 como um feed de sessão ao vivo. Você ainda pode usar uma sessão de câmera ao vivo, mas com essa nova API, seus aplicativos de RA podem usar um MP4 pré-gravado em vez da sessão ao vivo.

Os usuários finais também podem aproveitar esse recurso. Não importa onde estejam, eles podem acessar qualquer vídeo gravado com a API Recording and Playback na galeria nativa e editar ou reproduzir objetos, efeitos e filtros de RA. Com esse recurso, os usuários podem fazer compras em RA enquanto estão no trem a caminho do escritório ou relaxando na cama.

Casos de uso para desenvolvimento com a API Recording and Playback

A API Recording and Playback remove as restrições de tempo e espaço da criação de apps de RA. Confira algumas maneiras de usar o recurso nos seus projetos.

Grave uma vez e teste em qualquer lugar

Em vez de ir fisicamente a um local sempre que precisar testar um recurso de RA, você pode gravar um vídeo usando a API Recording e reproduzi-lo em qualquer dispositivo compatível. Criando uma experiência em um shopping center? Você não precisa acessar essa página sempre que quiser testar uma mudança. Basta gravar sua visita uma vez e iterar e desenvolver a partir do conforto de sua própria mesa.

Reduzir o tempo de iteração

Em vez de gravar um vídeo para cada dispositivo Android que você quer oferecer suporte, para cada cenário que você quer testar, é possível gravar o vídeo uma vez e reproduzi-lo em vários dispositivos diferentes durante a fase de iteração.

Reduzir a carga de testes manuais nas equipes de desenvolvimento

Em vez de criar conjuntos de dados personalizados para cada novo recurso, aproveite os conjuntos de dados pré-gravados ao lançar novos recursos que incorporam profundidade ou as melhorias de rastreamento mais recentes do ARCore.

Compatibilidade do dispositivo

Você vai precisar do ARCore para gravar dados com a API Recording and Playback, mas não vai precisar dele para reproduzir. Os MP4s gravados com esse recurso são basicamente arquivos de vídeo com dados extras que podem ser visualizados usando qualquer player de vídeo. É possível inspecionar esses arquivos com o ExoPlayer do Android ou qualquer player compatível que possa demuxar MP4s e gerenciar os dados adicionais adicionados pelo ARCore.

Como os dados de vídeo e RA são gravados para reprodução

O ARCore salva sessões gravadas em arquivos MP4 no dispositivo de destino. Esses arquivos contêm várias faixas de vídeo e outros dados diversos. Depois que essas sessões forem salvas, você poderá indicar ao app que use esses dados em vez de uma sessão de câmera ao vivo.

O que uma gravação contém?

O ARCore captura os seguintes dados no vídeo H.264. Você pode acessá-lo em qualquer player de vídeo compatível com MP4 capaz de trocar de faixa. A faixa de maior resolução é a primeira da lista porque alguns leitores de vídeo compatíveis com MP4 reproduzem automaticamente a primeira faixa da lista sem permitir que você escolha qual faixa de vídeo reproduzir.

Faixa de vídeo principal (faixa de imagem da CPU)

O arquivo de vídeo principal grava o ambiente ou a cena para reprodução posterior. De padrão, o ARCore registra a imagem de CPU de 640 x 480 (VGA) usada para rastreamento de movimento como o vídeo principal. riacho.

O ARCore não captura a textura da GPU (alta resolução) renderizada na tela como a imagem da câmera de passagem.

Se você quiser que um stream de imagem em alta resolução esteja disponível durante a reprodução, configure uma câmera que forneça uma imagem de CPU com a resolução desejada. Nesse caso:

  • O ARCore solicitará a imagem de CPU de 640 x 480 (VGA) exigida para o rastreamento de movimento e a imagem de CPU de alta resolução especificada pelo configuração da câmera.
  • A captura do segundo stream de imagem da CPU pode afetar o desempenho do app. dispositivos diferentes podem ser afetados de maneira distinta.
  • Durante a reprodução, o ARCore vai usar a imagem de CPU de alta resolução que foi capturada durante a gravação como a textura da GPU durante a reprodução.
  • A imagem da CPU de alta resolução vai se tornar o stream de vídeo padrão na gravação MP4.

A configuração da câmera selecionada durante a gravação determina a imagem da CPU e a transmissão de vídeo principal na gravação. Se você não selecionar uma configuração de câmera com uma imagem de CPU de alta resolução, esse vídeo será a primeira faixa do arquivo e será reproduzido por padrão, independentemente do player de vídeo usado.

Visualização do mapa de profundidade da câmera

Esse é um arquivo de vídeo que representa o mapa de profundidade da câmera, gravado pelo sensor de profundidade do hardware do dispositivo, como um sensor de tempo de voo (ou sensor ToF), e convertido em valores de canal RGB. Este vídeo deve ser usado apenas para fins de visualização.

Eventos de chamada de API

O ARCore registra medições dos sensores de giroscópio e acelerômetro do dispositivo. Ele também registra outros dados, e alguns deles podem ser confidenciais:

  • Versões do formato do conjunto de dados
  • Versão do SDK do ARCore
  • Versão do Google Play Services para RA
  • Impressão digital do dispositivo (a saída de adb shell getprop ro.build.fingerprint)
  • Outras informações sobre os sensores usados para o rastreamento de RA
  • Ao usar a API ARCore Geospatial, a localização estimada e as leituras do magnetômetro e da bússola do dispositivo