प्लैटफ़ॉर्म के हिसाब से गाइड
Android (Kotlin/Java)
Android एनडीके (C)
Unity (AR Foundation)
Unreal Engine
ज़्यादातर ऑगमेंटेड रिएलिटी (एआर) अनुभव “रीयल-टाइम” में मिलते हैं. इसके लिए, उपयोगकर्ताओं को किसी खास समय पर किसी खास जगह पर होना होता है. साथ ही, उनके फ़ोन को किसी खास एआर मोड में सेट करना होता है और एआर ऐप्लिकेशन खोलना होता है. उदाहरण के लिए, अगर किसी उपयोगकर्ता को यह देखना है कि उसके लिविंग रूम में एआर सोफ़ा कैसा दिखेगा, तो उसे रूम में मौजूद रहते हुए, सोफ़े को ऑन-स्क्रीन एनवायरमेंट में “रखना” होगा.
रिकॉर्डिंग और प्लेबैक एपीआई की सुविधा, “रीयल-टाइम” की इस ज़रूरी शर्त को खत्म कर देती है. इससे आपको एआर का ऐसा अनुभव देने में मदद मिलती है जिसे कहीं भी और कभी भी देखा जा सकता है. Recording API, कैमरे की वीडियो स्ट्रीम, IMU डेटा या किसी अन्य कस्टम मेटाडेटा को सेव करता है. आपके पास, इसे MP4 फ़ाइल में सेव करने का विकल्प होता है. इसके बाद, Playback API की मदद से इन रिकॉर्ड किए गए वीडियो को ARCore में फ़ीड किया जा सकता है. यह एपीआई, MP4 फ़ाइल को लाइव सेशन फ़ीड की तरह ही इस्तेमाल करेगा. अब भी लाइव कैमरा सेशन का इस्तेमाल किया जा सकता है. हालांकि, इस नए एपीआई की मदद से, आपके एआर ऐप्लिकेशन उस लाइव सेशन के बजाय, पहले से रिकॉर्ड किए गए MP4 का इस्तेमाल कर सकते हैं.
असली उपयोगकर्ता भी इस सुविधा का फ़ायदा ले सकते हैं. भले ही, उपयोगकर्ता किसी भी जगह पर हों, वे अपनी नेटिव गैलरी से रिकॉर्डिंग और प्लेबैक एपीआई की मदद से रिकॉर्ड किया गया कोई भी वीडियो देख सकते हैं. साथ ही, उसमें एआर ऑब्जेक्ट, इफ़ेक्ट, और फ़िल्टर जोड़ सकते हैं या उन्हें चला सकते हैं. इस सुविधा की मदद से, लोग ऑफ़िस जाने के लिए ट्रेन में सफ़र करते समय या बिस्तर पर आराम करते समय, एआर की मदद से खरीदारी कर सकते हैं.
Recording and Playback API का इस्तेमाल करके ऐप्लिकेशन बनाने के उदाहरण
रिकॉर्डिंग और प्लेबैक एपीआई की मदद से, एआर ऐप्लिकेशन बनाने में लगने वाले समय और स्टोरेज की समस्याएं हल हो जाती हैं. यहां कुछ तरीके दिए गए हैं जिनसे अपने प्रोजेक्ट में इसका इस्तेमाल किया जा सकता है.
एक बार रिकॉर्ड करें और कहीं भी टेस्ट करें
हर बार किसी जगह पर जाकर, एआर (ऑगमेंटेड रिएलिटी) की सुविधा को टेस्ट करने के बजाय, Recording API का इस्तेमाल करके वीडियो रिकॉर्ड किया जा सकता है. इसके बाद, किसी भी काम करने वाले डिवाइस पर उसे चलाया जा सकता है. क्या आपको शॉपिंग मॉल में खरीदारी का अनुभव देना है? हर बार किसी बदलाव की जांच करने के लिए, वहां जाने की ज़रूरत नहीं है. बस एक बार अपनी विज़िट रिकॉर्ड करें और फिर अपने डेस्क पर बैठकर, उसे बार-बार देखें और उसमें बदलाव करें.
दोहराने का समय कम करें
हर उस Android डिवाइस के लिए वीडियो रिकॉर्ड करने की ज़रूरत नहीं है जिसके साथ आपको काम करना है, लेकिन हर स्थिति के लिए वीडियो रिकॉर्ड करें. इसके बाद, वीडियो को एक बार रिकॉर्ड करके उसे कई अलग-अलग डिवाइसों पर चलाया जा सकता है.
डेवलपमेंट टीमों पर मैन्युअल टेस्टिंग का बोझ कम करना
हर नई सुविधा के लिए कस्टम डेटासेट बनाने के बजाय, पहले से रिकॉर्ड किए गए डेटासेट का इस्तेमाल करें. साथ ही, उन नई सुविधाओं को लॉन्च करें जिनमें ARCore की मदद से, ट्रैकिंग में किए गए नए सुधार या गहराई शामिल की गई हो.
मेरे डिवाइस पर यह सुविधा काम नहीं करती
रिकॉर्डिंग और प्लेबैक एपीआई की मदद से डेटा रिकॉर्ड करने के लिए आपको ARCore की ज़रूरत होगी, लेकिन चीज़ों को चलाने के लिए आपको इसकी ज़रूरत नहीं पड़ेगी. इस सुविधा का इस्तेमाल करके रिकॉर्ड किए गए MP4, अतिरिक्त डेटा वाली ऐसी वीडियो फ़ाइलें होती हैं जिन्हें किसी भी वीडियो प्लेयर का इस्तेमाल करके देखा जा सकता है. इन्हें Android के ExoPlayer या इसके साथ काम करने वाले किसी भी प्लेयर से देखा जा सकता है, जो कि MP4 को डीमक्स और ARCore से जोड़े गए अतिरिक्त डेटा को मैनेज कर सकता है.
प्लेबैक के लिए वीडियो और एआर (ऑगमेंटेड रिएलिटी) डेटा कैसे रिकॉर्ड किया जाता है
ARCore, रिकॉर्ड किए गए सेशन को टारगेट डिवाइस पर MP4 फ़ाइलों में सेव करता है. इन फ़ाइलों में कई वीडियो ट्रैक और अन्य डेटा शामिल होता है. इन सेशन के सेव हो जाने के बाद, अपने ऐप्लिकेशन को लाइव कैमरा सेशन की जगह ऐप्लिकेशन पर डेटा इस्तेमाल करने की अनुमति दी जा सकती है.
रिकॉर्डिंग में क्या होता है?
ARCore, H.264 वीडियो में यह डेटा कैप्चर करता है. इसे MP4 फ़ॉर्मैट के साथ काम करने वाले किसी भी वीडियो प्लेयर पर ऐक्सेस किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि उस प्लेयर पर ट्रैक स्विच करने की सुविधा हो. सबसे ज़्यादा रिज़ॉल्यूशन वाला ट्रैक सूची में सबसे पहले आता है, क्योंकि MP4 के साथ काम करने वाले कुछ वीडियो प्लेयर, सूची का पहला ट्रैक अपने-आप चला देते हैं. इसके लिए, आपको यह चुनने की अनुमति नहीं मिलती कि कौनसा वीडियो ट्रैक चलाया जाए.
प्राइमरी वीडियो ट्रैक (सीपीयू इमेज ट्रैक)
मुख्य वीडियो फ़ाइल, बाद में वीडियो चलाने के लिए आस-पास की जगहों या सीन को रिकॉर्ड करती है. डिफ़ॉल्ट रूप से, ARCore 640x480 (VGA) सीपीयू इमेज रिकॉर्ड करता है. इसका इस्तेमाल, प्राइमरी वीडियो स्ट्रीम के तौर पर मोशन ट्रैकिंग के लिए किया जाता है.
ARCore, GPU टेक्स्चर को कैप्चर नहीं करता. यह टेक्स्चर, स्क्रीन पर पास-थ्रू कैमरे की इमेज के तौर पर रेंडर किया जाता है.
अगर आपको वीडियो चलाने के दौरान हाई रिज़ॉल्यूशन वाली इमेज स्ट्रीम चाहिए, तो आपको ऐसा कैमरा कॉन्फ़िगर करना होगा जो सीपीयू के लिए, ज़रूरी रिज़ॉल्यूशन वाली इमेज उपलब्ध कराता हो. इस मामले में:
- ARCore, 640x480 (वीजीए) वाली दोनों सीपीयू इमेज का अनुरोध करेगा मोशन ट्रैकिंग और कॉन्फ़िगर की गई हाई-रिज़ॉल्यूशन सीपीयू इमेज कैमरा कॉन्फ़िगरेशन.
- दूसरी सीपीयू इमेज स्ट्रीम कैप्चर करने से, ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है. साथ ही, अलग-अलग डिवाइसों पर इसका असर अलग-अलग हो सकता है.
- वीडियो चलाने के दौरान, ARCore हाई-रिज़ॉल्यूशन वाली सीपीयू इमेज का इस्तेमाल करेगा जो प्लेबैक के दौरान GPU टेक्सचर के तौर पर रिकॉर्डिंग के दौरान कैप्चर किए जाते हैं.
- हाई-रिज़ॉल्यूशन वाली सीपीयू इमेज, वीडियो स्ट्रीम की डिफ़ॉल्ट वीडियो स्ट्रीम बन जाएगी MP4 रिकॉर्डिंग करते हैं.
रिकॉर्डिंग के दौरान चुने गए कैमरे के कॉन्फ़िगरेशन से, रिकॉर्डिंग में सीपीयू इमेज और प्राइमरी वीडियो स्ट्रीम तय होती है. अगर आपने हाई-रिज़ॉल्यूशन सीपीयू इमेज वाला कैमरा कॉन्फ़िगरेशन नहीं चुना है, तो यह वीडियो फ़ाइल में पहला ट्रैक होगा और डिफ़ॉल्ट रूप से चलेगा. भले ही, आप किसी भी वीडियो प्लेयर का इस्तेमाल करें.
कैमरे से ली गई गहराई का मैप विज़ुअलाइज़ेशन
यह कैमरे के डेप्थ मैप को दिखाने वाली एक वीडियो फ़ाइल है, जिसे डिवाइस के हार्डवेयर डेप्थ सेंसर से रिकॉर्ड किया जाता है. जैसे, फ़्लाइट का समय बताने वाला सेंसर (या ToF सेंसर). साथ ही, यह आरजीबी चैनल वैल्यू में बदल जाता है. इस वीडियो का इस्तेमाल सिर्फ़ झलक देखने के लिए किया जाना चाहिए.
एपीआई कॉल इवेंट
ARCore, डिवाइस के जाइरोमीटर और एक्सलरोमीटर सेंसर से मेज़रमेंट रिकॉर्ड करता है. यह अन्य डेटा भी रिकॉर्ड करता है, जिसमें से कुछ संवेदनशील हो सकता है:
- डेटासेट फ़ॉर्मैट के वर्शन
- ARCore SDK टूल का वर्शन
- Google Play Services for AR का वर्शन
- डिवाइस फ़िंगरप्रिंट (
adb shell getprop ro.build.fingerprint
का आउटपुट) - एआर ट्रैकिंग के लिए इस्तेमाल किए जाने वाले सेंसर के बारे में ज़्यादा जानकारी
- ARCore Geospatial API का इस्तेमाल करते समय, डिवाइस की अनुमानित जगह की जानकारी, मैग्नेटोमीटर रीडिंग, और कंपास रीडिंग