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