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 होना चाहिए. साथ ही, यह पुष्टि करें कि डिकोडर, परफ़ॉर्मेंस से जुड़ी ज़रूरी शर्तों का उल्लंघन न करें.
डिकोडर के नियमों का पालन करना पहले से कोड में बदले गए बिटस्ट्रीम के सेट को डिकोड करता है. टेस्ट डिकोडर का आउटपुट, रेफ़रंस डिकोडर के आउटपुट से मेल खाना चाहिए (libvpx VP8 और VP9 के लिए, libaom AV1 के लिए).
समय के साथ डेटा को बढ़ाने की क्षमता एक से ज़्यादा टेंपोरल लेयर (2 और 3) वाले वीडियो को डिकोड करना. टेस्ट डिकोडर का आउटपुट, रेफ़रंस डिकोडर के आउटपुट से मेल खाना चाहिए.
स्पेशल स्केलेबिलिटी स्पेशल लेयर (2 और 3) वाले वीडियो को डिकोड करना. टेस्ट डिकोडर का आउटपुट, रेफ़रंस डिकोडर के आउटपुट से मेल खाना चाहिए.