Pengantar perekaman dan pemutaran

Panduan khusus platform

Sebagian besar pengalaman Augmented Reality bersifat “real-time”. Fitur ini mengharuskan pengguna berada di tempat tertentu pada waktu tertentu, dengan ponsel mereka disetel dalam mode AR khusus dan dibuka untuk aplikasi AR. Misalnya, jika pengguna ingin melihat tampilan sofa AR di ruang keluarganya, mereka harus “menempatkan” sofa tersebut di lingkungan layar saat secara fisik berada di dalam ruangan.

Recording and Playback API menghilangkan persyaratan "real-time" ini, sehingga Anda dapat membuat pengalaman AR yang dapat dilihat di mana saja, kapan saja. Recording API menyimpan streaming video kamera, data IMU, atau metadata kustom lainnya yang Anda pilih untuk disimpan dalam file MP4. Kemudian, Anda dapat memasukkan video rekaman ini ke ARCore melalui Playback API, yang akan memperlakukan MP4 seperti feed sesi live. Anda masih dapat menggunakan sesi kamera live, tetapi dengan API baru ini, aplikasi AR Anda dapat memilih untuk menggunakan MP4 yang direkam sebelumnya, bukan sesi live tersebut.

Pengguna akhir juga dapat memanfaatkan fitur ini. Di mana pun lokasinya, mereka dapat mengakses video apa pun yang direkam dengan Recording and Playback API dari galeri native mereka, lalu mengedit atau memutar objek, efek, dan filter AR. Dengan fitur ini, pengguna dapat melakukan belanja AR saat di kereta dalam perjalanan ke kantor, atau bersantai di tempat tidur.

Kasus penggunaan untuk pengembangan dengan Recording and Playback API

Recording and Playback API menghilangkan batasan waktu dan ruang untuk membuat aplikasi AR. Berikut adalah beberapa cara untuk menggunakannya dalam proyek Anda sendiri.

Rekam sekali, uji di mana saja

Daripada pergi ke suatu lokasi secara fisik setiap kali perlu menguji fitur AR, Anda dapat merekam video menggunakan Recording API, lalu memutarnya kembali menggunakan perangkat apa pun yang kompatibel. Membangun pengalaman di pusat perbelanjaan? Anda tidak perlu membukanya setiap kali ingin menguji perubahan. Cukup rekam kunjungan Anda sekali, lalu ulangi dan kembangkan dari meja kerja Anda sendiri.

Mengurangi waktu iterasi

Daripada merekam video untuk setiap perangkat Android yang ingin Anda dukung, untuk setiap skenario yang ingin diuji, Anda dapat merekam video sekali dan memutarnya kembali di beberapa perangkat yang berbeda selama fase iterasi.

Mengurangi beban pengujian manual di seluruh tim pengembangan

Daripada membuat set data kustom untuk setiap fitur baru, manfaatkan set data yang telah direkam sebelumnya sembari meluncurkan fitur baru yang menggabungkan kedalaman atau peningkatan pelacakan terbaru dari ARCore.

Kompatibilitas perangkat

Anda memerlukan ARCore untuk merekam data dengan Recording and Playback API, tetapi Anda tidak memerlukannya untuk memutarnya kembali. MP4 yang direkam menggunakan fitur ini pada dasarnya adalah file video dengan data tambahan yang dapat dilihat menggunakan pemutar video apa pun. Anda dapat memeriksanya dengan ExoPlayer Android, atau pemutar apa pun yang kompatibel yang dapat melakukan demux MP4 dan mengelola data tambahan yang ditambahkan oleh ARCore.

Cara data video dan AR direkam untuk pemutaran

ARCore menyimpan sesi yang direkam ke file MP4 di perangkat target. File ini berisi beberapa trek video dan data lain-lain. Setelah sesi tersebut disimpan, Anda dapat mengarahkan aplikasi untuk menggunakan data ini sebagai pengganti sesi kamera live.

Apa yang ada dalam rekaman?

ARCore menangkap data berikut dalam video H.264. Anda dapat mengaksesnya di pemutar video apa pun yang kompatibel dengan MP4 yang dapat mengganti trek. Trek beresolusi tertinggi adalah yang pertama dalam daftar karena beberapa pemutar video yang kompatibel dengan MP4 secara otomatis memutar trek pertama dalam daftar tanpa memungkinkan Anda memilih trek video mana yang akan diputar.

Jalur video utama (jalur gambar CPU)

File video utama merekam lingkungan atau adegan untuk diputar kembali. Secara default, ARCore merekam image CPU berukuran 640x480 (VGA) yang digunakan untuk pelacakan gerakan sebagai streaming video utama.

ARCore tidak mengambil tekstur GPU (resolusi tinggi) yang dirender ke layar sebagai gambar kamera passthrough.

Jika ingin streaming gambar resolusi tinggi tersedia selama pemutaran, Anda harus mengonfigurasi kamera yang menyediakan gambar CPU dengan resolusi yang diinginkan. Dalam kasus ini:

  • ARCore akan meminta image CPU 640x480 (VGA) yang diperlukan untuk pelacakan gerakan dan image CPU resolusi tinggi yang ditentukan oleh konfigurasi kamera yang dikonfigurasi.
  • Mengambil streaming image CPU kedua dapat memengaruhi performa aplikasi, dan perangkat yang berbeda dapat terpengaruh secara berbeda.
  • Selama pemutaran, ARCore akan menggunakan gambar CPU beresolusi tinggi yang diambil selama perekaman sebagai tekstur GPU selama pemutaran.
  • Gambar CPU beresolusi tinggi akan menjadi streaming video default dalam perekaman MP4.

Konfigurasi kamera yang dipilih selama perekaman menentukan image CPU dan streaming video utama dalam rekaman. Jika Anda tidak memilih konfigurasi kamera dengan gambar CPU beresolusi tinggi, video ini akan menjadi trek pertama dalam file dan akan diputar secara default, terlepas dari pemutar video yang Anda gunakan.

Visualisasi peta kedalaman kamera

Ini adalah file video yang mewakili peta kedalaman kamera, yang direkam dari sensor kedalaman hardware perangkat, seperti sensor time-of-flight (atau sensor ToF), dan dikonversi ke nilai saluran RGB. Video ini hanya boleh digunakan untuk tujuan pratinjau.

Peristiwa panggilan API

ARCore mencatat pengukuran dari sensor girometer dan akselerometer perangkat. Tindakan ini juga mencatat data lain, beberapa di antaranya mungkin sensitif:

  • Versi format set data
  • Versi ARCore SDK
  • Layanan Google Play untuk versi AR
  • Sidik jari perangkat (output adb shell getprop ro.build.fingerprint)
  • Informasi tambahan tentang sensor yang digunakan untuk pelacakan AR
  • Saat menggunakan ARCore Geospatial API, perkiraan lokasi perangkat, pembacaan magnetometer, dan pembacaan kompas