एक कोडेक (जैसे डिवएक्स?) क्या है, और यह एक फ़ाइल प्रारूप (जैसे एमपीजी) से कैसे भिन्न होता है?


95

मैं बहुत उलझन में हूँ ... एक ऑडियो / वीडियो कोडेक के बीच अंतर क्या है (जो स्पष्ट रूप से "एनकोडर / डिकोडर" के लिए एक शॉर्टहैंड है, इस तरह की तरह "मॉडेम" वास्तव में "मॉड्यूलेटर / डेमोडुलेटर") और एक ऑडियो / कैसे है वीडियो फार्मेट?
(क्या मैं सही शब्दावली का उपयोग भी कर रहा हूँ?)

अर्थात: कुछ कहने में क्या अंतर है "MPEG-4" और कुछ कहने से "DivX" कोडेक का उपयोग होता है? विंडोज मीडिया प्लेयर कभी-कभी .mpgफाइलें क्यों चलाता है, और कभी-कभी नहीं?

इसके अलावा, निम्नलिखित में से कौन सा कोडेक्स हैं, कौन से फ़ाइल स्वरूप हैं, और कौन से न तो हैं?

  • क्विकटाइम MOV
  • एमपीईजी (1, 2, 3, 4)
  • WMV
  • FFmpeg
  • एवीसी
  • Xvid
  • डिवएक्स (यह अपने पैलिंड्रोम, एक्सविड से अलग कैसे है?)
  • 264

2
मेरे अपने सवाल को 6 साल बाद देखना और मैं सोच सकता हूं कि "आप इसे कैसे नहीं जानते?"
मेहरदाद

1
हम सभी ने कहीं न कहीं से शुरुआत की। ;)
हाशिम

जवाबों:


146

कुछ मुख्य परिभाषाएँ:

  • एक कोडेक (जैसे, H.264, HEVC, VP9) केवल वीडियो या ऑडियो भाग के लिए जिम्मेदार है, और एक या अधिक कोडेक्स को कंटेनर में विलय किया जा सकता है।
  • एक कंटेनर (जैसे, MP4, MKV) उन्हें एक साथ रखने के लिए जिम्मेदार है और यह वह भी है जो आप आमतौर पर अपनी पसंद के मीडिया प्लेयर में खोलते हैं।
  • एक विशेष एनकोडर (जैसे, x264, libvpx) एक इनपुट स्ट्रीम को कोडेक-कंप्लायंट बिटस्ट्रीम में बदलने के लिए जिम्मेदार है। एक विशेष कोडेक के लिए अक्सर कई एनकोडर होते हैं।

जैसा कि आप देख सकते हैं, हमें यहाँ कुछ चीजें समझानी होंगी।

कोडेक क्या है?

एनकोडर / डिकोडर के लिए एक कोडेक छोटा होता है, जिसका मूल रूप से सिर्फ निम्नलिखित अर्थ होता है: एक एनकोडर द्वारा उत्पन्न डेटा को हमेशा एक उचित डिकोडर द्वारा डिकोड किया जा सकता है। यह वीडियो, ऑडियो के लिए मान्य होता है, लेकिन आप क्रिप्टोग्राफी के बारे में भी सोच सकते हैं (एन्क्रिप्टेड संदेश प्रदर्शित करने के लिए एक एनकोडर को एक उपयुक्त डिकोडर की आवश्यकता होती है)।

आजकल, जब एक वीडियो कोडेक निर्दिष्ट किया जाता है, तो जो संस्थान इसमें भाग लेते हैं, वे आमतौर पर केवल मानक के सिंटैक्स को निर्दिष्ट करते हैं । उदाहरण के लिए, वे कहेंगे: "बिटस्ट्रीम प्रारूप को इस तरह होना चाहिए", " 0x810429AABयहां पर इसका अनुवाद किया जाएगा", आदि। अक्सर वे एक संदर्भ एनकोडर और डिकोडर की आपूर्ति करते हैं, लेकिन एक एनकोडर फिर कैसे इस तरह के मिलान के लिए लिखा जाता है। प्रारूप पूरी तरह से निर्माताओं पर निर्भर है।

यही कारण है कि आपको बहुत ही कोडेक के लिए बहुत सारे एनकोडर मिलेंगे, और उनमें से कुछ व्यावसायिक भी।

एक उदाहरण उदाहरण - H.264

इससे पहले कि हम शब्दावली का मिश्रण करें, एक उदाहरण लेते हैं। H.264 के मामले पर विचार करें । मानक का नाम H.264 है - यह वास्तविक एनकोडर का नाम नहीं है। Mainconcept एक बहुत अच्छा वाणिज्यिक एनकोडर है, जबकि x264 एक स्वतंत्र और खुला स्रोत है। दोनों निश्चित रूप से अच्छी गुणवत्ता देने का दावा करते हैं।

मात्र तथ्य यह है कि आप यहाँ एक प्रतियोगिता के लिए एन्कोडिंग को अनुकूलित कर सकते हैं। दोनों एन्कोडर एक मानकीकृत बिटस्ट्रीम वितरित करेंगे जो हमेशा एच .264-कंप्लायंट डिकोडर द्वारा डिकोड किया जा सकता है।

संक्षेप में

तो, सभी में, चलो बस एक एनकोडर होगा:

  • वीडियो फ्रेम लें
  • एक वैध बिटस्ट्रीम का उत्पादन करें

फिर बिटस्ट्रीम को एक कंटेनर में गुणा किया जाता है।

डिकोडर होगा:

  • उस वैध बिटस्ट्रीम को लें
  • इससे वीडियो फ्रेम को फिर से बनाएँ

वे दोनों एक कोडेक मानक के अनुरूप हैं। बस इतना ही!


वर्तमान कोडेक्स

इन दिनों, आप शायद नीचे दिए गए कोडेक्स के साथ एन्कोडेड वीडियो पाएंगे। दिलचस्प है, उनमें से लगभग सभी मोशन पिक्चर एक्सपर्ट्स ग्रुप (एमपीईजी) द्वारा बनाए गए थे । लेकिन कुछ अन्य, रॉयल्टी-फ्री कोडेक्स भी हैं, जैसे कि Google द्वारा निर्मित या ओपन मीडिया के लिए एलायंस, जो एमपीईजी मानकों के प्रतियोगी हैं।

ध्यान दें कि "एमपीईजी" कोडेक्स और कंटेनर दोनों को संदर्भित कर सकता है, जैसा कि आप नीचे देखेंगे। यह भ्रम में जोड़ता है, लेकिन बस यह जानिए कि "एमपीईजी" का कोई मतलब नहीं है, उदाहरण के लिए "मेरे पास एमपीईजी प्रारूप में एक फ़ाइल है" बहुत अस्पष्ट है।

एमपीईजी -2

MPEG-2 काफी पुराना है। इसकी पहली सार्वजनिक रिलीज 1996 से है। MPEG-2 वीडियो ज्यादातर डीवीडी और टीवी प्रसारण के लिए उपयोग किया जाता है, जैसे DVB-T या उपग्रह, और विरासत अनुप्रयोग जहां संगतता महत्वपूर्ण है। MPEG-2 वीडियो ज्यादातर एक .MPG कंटेनर में पाए जाते हैं ।

MPEG-4 भाग 2

यह संभवतः वह है जो 2000 के दशक के मध्य में वेब के लिए वीडियो को एन्कोड करने के लिए इस्तेमाल किया गया था, लेकिन इसे बीच में ही हटा दिया गया था। यह व्यावहारिक फ़ाइल आकारों में अच्छी गुणवत्ता प्रदान करता है, जिसका मतलब है कि आप 600 एमबी सीडी पर 90 मिनट की लंबाई की पूरी फिल्म जला सकते हैं (जबकि एमपीईजी -2 के साथ आपको डीवीडी की आवश्यकता होगी, मेरा जवाब यहां देखें )। यह अब HD या 4K सामग्री के लिए इतना अच्छा काम नहीं करता है।

कुछ एनकोडर जो एमपीईजी -4 भाग 2 वीडियो का उत्पादन करते हैं , डिवएक्स हैं , इसके खुले खट्टे ripoff XviD , और नीरो डिजिटल हैं

MPEG-4 भाग 2 वीडियो ज्यादातर एक AVI कंटेनर में आते हैं , लेकिन MP4 भी अक्सर देखा जाता है।

MPEG-4 भाग 10 / AVC / H.264

इसे MPEG-4 एडवांस्ड वीडियो कोडिंग (AVC) या H.264 के रूप में भी जाना जाता है ; यह आज सबसे ज्यादा इस्तेमाल किया जाने वाला कोडेक है। यह छोटे फ़ाइल आकार में अच्छी गुणवत्ता प्रदान करता है और इसलिए इंटरनेट या मोबाइल उपकरणों के लिए सभी प्रकार के वीडियो के लिए पूरी तरह से अनुकूल है। आपको H.264 लगभग हर आधुनिक एप्लिकेशन में, फ़ोन से लेकर कैमकोर्डर तक मिलेगा। ब्लू-रे डिस्क पर, वीडियो अब H.264 में एन्कोडेड है।

इसके लिए कुछ एनकोडर हैं: x264 , NVENC (NVIDIA से), MainConcept । वीडियो ज्यादातर MP4 , MKV या MOV कंटेनर में आते हैं।

HEVC / H.265

जिसे MPEG-H भाग 2 भी कहा जाता है, यह MPEG-4 भाग 10 / AVC / H.264 का उत्तराधिकारी है। यह उच्च प्रस्तावों ( 8K तक ) के उद्देश्य से है और H.264 की तुलना में 50% तक उच्च एन्कोडिंग प्रदर्शन (गुणवत्ता बनाम बिटरेट) के लिए पेश कर सकता है ( उदाहरण के लिए, यह पेपर देखें )।

मानक 2013 में प्रकाशित किया गया था, और धीरे-धीरे, कोडेक को आईपीटीवी या ऑनलाइन वीडियो प्रसारण के लिए अधिक से अधिक उपयोग किया जाने लगा है। HEVC का उपयोग Apple द्वारा iOS पर वीडियो और छवियों ( HEIF का उपयोग करके ) को स्टोर करने के लिए भी किया जाता है । हालाँकि, यह तथ्य है कि HEVC से जुड़े कई पेटेंट पूल हैं, जिनमें कई कंपनियां (लगभग सभी लेकिन Apple) रॉयल्टी-फ्री विकल्पों में शिफ्ट हो रही हैं। HEVC भी सभी ब्राउज़रों द्वारा मूल रूप से समर्थित नहीं है, जो इसे वेब स्ट्रीमिंग के लिए अनुपयोगी बनाता है।

सबसे प्रसिद्ध एनकोडर x265 है । वहाँ भी NVENC है । वीडियो आमतौर पर MP4 कंटेनरों में आते हैं ।

वीपी 9 और एवी 1

VP9 (VP8 का उत्तराधिकारी) मुख्य रूप से Google द्वारा विकसित एक कोडेक है। यह खुला और रॉयल्टी-मुक्त है, और कई ब्राउज़रों में लागू किया गया है । इसकी गुणवत्ता लगभग HEVC जितनी अच्छी है, और कभी-कभी इससे भी बेहतर ( नेटफ्लिक्स के इस पेपर को देखें )। VP9 वह है जो आप तब प्राप्त करते हैं जब आप YouTube का समर्थन करने वाले ब्राउज़र पर देखते हैं।

VP9 को libvpx एनकोडर के साथ एन्कोड किया जा सकता है , और यह अक्सर WebM या MKV कंटेनरों में आता है ।

कुछ कंपनियों को HEVC के लिए एक और मजबूत प्रतियोगी बनाने के लिए एक साथ मिला - लेकिन एक रॉयल्टी-फ्री विकल्प के रूप में। AV1 VP9 का उत्तराधिकारी होगा, और यह इस पर आधारित है कि VP10 क्या बनना चाहिए था। यह एलायंस फॉर ओपन मीडिया (अमेज़ॅन, सिस्को, Google, इंटेल, माइक्रोसॉफ्ट, मोज़िला और नेटफ्लिक्स द्वारा स्थापित) द्वारा समर्थित है। इसके बारे में यहाँ और पढ़ें ।

Libaom एनकोडर AV1 बिटस्ट्रीम उत्पन्न करने के लिए इस्तेमाल किया जा सकता है, लेकिन यह अभी भी प्रयोगात्मक है।


एक प्रारूप (कंटेनर) क्या है?

अब तक हमने केवल कच्चे "बिटस्ट्रीम" की व्याख्या की है, जो मूल रूप से सिर्फ कच्चे वीडियो डेटा है। आप वास्तव में आगे बढ़ सकते हैं और इस तरह के कच्चे बिटस्ट्रीम का उपयोग करके वीडियो देख सकते हैं। लेकिन ज्यादातर मामलों में यह पर्याप्त या व्यावहारिक नहीं है।

इसलिए, आपको वीडियो को कंटेनर में लपेटने की आवश्यकता है। कई कारण हैं:

  • शायद आप वीडियो के साथ कुछ ऑडियो चाहते हैं
  • शायद आप वीडियो में एक निश्चित भाग को छोड़ना चाहते हैं (जैसे, "1 पर जाएं: 32: 20.12")
  • ऑडियो और वीडियो दोनों को पूरी तरह से सिंक्रनाइज़ किया जाना चाहिए
  • वीडियो को एक विश्वसनीय नेटवर्क पर प्रेषित करने और पहले पैकेट में विभाजित करने की आवश्यकता हो सकती है
  • वीडियो को एक हानिपूर्ण नेटवर्क (जैसे 3G) पर भेजा जा सकता है और पहले पैकेट में विभाजित किया जा सकता है

उन सभी कारणों के लिए, कंटेनर प्रारूपों का आविष्कार किया गया था, कुछ सरल, कुछ अधिक उन्नत। वे जो कुछ भी करते हैं वह वीडियो बिटस्ट्रीम को एक और बिटस्ट्रीम में "लपेट" देता है।

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

आइए कुछ लोकप्रिय कंटेनरों पर एक नज़र डालें।


लोकप्रिय कंटेनर

आपको अधिकतर कंटेनर में लिपटे हुए वीडियो मिलेंगे। अन्य कम लोकप्रिय भी हैं, लेकिन जैसा कि मैंने कहा, ज्यादातर, यह उन है:

AVI

ऑडियो वीडियो इंटरलीव - यह सबसे बुनियादी कंटेनर है, यह सिर्फ ऑडियो और वीडियो को इंटरलेव करने के लिए है। यह 1992 में लिखा गया था और आज भी उपयोग किया जाता है, लेकिन इसे विरासत माना जाता है, इसलिए अब इसका उपयोग न करें।

MP4

MPEG-4 भाग 14 के रूप में भी जाना जाता है और यह QuickTime फ़ाइल प्रारूप पर आधारित है। यह H.264 वीडियो के लिए गो-टू-फॉर्मेट है, लेकिन इसमें HEVC, MPEG-4 पार्ट 2 और MPEG-2 भी हैं।

यह कंटेनर केवल ऑडियो भी लपेट सकता है, यही कारण है कि आपको बहुत सारी .mp4 फाइलें मिलेंगी, जो कि कोई वीडियो नहीं हैं, बल्कि AAC-एन्कोडेड ऑडियो, .m4a फाइलें (सिर्फ एक अलग एक्सटेंशन) भी हैं। एक्सटेंशन .m4v आमतौर पर वीडियो बिटस्ट्रीम के लिए लिया जाता है।

एमकेवी और वेबएम

Matroska Video (MKV) एक खुला खट्टा और मुफ्त फ़ाइल स्वरूप है जो आजकल अक्सर पाया जाता है, क्योंकि यह मूल रूप से H.264 से VP9 तक किसी भी कोडेक का समर्थन करता है, और निश्चित रूप से कई ऑडियो कोडेक भी।

WebM MKV पर आधारित है और मुख्य रूप से VP9 वीडियो और Opus ऑडियो के लिए उपयोग किया जाता है - यह वेब स्ट्रीमिंग वीडियो के लिए पसंद का कंटेनर है जब इन कोडेक्स का उपयोग किया जाता है।

ऑग

Ogg कंटेनर Theora वीडियो कोडेक (और Vorbis ऑडियो कोडेक ) के लिए पसंद का कंटेनर है , जिसे Xiph.Org Foundation ने भी बनाया है। यह भी स्वतंत्र और खुला स्रोत है (कोडेक की तरह)।

FLV

फ़्लैश वीडियो प्रारूप एडोब द्वारा बनाया गया था, उनके स्ट्रीमिंग अनुप्रयोगों में उपयोग के लिए। इसका उपयोग अब और नहीं किया जाता है, क्योंकि जिस तरह से स्ट्रीमिंग की जाती है वह पिछले वर्षों में काफी बदल गई है।


लोकप्रिय कोडेक्स और प्रारूप

इसके अलावा, निम्नलिखित में से कौन सा कोडेक्स हैं, कौन से फ़ाइल स्वरूप हैं, और कौन से न तो हैं?

  • क्विकटाइम MOV : .mov क्विकटाइम फ़ाइल फॉर्मेट के लिए फाइल एक्सटेंशन है , जो Apple द्वारा बनाया गया एक कंटेनर है । इस कंटेनर को बाद में MP4 के लिए अनुकूलित किया गया था। यह सभी प्रकार के कोडेक्स ले जा सकता है। क्विकटाइम वास्तव में एक संपूर्ण मीडिया ढांचा है, यह वास्तव में किसी भी कोडेक को स्वयं निर्दिष्ट नहीं करता है जहां तक ​​मेरा संबंध है।
  • एमपीईजी (1, 2, 3, 4) : मोशन पिक्चर एक्सपर्ट्स ग्रुप द्वारा परिभाषित मानक। विवरण के लिए ऊपर मेरी पोस्ट देखें।
  • WMV : विंडोज मीडिया वीडियो। यह वास्तव में एक उन्नत सिस्टम प्रारूप कंटेनर में लिपटे एक कोडेक है , जो फिर से .wm एक्सटेंशन का उपयोग करता है । अजीब है, लेकिन यह तरीका है।
  • FFmpeg : यह न तो कोडेक है और न ही कंटेनर। यह वीडियो टूल्स का एक पुस्तकालय है जो विभिन्न कोडेक्स और कंटेनरों के बीच रूपांतरण की भी अनुमति देता है। FFmpeg खुले स्रोत libavcodecऔर libavformatपुस्तकालयों पर क्रमशः कोडेक्स और कंटेनर बनाने के लिए निर्भर करता है। आज आपको मिलने वाले अधिकांश वीडियो उपकरण इस पर आधारित हैं।
  • AVC : MPEG-4 भाग 10 या H.264 का पर्याय।
  • DivX : MPEG-4 पार्ट 2 वीडियो के लिए एक अन्य प्रकार का एनकोडर।
  • Xvid : MPEG-4 भाग 2 वीडियो के लिए एक प्रकार का एनकोडर। यह सिर्फ खुला स्रोत है, डिवएक्स का मुफ्त संस्करण है, जो निश्चित रूप से कुछ विवादों का कारण बना।
  • H.264 : MPEG-4 भाग 10 या AVC का पर्यायवाची।

एक और बात:

क्या मैं सही शब्दावली का उपयोग भी कर रहा हूँ?

मुझे लगता है कि एक बार गलतफहमी से बचने के लिए "प्रारूप" के बजाय विशेष रूप से "कोडेक" और "कंटेनर" का उपयोग करना पसंद करेंगे। एक प्रारूप सैद्धांतिक रूप से कुछ भी हो सकता है, क्योंकि कोडेक्स और कंटेनर दोनों एक प्रारूप निर्दिष्ट करते हैं (यानी डेटा का प्रतिनिधित्व कैसे किया जाना चाहिए)।

कहा जा रहा है, FFmpeg शब्दावली कंटेनर के लिए "प्रारूप" का उपयोग करना होगा। इसका कारण यह भी है:

  • libavcodecएन्कोडिंग / डिकोडिंग के लिए पुस्तकालय
  • libavformatकंटेनरों के लिए पुस्तकालय

33
अब, यह वही है जो किसी प्रश्न का उत्तर देने के लिए सही है। बहुत बढ़िया।
फ्रांसेस्को

1
शानदार उत्तर, लेकिन आपने ओग कंटेनर प्रारूप को याद किया।
इग्नासियो वाज़क्वेज़-अब्राम्स

7
यह सबसे भयानक जवाब है जो मैंने थोड़ी देर में देखा है। महान स्पष्टीकरण के लिए बहुत बहुत धन्यवाद! :)
मेहरदाद

@ मेहरदाद ग्लैड मैं इस विषय पर कुछ प्रकाश डाल सकता था। धन्यवाद :)
23'11

1
कभी-कभी आप चाहते हैं कि आप एक उत्तर पर कई अपवोट्स कर सकें :)
डॉल्फ एंड्रिंगा

3

सामान्य तौर पर एक मीडिया 'प्रारूप' वास्तव में एक कंटेनर होता है, जिसमें कुछ ऑडियो स्ट्रीम (कुछ ऑडियो कोडेक) और एक वीडियो स्ट्रीम (कुछ वीडियो कोडेक) और कभी-कभी अतिरिक्त जानकारी होती है। अधिकांश 'फाइलें' आपके पास कंटेनर पर आधारित फिल्टाइप होती हैं न कि कोडेक पर

FFmpeg न तो एक कंटेनर है और न ही एक कोडेक - इसकी लाइब्रेरी, कोडेक्स और सॉफ्टवेयर का एक बहुमुखी सूट है, जो कई कन्वर्टर्स और म्यूजिक प्लेयरों को बदलने वाली फाइलों के रूपांतरण के लिए है।

H.264 / AVC और xvid / divx कोडेक्स हैं

AVI (जो डिवएक्स / xvid फाइलें हैं), mp4, एमपीईजी कंटेनर हैं।

मैं QuickTime mov के बारे में निश्चित नहीं हूँ - .Mov एक कंटेनर है, QuickTime एक कोडेक है।


कोई "क्विकटाइम" कोडेक नहीं है। क्विकटाइम एक मल्टीमीडिया फ्रेमवर्क है, जिसमें .mov कंटेनर, एन्कोडिंग के लिए सॉफ्टवेयर, डिकोडिंग और कोडेक्स की एक श्रृंखला, साथ ही क्विकटाइम वीआर जैसी अन्य जिज्ञासाओं को प्रदर्शित करना शामिल है।
स्टिब

1

देखते हैं कोडेक और कंटेनर (फ़ाइल स्वरूपों)। कोडेक बताता है कि डेटा कैसे इनकोड / डिकोड किया गया है। अन्य बताता है कि फ़ाइल के अंदर एन्कोडेड डेटा कैसे रखा गया है।

अधिकांश मीडिया प्लेयर कई कोडेक और कंटेनर प्रकारों का समर्थन करते हैं। यह भ्रामक है, इसलिए मेरा सुझाव है कि आप अधिक जानकारी के लिए मेरे संदर्भ पढ़ें


-1

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

हम आमतौर पर प्रारूप नाम से अधिकांश वीडियो का उल्लेख करते हैं, इसलिए क्विकटाइम MOV, MPEG, और WMV प्रारूप हैं।

FFmpeg (मैंने ऐसा कभी नहीं सुना था) विभिन्न स्वरूपों को अन्य प्रारूपों में बदलने के लिए एक सॉफ्टवेयर का नाम प्रतीत होता है।

AVC और H.264 समान हैं, और HD वीडियो एन्कोडिंग के लिए एक प्रारूप है।

DivX एक व्यावसायिक रूप से बेचा जाने वाला कोडेक है।

Xvid MPEG-4 के लिए एक कोडेक है।


1
Ffmpeg FOSS कन्वर्टर्स के 99% के लिए बहुत ज्यादा बैकएंड है।
जर्नीमैन गीक

यह उत्तर गलत है। 7 वाक्यों में से केवल संख्या 6 और 7 सही हैं, यहां तक ​​कि उन में विस्तार की कमी है।
जिग्गंजर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.