मीडिया फ़ाइल की बुनियादी बातें

Derek Herman
Derek Herman
Joe Medley
Joe Medley

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

वीडियो फ़ाइलें दिखाना

आपको शायद लगे कि वीडियो कैमरे से रॉ फ़ाइल ली जा सकती है और उसे वेब पर अपलोड किया जा सकता है. YouTube या Vimeo जैसी वीडियो स्ट्रीमिंग साइटें, आपको ऐसा करने की सुविधा देती हैं. साथ ही, लाइव स्ट्रीमिंग की सुविधा भी देती हैं. आम तौर पर, कैमरे के एचडीएमआई पोर्ट से कनेक्ट करके और फिर कैप्चर कार्ड की मदद से प्रोसेस करके ऐसा किया जाता है. इन सेवाओं की मदद से, वीडियो को प्रोसेस करना और अपलोड करना काफ़ी आसान हो जाता है. इसमें, अलग-अलग रिज़ॉल्यूशन और अडैप्टिव स्ट्रीमिंग के लिए ज़रूरी कई फ़ाइलें और मेनिफ़ेस्ट जनरेट करना शामिल है. साथ ही, कई अन्य जटिल और बारीक शर्तें भी होती हैं, जिनकी वजह से खुद को होस्ट करना थोड़ा मुश्किल हो जाता है. अगर आपको अपनी साइट पर आने वाले लोगों को बेहतर अनुभव देना है, तो अपनी साइट और शायद किसी अलग मीडिया सर्वर से वीडियो तैयार करना और उसे दिखाना, सिर्फ़ कैमरे की रॉ फ़ाइल अपलोड करने से थोड़ा मुश्किल है.

वीडियो फ़ाइलें अलग-अलग फ़ॉर्मैट में आती हैं. आपके कैमरे से मिलने वाला फ़ॉर्मैट आम तौर पर .mov फ़ाइल होता है. अगर आपके पास कोई अच्छा मॉडर्न मिररललेस कैमरा है, तो .mp4 फ़ॉर्मैट भी मिल सकता है. हालांकि, .mov फ़ॉर्मैट में रिकॉर्डिंग करना, एडिट करना, और पोस्ट-प्रोडक्शन की शुरुआती प्रोसेस करना अच्छा होता है. हालांकि, फ़ाइल का साइज़ इतना बड़ा होता है कि इसे वेब पर स्ट्रीम नहीं किया जा सकता. साथ ही, 4K में रॉ .mp4 का फ़ाइल साइज़, मोबाइल पर उस फ़ाइल को चलाने के लिए बहुत ज़्यादा होगा. ब्राउज़र अलग-अलग फ़ाइल फ़ॉर्मैट के साथ काम करते हैं. इसलिए, अगर आपको अडैप्टिव स्ट्रीमिंग की सुविधा देनी है, तो आपको कई ऑप्टिमाइज़ की गई फ़ाइलें और एक मेनिफ़ेस्ट बनाना होगा. फ़ाइलों को बदलने से पहले, आपको उनके बारे में कुछ बुनियादी बातें और उनकी विशेषताओं के बारे में जानना होगा.

कंटेनर, कोडेक, और स्ट्रीम?

आपके ऑपरेटिंग सिस्टम के शेल में दिखने वाली फ़ाइल एक कंटेनर होती है. इसे फ़ाइल एक्सटेंशन (.mp4, .webm, .ogg वगैरह) से पहचाना जाता है. कंटेनर में एक या उससे ज़्यादा स्ट्रीम होती हैं. किसी मीडिया फ़ाइल में, जितनी चाहे उतनी स्ट्रीम हो सकती हैं. साथ ही, ये स्ट्रीम कई फ़ॉर्मैट में हो सकती हैं. हालांकि, हम यहां इनके बारे में नहीं बताएंगे.

इस सेक्शन में बाद में इस्तेमाल की गई सैंपल फ़ाइलों में ज़्यादा से ज़्यादा दो स्ट्रीम होती हैं: ऑडियो स्ट्रीम और वीडियो स्ट्रीम. आपको अन्य टाइप के एलिमेंट भी दिख सकते हैं. जैसे, कैप्शन और डेटा. हालांकि, इन दोनों के बारे में इस लेख में नहीं बताया गया है. कुछ मामलों में, ऑडियो और वीडियो स्ट्रीम को अलग-अलग मैनेज किया जाता है. आपको ज़्यादातर फ़ाइलों में सिर्फ़ एक ऑडियो स्ट्रीम और एक वीडियो स्ट्रीम दिखेगी.

ऑडियो और वीडियो स्ट्रीम में, असल डेटा को कोडेक का इस्तेमाल करके कंप्रेस किया जाता है. कोडेक या कोडर/डिकोडर, वीडियो या ऑडियो डेटा के लिए कंप्रेशन फ़ॉर्मैट होता है. कंटेनर और कोडेक के बीच का अंतर जानना ज़रूरी है, क्योंकि एक ही कंटेनर वाली फ़ाइलों का कॉन्टेंट, अलग-अलग कोडेक से कोड में बदला जा सकता है.

नीचे दी गई इमेज में इस स्ट्रक्चर के बारे में बताया गया है. बाईं ओर, दो स्ट्रीम वाला बुनियादी कंटेनर स्ट्रक्चर है. दाईं ओर, किसी एक WebM फ़ाइल के लिए उस स्ट्रक्चर की खास जानकारी दी गई है.

मीडिया फ़ाइल के स्ट्रक्चर की तुलना, किसी काल्पनिक मीडिया फ़ाइल से की जा रही है.
मीडिया फ़ाइल के हिस्से.

WebM कंटेनर में मौजूद फ़ाइलों का साइज़, दूसरे फ़ॉर्मैट की तुलना में काफ़ी कम हो सकता है. इसलिए, मोबाइल साइटों पर वीडियो स्ट्रीम करने के लिए, वे एक अच्छा विकल्प हैं. माफ़ करें, सभी ब्राउज़र में अप-टू-डेट कंटेनर और कोडेक काम नहीं करते. उदाहरण के लिए, WebM को खास तौर पर वेब के लिए, अच्छी क्वालिटी और ओपन सोर्स के तौर पर बनाया गया था. हालांकि, फ़िलहाल यह सभी प्लैटफ़ॉर्म पर काम नहीं करता. क्या इसका इस्तेमाल किया जा सकता है के मुताबिक, फ़िलहाल Safari में एम्बेड किए गए वीडियो के लिए WebM का इस्तेमाल नहीं किया जा सकता. हालांकि, WebM में WebRTC में इस्तेमाल किए जाने वाले VP8 और VP9 कोडेक के साथ कुछ हद तक काम करने की सुविधा है. इसलिए, आपके लिए सबसे अच्छा विकल्प यह है कि आप फ़ॉलबैक वीडियो उपलब्ध कराएं.

कोडेक फ़ॉर्मैट

कई फ़ाइल टाइप, एक ही कंटेनर में कई कोडेक के साथ काम करते हैं. उपलब्ध वीडियो कोडेक और ऑडियो कोडेक की पूरी सूची बनाने के लिए, एक पूरी वेबसाइट की ज़रूरत होगी. अभी दिए गए लिंक, MDN की उन काम की सूचियों के लिए हैं जो वेब पर इस्तेमाल की जा सकती हैं. फ़िलहाल, इस्तेमाल किए जाने वाले फ़ाइल टाइप और उनके लिए इस्तेमाल किए जा सकने वाले कोडेक के बारे में यहां बताया गया है. फ़ाइल टाइप के लिंक पर जाकर, उन ब्राउज़र के बारे में जानें जिन पर ये फ़ाइल टाइप काम करते हैं.

फ़ाइल टाइप वीडियो कोडेक ऑडियो कोडेक
MP4 AV1, AVC (H.264)*, VP9 AAC
WebM AV1, VP9* Vorbis, Opus

* इससे, वीडियो के लिए इस्तेमाल किए जाने वाले कोडेक के बारे में पता चलता है.

बिटरेट और रिज़ॉल्यूशन

बिटरेट, किसी स्ट्रीम के एक सेकंड को एन्कोड करने के लिए इस्तेमाल किए जाने वाले बिट की ज़्यादा से ज़्यादा संख्या होती है. स्ट्रीम के एक सेकंड को एन्कोड करने के लिए जितने ज़्यादा बिट का इस्तेमाल किया जाता है, उतनी ही ज़्यादा जानकारी और फ़िडेलिटी मिलती है. हम बिटरेट में इस कॉन्सेप्ट के बारे में ज़्यादा जानकारी देते हैं.

रिज़ॉल्यूशन, वीडियो के एक फ़्रेम में मौजूद जानकारी की मात्रा होती है. इसे हर डाइमेंशन में मौजूद लॉजिकल पिक्सल की संख्या के तौर पर दिखाया जाता है. हम समस्या हल करना सेक्शन में, इस कॉन्सेप्ट के बारे में ज़्यादा जानकारी देते हैं.

अगले लेख में, मीडिया ऐप्लिकेशन की बुनियादी बातें में, हम आपको दो कमांड-लाइन टूल, Shaka Packager और FFmpeg का इस्तेमाल करके, इन विशेषताओं की जांच करने का तरीका बताएंगे.