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

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

कामकाज से जुड़ी ज़रूरी शर्तें

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

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

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