Pengantar perekaman dan pemutaran

Panduan khusus platform

Sebagian besar pengalaman Augmented Reality bersifat "real-time". Mode 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 tamunya, mereka harus "menempatkan" sofa di layar saat pengguna tersebut berada di dalam ruangan.

Recording and Playback API meniadakan persyaratan “real-time” ini, sehingga Anda dapat menciptakan 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 bisa memasukkan rekaman video 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 di kehidupan nyata, mereka dapat mengambil video yang direkam dengan Recording and Playback API dari galeri native dan mengedit atau memutar ulang objek, efek, serta filter AR. Dengan fitur ini, pengguna dapat melakukan belanja AR saat berada di kereta dalam perjalanan ke kantor, atau di tempat tidur berbaring di sekitar.

Kasus penggunaan untuk pengembangan dengan Recording and Playback API

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

Rekam sekali, uji di mana saja

Daripada pergi ke lokasi secara fisik setiap kali Anda 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? Tidak perlu mengunjunginya setiap kali Anda 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 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 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 menangkap 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 secara otomatis memutar lagu pertama dalam daftar tanpa memungkinkan Anda untuk memilih trek video mana yang akan diputar.

Trek video utama (trek image CPU)

File video utama merekam lingkungan atau adegan untuk diputar kembali. Menurut secara default, ARCore mencatat gambar CPU 640x480 (VGA) yang digunakan untuk pelacakan gerakan sebagai video utama feed.

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

Jika Anda ingin streaming gambar beresolusi tinggi tersedia selama pemutaran, 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 kamera.
  • 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 penerbangan (atau sensor ToF), dan dikonversi ke nilai saluran RGB. Video ini sebaiknya hanya digunakan untuk tujuan pratinjau.

Peristiwa panggilan API

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

  • Versi format set data
  • Versi ARCore SDK
  • Layanan Google Play untuk versi AR
  • Sidik jari perangkat (output dari 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