रिकॉर्डिंग और प्लेबैक की जानकारी

प्लेटफ़ॉर्म के हिसाब से गाइड

Android (Kotlin/Java)

Android NDK (C)

Unity (AR Foundation)

Unreal Engine

ऑगमेंटेड रिएलिटी (एआर) के ज़्यादातर अनुभव “रीयल-टाइम” होते हैं. इनके लिए, उपयोगकर्ताओं को किसी तय जगह पर, तय समय पर मौजूद रहना होता है. साथ ही, उनका फ़ोन एआर मोड में सेट होना चाहिए और एआर ऐप्लिकेशन खुला होना चाहिए. उदाहरण के लिए, अगर कोई उपयोगकर्ता यह देखना चाहता है कि उसके लिविंग रूम में एआर सोफ़ा कैसा दिखेगा, तो उसे कमरे में मौजूद रहते हुए, स्क्रीन पर सोफ़े को “प्लेस” करना होगा.

Recording and Playback API की मदद से, “रीयल-टाइम” की ज़रूरत खत्म हो जाती है. इससे, एआर के ऐसे अनुभव बनाए जा सकते हैं जिन्हें कहीं भी और कभी भी देखा जा सकता है. Recording API, कैमरे का वीडियो स्ट्रीम, आईएमयू डेटा या कोई अन्य कस्टम मेटाडेटा सेव करता है. इसे MP4 फ़ाइल में सेव किया जा सकता है. इसके बाद, Playback API की मदद से, रिकॉर्ड किए गए इन वीडियो को ARCore में फ़ीड किया जा सकता है. ARCore, MP4 को लाइव सेशन फ़ीड की तरह ही ट्रीट करेगा. लाइव कैमरा सेशन का इस्तेमाल अब भी किया जा सकता है. हालांकि, इस नए एपीआई की मदद से, आपके एआर ऐप्लिकेशन, लाइव सेशन के बजाय पहले से रिकॉर्ड किए गए MP4 का इस्तेमाल कर सकते हैं.

असली उपयोगकर्ता भी इस सुविधा का फ़ायदा उठा सकते हैं. वे किसी भी जगह पर हों, वे अपनी गैलरी से Recording and Playback API की मदद से रिकॉर्ड किया गया कोई भी वीडियो खोल सकते हैं. साथ ही, एआर ऑब्जेक्ट, इफ़ेक्ट, और फ़िल्टर में बदलाव कर सकते हैं या उन्हें वापस चला सकते हैं. इस सुविधा की मदद से, उपयोगकर्ता ऑफ़िस जाने के लिए ट्रेन में सफ़र करते समय या बिस्तर पर लेटे हुए, एआर शॉपिंग कर सकते हैं.

Recording and Playback API की मदद से डेवलपमेंट करने के उदाहरण

Recording and Playback API की मदद से, एआर ऐप्लिकेशन बनाने में लगने वाले समय और जगह की पाबंदियां खत्म हो जाती हैं. यहां कुछ तरीके दिए गए हैं जिनसे इसे अपने प्रोजेक्ट में इस्तेमाल किया जा सकता है.

एक बार रिकॉर्ड करें और कहीं भी टेस्ट करें

एआर सुविधा को टेस्ट करने के लिए, हर बार किसी जगह पर जाने के बजाय, Recording API का इस्तेमाल करके वीडियो रिकॉर्ड किया जा सकता है. इसके बाद, इसे किसी भी ऐसे डिवाइस पर वापस चलाया जा सकता है जो इस सुविधा के साथ काम करता हो. क्या शॉपिंग मॉल में कोई अनुभव बनाया जा रहा है? किसी बदलाव को टेस्ट करने के लिए, हर बार वहां जाने की ज़रूरत नहीं है. बस एक बार अपनी यात्रा रिकॉर्ड करें. इसके बाद, अपनी डेस्क पर बैठकर ही उसमें बदलाव करें और उसे बेहतर बनाएं.

बदलाव करने में लगने वाला समय कम करें

आपको जिन Android डिवाइसों के लिए वीडियो रिकॉर्ड करना है या जिन स्थितियों को टेस्ट करना है उनके लिए अलग-अलग वीडियो रिकॉर्ड करने के बजाय, एक ही वीडियो रिकॉर्ड किया जा सकता है. इसके बाद, बदलाव करने के दौरान उसे अलग-अलग डिवाइसों पर वापस चलाया जा सकता है.

डेवलपमेंट टीमों के लिए, मैन्युअल तरीके से टेस्ट करने का बोझ कम करें

हर नई सुविधा के लिए, कस्टम डेटासेट बनाने के बजाय, पहले से रिकॉर्ड किए गए डेटासेट का इस्तेमाल करें. ऐसा तब करें, जब नई सुविधाओं को लॉन्च किया जा रहा हो. इनमें डेप्थ या ARCore से ट्रैकिंग में किए गए नए सुधार शामिल हों.

मेरे डिवाइस पर यह सुविधा काम नहीं करती

Recording and Playback API की मदद से डेटा रिकॉर्ड करने के लिए, ARCore की ज़रूरत होगी. हालांकि, रिकॉर्ड किए गए डेटा को वापस चलाने के लिए, इसकी ज़रूरत नहीं होगी. इस सुविधा का इस्तेमाल करके रिकॉर्ड की गई MP4 फ़ाइलें, असल में वीडियो फ़ाइलें होती हैं. इनमें अतिरिक्त डेटा होता है. इसे किसी भी वीडियो प्लेयर की मदद से देखा जा सकता है. इन्हें Android के ExoPlayer या किसी भी ऐसे प्लेयर की मदद से देखा जा सकता है जो MP4 को डीमक्स कर सकता है. साथ ही, ARCore से जोड़े गए अतिरिक्त डेटा को मैनेज कर सकता है.

वीडियो और एआर डेटा को वापस चलाने के लिए, उन्हें कैसे रिकॉर्ड किया जाता है

ARCore, रिकॉर्ड किए गए सेशन को टारगेट डिवाइस पर MP4 फ़ाइलों में सेव करता है. इन फ़ाइलों में, वीडियो के कई ट्रैक और अन्य डेटा होता है. इन सेशन को सेव करने के बाद, अपने ऐप्लिकेशन को लाइव कैमरा सेशन के बजाय इस डेटा का इस्तेमाल करने के लिए कहा जा सकता है.

रिकॉर्डिंग में क्या शामिल होता है?

ARCore, H.264 वीडियो में यह डेटा कैप्चर करता है. इसे MP4 के साथ काम करने वाले किसी भी वीडियो प्लेयर पर ऐक्सेस किया जा सकता है. साथ ही, ट्रैक स्विच किए जा सकते हैं. सूची में सबसे ज़्यादा रिज़ॉल्यूशन वाला ट्रैक सबसे पहले होता है. ऐसा इसलिए, क्योंकि MP4 के साथ काम करने वाले कुछ वीडियो प्लेयर, सूची में मौजूद पहले ट्रैक को अपने-आप चला देते हैं. ऐसे में, आपके पास यह चुनने का विकल्प नहीं होता कि कौनसे वीडियो ट्रैक को चलाना है.

वीडियो का मुख्य ट्रैक (सीपीयू इमेज ट्रैक)

वीडियो की मुख्य फ़ाइल, बाद में वापस चलाने के लिए, आस-पास के माहौल या सीन को रिकॉर्ड करती है. डिफ़ॉल्ट रूप से, ARCore, 640x480 (वीजीए) सीपीयू इमेज को मुख्य वीडियो स्ट्रीम के तौर पर रिकॉर्ड करता है. इसका इस्तेमाल, मोशन ट्रैकिंग के लिए किया जाता है.

ARCore, जीपीयू टेक्सचर (ज़्यादा रिज़ॉल्यूशन) को कैप्चर नहीं करता. इसे पासथ्रू कैमरे की इमेज के तौर पर स्क्रीन पर रेंडर किया जाता है.

अगर आपको वापस चलाने के दौरान, ज़्यादा रिज़ॉल्यूशन वाली इमेज स्ट्रीम उपलब्ध करानी है, तो आपको ऐसा कैमरा कॉन्फ़िगर करना होगा जो सीपीयू इमेज उपलब्ध कराता हो. साथ ही, उसका रिज़ॉल्यूशन आपकी ज़रूरत के मुताबिक हो. इस मामले में:

  • ARCore, 640x480 (वीजीए) सीपीयू इमेज और कॉन्फ़िगर किए गए कैमरा कॉन्फ़िगरेशन में बताई गई ज़्यादा रिज़ॉल्यूशन वाली सीपीयू इमेज, दोनों का अनुरोध करेगा. मोशन ट्रैकिंग के लिए, 640x480 (वीजीए) सीपीयू इमेज की ज़रूरत होती है.
  • दूसरी सीपीयू इमेज स्ट्रीम को कैप्चर करने से, ऐप्लिकेशन की परफ़ॉर्मेंस पर असर पड़ सकता है. साथ ही, अलग-अलग डिवाइसों पर अलग-अलग असर पड़ सकता है.
  • वापस चलाने के दौरान, ARCore, ज़्यादा रिज़ॉल्यूशन वाली सीपीयू इमेज का इस्तेमाल जीपीयू टेक्सचर के तौर पर करेगा. इसे रिकॉर्डिंग के दौरान कैप्चर किया गया था.
  • ज़्यादा रिज़ॉल्यूशन वाली सीपीयू इमेज, MP4 रिकॉर्डिंग में डिफ़ॉल्ट वीडियो स्ट्रीम बन जाएगी.

रिकॉर्डिंग के दौरान चुना गया कैमरा कॉन्फ़िगरेशन, रिकॉर्डिंग में सीपीयू इमेज और वीडियो की मुख्य स्ट्रीम तय करता है. अगर आपने ज़्यादा रिज़ॉल्यूशन वाली सीपीयू इमेज वाला कैमरा कॉन्फ़िगरेशन नहीं चुना है, तो यह वीडियो, फ़ाइल में पहला ट्रैक होगा. साथ ही, यह डिफ़ॉल्ट रूप से चलेगा. भले ही, आपने कोई भी वीडियो प्लेयर इस्तेमाल किया हो.

कैमरे के डेप्थ मैप का विज़ुअलाइज़ेशन

यह एक वीडियो फ़ाइल है. इसमें कैमरे के डेप्थ मैप को दिखाया जाता है. इसे डिवाइस के हार्डवेयर डेप्थ सेंसर से रिकॉर्ड किया जाता है. जैसे, टाइम-ऑफ़-फ़्लाइट सेंसर (या ToF सेंसर). इसके बाद, इसे आरजीबी चैनल की वैल्यू में बदला जाता है. इस वीडियो का इस्तेमाल, सिर्फ़ झलक दिखाने के लिए किया जाना चाहिए.

एपीआई कॉल इवेंट

ARCore, डिवाइस के गायरोमीटर और ऐक्सलरोमीटर सेंसर से मेज़रमेंट रिकॉर्ड करता है. यह अन्य डेटा भी रिकॉर्ड करता है. इनमें से कुछ डेटा संवेदनशील हो सकता है:

  • डेटासेट फ़ॉर्मैट के वर्शन
  • ARCore SDK टूल का वर्शन
  • Google Play Services for AR का वर्शन
  • डिवाइस फ़िंगरप्रिंट (adb shell getprop ro.build.fingerprint का आउटपुट)
  • एआर ट्रैकिंग के लिए इस्तेमाल किए जाने वाले सेंसर के बारे में अतिरिक्त जानकारी
  • ARCore Geospatial API का इस्तेमाल करते समय, डिवाइस की अनुमानित जगह की जानकारी, मैग्नेटोमीटर की रीडिंग, और कंपास की रीडिंग