Wprowadzenie do nagrywania i odtwarzania

Przewodniki dotyczące poszczególnych platform

Zdecydowana większość funkcji rzeczywistości rozszerzonej odbywa się w czasie rzeczywistym. Wymagają one od użytkowników przebywania w określonym miejscu o określonej godzinie, gdy telefon ma włączony specjalny tryb AR i jest otwarty na aplikację AR. Na przykład użytkownik, który chce zobaczyć, jak wygląda kanapa AR w salonie, musi „umieścić” kanapę na ekranie, fizycznie przebywa w pomieszczeniu.

Interfejs API do nagrywania i odtwarzania eliminuje ten wymóg, co umożliwia tworzenie funkcji AR, które można oglądać w dowolnym miejscu i czasie. Interfejs Record API przechowuje strumień wideo z kamery, dane IMU lub dowolne inne niestandardowe metadane, które zapiszesz, by zapisać je w pliku MP4. Nagrane filmy możesz potem przesłać do ARCore za pomocą interfejsu PLAY API, który będzie traktować plik MP4 tak samo jak obraz w sesji na żywo. Nadal możesz używać sesji kamery na żywo, ale dzięki nowemu interfejsowi API aplikacje AR mogą zdecydować się na użycie nagranego wcześniej pliku MP4 zamiast tej sesji na żywo.

Użytkownicy mogą również korzystać z tej funkcji. Niezależnie od tego, gdzie akurat się znajdują, mogą pobrać dowolny film nagrany przy użyciu interfejsu API nagrania i odtwarzania z natywnej galerii, a następnie edytować lub odtwarzać obiekty, efekty i filtry AR. Dzięki tej funkcji użytkownicy mogą robić zakupy w trybie AR, jadąc pociągiem do biura lub leżąc w łóżku.

Przypadki użycia interfejsu API do nagrywania i odtwarzania

Interfejs API do nagrywania i odtwarzania eliminuje ograniczenia związane z czasem i przestrzenią związane z tworzeniem aplikacji AR. Oto kilka sposobów jego wykorzystania we własnych projektach.

Nagraj raz, przetestuj w dowolnym miejscu

Za każdym razem, gdy chcesz przetestować funkcję AR, zamiast fizycznie jechać do konkretnego miejsca, możesz nagrać film za pomocą interfejsu Notification API i odtworzyć go na dowolnym zgodnym urządzeniu. Planujesz zakupy w centrum handlowym? Nie musisz przechodzić do niej za każdym razem, gdy chcesz przetestować zmianę. Wystarczy, że zarejestrujesz wizytę, a potem powtórz ją i rozwijasz, siedząc wygodnie we własnym biurku.

Skróć czas iteracji

Zamiast nagrywać film dla każdego obsługiwanego urządzenia z Androidem, w fazie iteracji możesz nagrać film raz i odtworzyć go na wielu różnych urządzeniach w przypadku każdego scenariusza, który chcesz przetestować.

Zmniejszenie obciążenia względem testów ręcznych w zespołach programistycznych

Zamiast tworzyć własne zbiory danych dla każdej nowej funkcji, wykorzystaj wcześniej zarejestrowane zbiory danych, wdrażając nowe funkcje obejmujące szczegółowość danych lub najnowsze ulepszenia śledzenia od ARCore.

Zgodność urządzeń

Aplikacja ARCore będzie Ci potrzebna do rejestrowania danych przy użyciu interfejsu API do nagrywania i odtwarzania, ale nie będzie już potrzebny do odtwarzania treści. Pliki MP4 nagrane za pomocą tej funkcji to w zasadzie pliki wideo z dodatkowymi danymi, które można oglądać w dowolnym odtwarzaczu wideo. Do ich sprawdzania możesz używać programu ExoPlayer na Androida lub dowolnego zgodnego odtwarzacza, który potrafi zarówno demultipleksować pliki MP4, jak i zarządzać dodatkowymi danymi dodawanymi przez ARCore.

Jak są rejestrowane dane wideo i AR na potrzeby odtwarzania

ARCore zapisuje zarejestrowane sesje w plikach MP4 na urządzeniu docelowym. Te pliki zawierają wiele ścieżek wideo i inne dane. Po zapisaniu sesji możesz wskazać aplikacji, które mają używać tych danych zamiast sesji kamery na żywo.

Co zawiera nagranie?

ARCore przechwytuje poniższe dane w filmach w formacie H.264. Możesz z niej korzystać w dowolnym odtwarzaczu zgodnym z MP4, który umożliwia przełączanie utworów. Utwór o najwyższej rozdzielczości zajmuje pierwszą pozycję na liście, ponieważ niektóre odtwarzacze wideo zgodne z formatami MP4 automatycznie odtwarzają pierwszy utwór na liście bez możliwości wyboru utworu wideo do odtworzenia.

Główna ścieżka wideo (ścieżka obrazu procesora)

Główny plik wideo rejestruje środowisko lub scenę, aby można było je później odtworzyć. Według domyślnie ARCore rejestruje obraz procesora 640 x 480 (VGA) używany do śledzenie ruchu jako główny film .

ARCore nie przechwytuje tekstury GPU (o wysokiej rozdzielczości) renderowanej w jako obrazu przekazującego z aparatu.

Jeśli chcesz, aby podczas odtwarzania był dostępny strumień obrazów w wysokiej rozdzielczości, musi skonfigurować aparat udostępniający obraz CPU o odpowiedniej rozdzielczości. W tym przypadku:

  • ARCore będzie żądać obrazu procesora 640 x 480 (VGA) wymaganych do działania śledzenie ruchu i obraz procesora o wysokiej rozdzielczości określony przez konfiguracji kamery.
  • Przechwycenie drugiego strumienia obrazów procesora może wpłynąć na wydajność aplikacji. może mieć różny wpływ na poszczególne urządzenia.
  • Podczas odtwarzania ARCore użyje obrazu procesora o wysokiej rozdzielczości, który przechwycony podczas nagrywania jako tekstura GPU podczas odtwarzania.
  • Obraz procesora o wysokiej rozdzielczości stanie się domyślnym strumieniem wideo w Nagrywanie w formacie MP4.

Wybrana konfiguracja kamery podczas nagrywania określa obraz procesora i główny strumień wideo w nagraniu. Jeśli nie wybierzesz konfiguracji kamery z obrazem procesora o wysokiej rozdzielczości, ten film będzie pierwszą ścieżką w pliku i będzie domyślnie odtwarzany niezależnie od używanego odtwarzacza.

Wizualizacja mapy głębi kamery

Jest to plik wideo z mapą głębi kamery zapisany za pomocą sprzętowego czujnika głębi urządzenia, np. czujnika czasu lotu (lub czujnika ToF), i przekonwertowany na wartości kanałów RGB. Tego filmu należy używać tylko na potrzeby podglądu.

Zdarzenia wywołania interfejsu API

ARCore rejestruje pomiary z żyroskopu i akcelerometru urządzenia. Rejestruje również inne dane, z których niektóre mogą być poufne:

  • Wersje formatu zbioru danych
  • Wersja pakietu SDK ARCore
  • Usługi Google Play dla wersji AR
  • Odcisk cyfrowy urządzenia (dane wyjściowe funkcji adb shell getprop ro.build.fingerprint)
  • Dodatkowe informacje o czujnikach używanych do śledzenia AR
  • Jeśli korzystasz z ARCore Geospatial API, szacowana lokalizacja urządzenia, odczyty magnetometru oraz odczyty kompasu.