Eclipsa वीडियो इंटिग्रेट करना

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

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

Eclipsa वीडियो, एचडीआर वीडियो का एक नया स्टैंडर्ड है. इसे क्रॉस-डिवाइस इकोसिस्टम से जुड़ी इन समस्याओं को हल करने के लिए डिज़ाइन किया गया है. SMPTE ST 2094-50 स्पेसिफ़िकेशन की जानकारी के आधार पर, Eclipsa वीडियो की मदद से डिसप्ले, कॉन्टेंट मैपिंग को डाइनैमिक तौर पर अडजस्ट कर सकते हैं. इसके लिए, हार्डवेयर की क्षमताओं और आस-पास की रोशनी की स्थितियों, दोनों का इस्तेमाल किया जाता है. Eclipsa वीडियो, Jetpack Media3 ExoPlayer और स्टैंडर्ड Camera2 कैप्चर पाइपलाइन में, बिना किसी कॉन्फ़िगरेशन के इंटिग्रेट किया जा सकता है. इससे मोबाइल इंजीनियरिंग टीमों को, अगली पीढ़ी की हार्डवेयर-अडैप्टिव वीडियो स्ट्रीमिंग को लागू करने का एक ऐसा तरीका मिलता है जिसमें कोई खर्च नहीं आता और कोई समस्या नहीं होती. साथ ही, हर स्क्रीन पर वीडियो का असली मकसद भी बना रहता है.

SMPTE ST 2094-50 का तकनीकी आर्किटेक्चर

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

SMPTE ST 2094-50, दो लेयर वाले मेटाडेटा की सुविधा देकर इस समस्या को हल करता है. इससे दो मुख्य पहलुओं की मदद से, वीडियो की क्वालिटी में एकरूपता बनी रहती है:

रेफ़रंस व्हाइट ऐंकर

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

हेडरूम-अडैप्टिव गेन कर्व (एजीटीएम)

क्रिएटर्स, स्टैटिक टोन-मैपिंग कर्व को लागू करने के बजाय, पैरामीट्रिक मेटाडेटा एम्बेड करते हैं. यह मेटाडेटा, डिसप्ले पाइपलाइन को यह निर्देश देता है कि जब सीमित हेडरूम उपलब्ध हो, तो उसे कैसे स्केल करना है. इस स्टैंडर्ड की मदद से, क्रिएटर्स के पास यह तय करने की सुविधा होती है कि किसी पैनल को हाइलाइट को सॉफ़्ट-क्लिप करना चाहिए, हार्ड-क्लिप करना चाहिए या मिडटोन और शैडो को कंप्रेस करना चाहिए, ताकि चमकदार हिस्सों में सबसे बारीक जानकारी को बनाए रखा जा सके.

प्लैटफ़ॉर्म की सहायता

Android 17 (एपीआई लेवल 37) में, Eclipsa वीडियो चलाने और रिकॉर्ड करने के लिए, प्लैटफ़ॉर्म-लेवल की सहायता उपलब्ध है.

प्लेबैक लागू करना

स्टैंडर्ड ऐप्लिकेशन डेवलपमेंट के लिए, Media3 ExoPlayer, Eclipsa वीडियो के लिए आउट-ऑफ़-द-बॉक्स सहायता उपलब्ध कराता है. SMPTE 2094-50 मेटाडेटा के साथ एम्बेड की गई फ़ाइलों को पार्स करते समय, ExoPlayer, मेटाडेटा को आसानी से एक्सट्रैक्ट और लागू करता है. इसके लिए, प्लेयर के कस्टम कॉन्फ़िगरेशन की ज़रूरत नहीं होती.

  • स्टैंडर्ड प्लेयर को शुरू करना: अपने प्लेयर सरफ़ेस को इंस्टैंशिएट करने के लिए, Media3 ExoPlayer की खास जानकारी देखें.

  • ट्रैक ओवरराइड: अगर आपका ऐप्लिकेशन, प्रोग्राम के ज़रिए खास एचडीआर प्रोफ़ाइल के बारे में क्वेरी करता है या उन्हें लॉक करता है, तो Media3 ट्रैक सिलेक्शन एपीआई देखें.

हमारा सुझाव है कि आप प्लेबैक पाइपलाइन को Jetpack Media3 पर ऑफ़लोड करें. ExoPlayer, लो-लेवल कंटेनर एक्सट्रैक्शन को नेटिव तौर पर हैंडल करता है. इससे Android 16 (एपीआई लेवल 36) और इससे पहले के वर्शन में, लेगसी रेंडरिंग लेयर पर मौजूद, प्लैटफ़ॉर्म-लेवल के डिकोडिंग आर्टफ़ैक्ट पूरी तरह से हट जाते हैं.

वीडियो कैप्चर करने की सुविधा लागू करना

किसी डिवाइस से Eclipsa वीडियो रिकॉर्ड करने के लिए, आपकी कैमरा पाइपलाइन को, एजीटीएम मेटाडेटा जनरेट करने के लिए कॉन्फ़िगर किया जाना चाहिए. इसके लिए, कंपैटिबल डाइनैमिक रेंज प्रोफ़ाइल असाइन की जानी चाहिए.

CameraCharacteristics का इस्तेमाल करके, डिवाइस की सहायता की पुष्टि करने के बाद, DynamicRangeProfiles.HLG10_SMPTE_2094_50 प्रोफ़ाइल का इस्तेमाल करके, स्ट्रीम को अपने एनकोडर सरफ़ेस पर भेजें. कैमरा सेशन में डाइनैमिक रेंज प्रोफ़ाइल के बारे में क्वेरी करने और उन्हें कॉन्फ़िगर करने के तरीके के बारे में जानने के लिए, देखें एचडीआर वीडियो कैप्चर करना.

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

कंपैटिबिलिटी और परफ़ॉर्मेंस से जुड़ी ज़रूरी बातें

परफ़ॉर्मेंस की निगरानी करने के लिए, ऐक्टिव Display ऑब्जेक्ट को वापस पाएं और हार्डवेयर से तेज़ी लाने वाले पाथ की उपलब्धता की पहचान करने के लिए, उसके overlayProperties पर LutProperties की जांच करें.

जिन डिवाइसों में हार्डवेयर से तेज़ी लाने की सुविधा नहीं है उनके लिए, Exoplayer में Eclipsa वीडियो रेंडरिंग से ऑप्ट आउट करने की सुविधा, फ़िलहाल डेवलपमेंट में है.

अन्य संसाधन