Meet Media API के लिए वीडियो कोडेक से जुड़ी ज़रूरी शर्तें

इस पेज पर, Google Meet Media API क्लाइंट वीडियो कोडेक के लिए बुनियादी ज़रूरी शर्तें दी गई हैं, ताकि उपयोगकर्ताओं को बेहतर अनुभव मिल सके.

फ़ंक्शन से जुड़ी ज़रूरी शर्तें

इस सेक्शन में, कोडेक टाइप और सुविधाओं से जुड़ी ज़रूरी शर्तों के बारे में बताया गया है.

सुविधा आवश्यकता
प्रोफ़ाइल AV1 VP9 VP8
Main Profile 0 लागू नहीं
विस्तार करने की क्षमता डिकोडर में टाइम स्‍केल किए जाने की सुविधा, स्पेस स्‍केल किए जाने की सुविधा या दोनों सुविधाएं होनी चाहिए. ऐसा तब ज़रूरी होता है, जब किसी कोडेक टाइप और प्रोफ़ाइल के लिए कोडिंग की खास जानकारी में ऐसा करने की ज़रूरत हो.
रॉ वीडियो फ़ॉर्मैट

कोडेक, अजीब रिज़ॉल्यूशन को प्रोसेस करने में सक्षम होना चाहिए. जैसे, जब फ़्रेम की चौड़ाई या ऊंचाई, दो की múltiplo नहीं है; उदाहरण के लिए, 133 × 141. सबसैंपल किए गए क्रोमा फ़ॉर्मैट के लिए, हर डाइमेंशन के क्रोमा सैंपल की संख्या को राउंड अप किया जाना चाहिए. यह संख्या, ल्यूमा सैंपल की संख्या से निकाली जाती है.

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

ऑपरेशन से जुड़ी ज़रूरी शर्तें

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

पैरामीटर आवश्यकता
कम से कम रिज़ॉल्यूशन, पिक्सल ≤ 128 × 128
ज़्यादा से ज़्यादा रिज़ॉल्यूशन, पिक्सल ≥ 2880 × 1800
कम से कम फ़्रेम रेट, एफ़पीएस ≤ 1
ज़्यादा से ज़्यादा फ़्रेम रेट, एफ़पीएस ≥ 30
कम से कम बिटरेट, केबीपीएस 30 से कम
ज़्यादा से ज़्यादा बिटरेट, केबीपीएस ≥ 5000
डिकोडर के ज़्यादा से ज़्यादा इंस्टेंस ≥ 3
डिकोड करने की कुल स्पीड, पिक्सल प्रति सेकंड ≥ 3 × 2880 × 1880 × 30

परफ़ॉर्मेंस से जुड़ी ज़रूरी शर्तें

इस सेक्शन में, कोडेक की परफ़ॉर्मेंस से जुड़ी ज़रूरी शर्तों के बारे में बताया गया है. इन ज़रूरी शर्तों का उल्लंघन करने पर, उपयोगकर्ता अनुभव पर काफ़ी असर पड़ सकता है. साथ ही, कोडेक के इस्तेमाल पर भी पाबंदी लगाई जा सकती है.

पैरामीटर आवश्यकता
इंटर फ़्रेम प्रोसेसिंग में लगने वाला ज़्यादा से ज़्यादा समय, सेकंड में 1 / max(30, encode_target_frame_rate_fps)
कीफ़्रेम को प्रोसेस करने में लगने वाला ज़्यादा से ज़्यादा समय, सेकंड में 2 / max(30, encode_target_frame_rate_fps)

फ़्रेम प्रोसेसिंग में लगने वाला समय, दो इवेंट के बीच का समय अंतर होता है: 1) कोडेक, फ़्रेम डिलीवर करता है और 2) कोडेक, फ़्रेम को रिसीव करता है. फ़्रेम प्रोसेस करने में लगने वाले औसत समय का हिसाब, कम से कम 10 सेकंड की स्लाइडिंग विंडो के आधार पर लगाया जाता है. इसमें कम से कम 10 फ़्रेम होते हैं. फ़्रेम प्रोसेस करने में लगने वाला ज़्यादा से ज़्यादा समय, फ़्रेम प्रोसेस करने में लगने वाले समय की सभी वैल्यू में से सबसे ज़्यादा वैल्यू होती है.

थ्रुपुट का हिसाब, प्रोसेस किए गए फ़्रेम की संख्या के तौर पर लगाया जाता है. इसमें, छोड़े गए फ़्रेम भी शामिल होते हैं. इसे दो इवेंट के बीच के समय के डेल्टा से भाग दिया जाता है: 1) कोडेक आखिरी फ़्रेम डिलीवर करता है और 2) कोडेक पहला फ़्रेम डिलीवर करता है.

टेस्ट केस

यहां कुछ टेस्ट केस दिए गए हैं जिनका इस्तेमाल किया जा सकता है:

जांच
डिकोड करने की स्पीड एक साथ तीन 2880 × 1880 × 30 स्ट्रीम को डिकोड करें और पुष्टि करें कि डिकोडर, परफ़ॉर्मेंस से जुड़ी ज़रूरी शर्तों का उल्लंघन न करते हों.
डिकोडर के काम करने का तरीका पहले से एन्कोड किए गए बिटस्ट्रीम के सेट को डिकोड करना. टेस्ट डिकोडर का आउटपुट, रेफ़रंस डिकोडर (VP8 और VP9 के लिए libvpx, AV1 के लिए libaom) के आउटपुट से मेल खाना चाहिए.
समय के साथ स्केल करने की सुविधा एक से ज़्यादा टेम्पोरल लेयर (2 और 3) वाले वीडियो को डिकोड करना. टेस्ट डिकोडर का आउटपुट, रेफ़रंस डिकोडर के आउटपुट से मेल खाना चाहिए.
स्पेशल स्केलेबिलिटी एक से ज़्यादा स्पेस लेयर (2 और 3) वाले वीडियो को डिकोड करना. टेस्ट डिकोडर का आउटपुट, रेफ़रंस डिकोडर के आउटपुट से मेल खाना चाहिए.