Pengantar perekaman dan pemutaran

Panduan khusus platform

Sebagian besar pengalaman Augmented Reality bersifat "real-time". Pengalaman ini mengharuskan pengguna berada di tempat tertentu pada waktu tertentu, dengan ponsel mereka disetel dalam mode AR khusus dan dibuka ke aplikasi AR. Misalnya, jika pengguna ingin melihat tampilan sofa AR di ruang tamu, mereka harus "meletakkan" sofa di lingkungan di layar saat mereka berada di ruangan secara fisik.

Recording and Playback API menghapus 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 yang direkam 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 telah direkam sebelumnya, bukan sesi live tersebut.

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

Kasus penggunaan untuk pengembangan dengan Recording and Playback API

Recording and Playback API menghapus batasan waktu dan ruang untuk mem-build aplikasi AR. Berikut beberapa cara untuk menggunakannya dalam project Anda sendiri.

Rekam sekali, uji di mana saja

Daripada harus pergi ke lokasi secara fisik setiap kali Anda perlu menguji fitur AR, Anda dapat merekam video menggunakan Recording API, lalu memutarnya 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 Anda sendiri.

Mengurangi waktu iterasi

Alih-alih 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 saat 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. 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 mendemux MP4 dan mengelola data tambahan yang ditambahkan oleh ARCore.

Cara data video dan AR direkam untuk pemutaran

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

Apa saja yang ada dalam rekaman?

ARCore merekam data berikut dalam video H.264. Anda dapat mengaksesnya pada pemutar video apa pun yang kompatibel dengan MP4 yang dapat beralih trek. Trek dengan resolusi tertinggi adalah yang pertama dalam daftar karena beberapa pemutar video yang kompatibel dengan MP4 akan otomatis memutar trek pertama dalam daftar tanpa memungkinkan Anda memilih trek video yang akan diputar.

Jalur video utama (jalur gambar CPU)

File video utama merekam lingkungan atau adegan untuk diputar nanti. Secara default, ARCore merekam gambar CPU 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 beresolusi tinggi tersedia selama pemutaran, Anda harus mengonfigurasi kamera yang menyediakan gambar CPU yang memiliki resolusi yang diinginkan. Dalam hal ini:

  • ARCore akan meminta gambar CPU 640x480 (VGA) yang diperlukan untuk pelacakan gerakan dan gambar CPU beresolusi tinggi yang ditentukan oleh konfigurasi kamera yang dikonfigurasi.
  • Merekam aliran gambar CPU kedua dapat memengaruhi performa aplikasi, dan perangkat yang berbeda mungkin terpengaruh secara berbeda.
  • Selama pemutaran, ARCore akan menggunakan image CPU beresolusi tinggi yang yang diambil selama perekaman sebagai tekstur GPU selama pemutaran.
  • Image CPU beresolusi tinggi akan menjadi streaming video default di 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 waktu terbang (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 giroskop dan akselerometer perangkat. Fitur ini juga mencatat data lain, beberapa di antaranya mungkin bersifat 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, estimasi lokasi perangkat, pembacaan magnetometer, dan pembacaan kompas