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

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

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

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

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

कोडेक में, ऑड रिज़ॉल्यूशन (जैसे कि जब फ़्रेम की चौड़ाई या ऊंचाई 2 का गुणज न हो; उदाहरण के लिए, 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) वाले वीडियो को डिकोड करना. टेस्ट डिकोडर का आउटपुट, रेफ़रंस डिकोडर के आउटपुट से मेल खाना चाहिए.