बिटरेट, रेज़ॉल्यूशन और फ़्रेम रेट
इनमें से कौन-सी सेटिंग फ़ाइल छोटी करती है, और कौन-सी बस उसे बदसूरत बना देती है?
एक समीकरण ही ज़्यादातर बात समझा देता है
फ़ाइल का साइज़, लगभग सटीक तौर पर, बिटरेट गुणा अवधि है। बिटरेट यह है कि एन्कोडर को हर सेकंड कितने बिट खर्च करने की इजाज़त है; अवधि यह है कि वह उन्हें कितने सेकंड तक खर्च करता है। बाकी सब कुछ — रेज़ॉल्यूशन, फ़्रेम रेट, हलचल, कोडेक — यह बदलता है कि किसी दिए हुए बिटरेट पर तस्वीर कितनी अच्छी दिखेगी, न कि फ़ाइल कितनी बड़ी होगी।
एक हिसाब लगाकर देखिए तो बात ठोस हो जाती है। साठ सेकंड की क्लिप 5 मेगाबिट प्रति सेकंड पर एन्कोड करने पर उसमें 300 मेगाबिट वीडियो डेटा होता है, यानी 37.5 मेगाबाइट, और उसके ऊपर ऑडियो ट्रैक तथा कंटेनर का ओवरहेड। यह गणित है, कोई माप नहीं: वही साठ सेकंड 2 Mbit/s पर 15 MB के होंगे, फ़्रेम में चाहे कुछ भी हो।
रेज़ॉल्यूशन और फ़्रेम रेट माँग हैं, साइज़ नहीं
रेज़ॉल्यूशन या फ़्रेम रेट बढ़ाने से फ़ाइल सीधे बड़ी नहीं होती। इससे यह बढ़ता है कि ठीक-ठाक दिखने के लिए एन्कोडर को कितने बिट चाहिए। 2 Mbit/s पर 4K क्लिप उतनी ही बड़ी होती है जितनी 2 Mbit/s पर 720p क्लिप; 4K वाली बस कहीं ज़्यादा बुरी दिखती है, क्योंकि वही बजट नौ गुना ज़्यादा पिक्सेल पर फैलाया जा रहा है।
इसीलिए रेज़ॉल्यूशन घटाना वीडियो छोटा करने का इतना कारगर तरीका है। आप रेज़ॉल्यूशन बदलकर फ़ाइल छोटी नहीं कर रहे — आप कम बिटरेट को स्वीकार्य दिखने लायक बना रहे हैं, और फिर वही कम बिटरेट चुन रहे हैं।
| रेज़ॉल्यूशन | 30 fps पर | 60 fps पर |
|---|---|---|
| 3840 × 2160 | 24.9 करोड़ px/s | 49.8 करोड़ px/s |
| 1920 × 1080 | 6.2 करोड़ px/s | 12.4 करोड़ px/s |
| 1280 × 720 | 2.8 करोड़ px/s | 5.5 करोड़ px/s |
| 854 × 480 | 1.2 करोड़ px/s | 2.5 करोड़ px/s |
ये आँकड़े एन्कोडर का काम-बोझ हैं, और ये उसी सीधे तरीके से घटते-बढ़ते हैं। फ़्रेम रेट आधा करने पर बोझ आधा हो जाता है; 1080p से 720p पर आने से वह करीब एक-तिहाई रह जाता है। पर फ़्रेम रेट का एक दूसरा असर भी है: यह बदल देता है कि हलचल कैसी महसूस होती है। स्थिर बैठे बोलते हुए व्यक्ति का फ़्रेम रेट आधा करना लगभग अदृश्य है; तेज़ पैन पर वही आधा करना बहुत साफ़ दिखता है।
क्वालिटी इंडेक्स असल में क्या करता है
आजकल के ज़्यादातर एन्कोडर बिटरेट टारगेट के बजाय क्वालिटी टारगेट पसंद करते हैं। आप एक क्वालिटी इंडेक्स देते हैं, एन्कोडर फ़्रेम-दर-फ़्रेम उतने बिट खर्च करता है जितने उस क्वालिटी को चाहिए, और नतीजे का बिटरेट सामग्री के हिसाब से बदलता रहता है। आम तौर पर यही बेहतर सेटिंग है, क्योंकि यह बिट वहाँ लगाती है जहाँ तस्वीर को उनकी ज़रूरत है, बजाय इसके कि स्थिर फ़्रेम पर बर्बाद हों और तेज़ फ़्रेम भूखा रह जाए।
इसका नतीजा यह है कि क्वालिटी इंडेक्स आपको पहले से फ़ाइल का साइज़ नहीं बताता। एक ही इंडेक्स पर एन्कोड की गई दो क्लिप के साइज़ में बहुत बड़ा फ़र्क हो सकता है, और एन्कोड किए बिना जानने का कोई तरीका नहीं। अगर आपको किसी साइज़ सीमा पर पहुँचना ही है, तो या तो एन्कोड करके जाँचिए, या बिटरेट टारगेट इस्तेमाल कीजिए और यह मान लीजिए कि इसके बदले क्वालिटी घटती-बढ़ती रहेगी।
हलचल छिपा हुआ चर है
वीडियो कोडेक हर फ़्रेम को पिछले फ़्रेमों से फ़र्क के रूप में बताकर काम करते हैं। जब बहुत कम बदलता है — स्थिर कैमरा, स्लाइड डेक, सादी दीवार के सामने चेहरा — तो फ़र्क बेहद छोटे होते हैं और एन्कोडर को बहुत कम बिट चाहिए। जब सब कुछ बदलता है — हाथ से किया गया पैन, कंफ़ेटी, बारिश, पानी, हवा में हिलते पत्ते, हर सेकंड बदलता सीन — तो लगभग कुछ भी अनुमान से नहीं निकलता और बिटरेट चढ़ जाता है।
- ग्रेन और सेंसर नॉइज़ हलचल जैसा बर्ताव करते हैं: वे हर फ़्रेम में हर पिक्सेल बदल देते हैं और एन्कोड करने में महँगे पड़ते हैं।
- हाथ में पकड़कर लिया गया हिलता हुआ क्लिप उसी विषय को ट्राइपॉड पर शूट करने से कहीं ज़्यादा महँगा पड़ता है।
- ज़्यादातर स्थिर इंटरफ़ेस की स्क्रीन रिकॉर्डिंग बेहद सस्ती रहती है, जब तक कुछ स्क्रॉल न होने लगे।
- फ़ेड और डिज़ॉल्व सीधे कट से ज़्यादा महँगे हैं, क्योंकि इनमें एक सेकंड या उससे ज़्यादा तक हर पिक्सेल थोड़ा-थोड़ा बदलता है।
ऑडियो छोटा है, जब तक छोटा नहीं रहता
ज़्यादातर क्लिप में ऑडियो नगण्य होता है: 128 kbit/s पर स्टीरियो ट्रैक हर मिनट करीब एक मेगाबाइट जोड़ता है। लेकिन ज़्यादा कम्प्रेस की गई, छोटी, कम रेज़ॉल्यूशन वाली क्लिप में यह कुल साइज़ का ध्यान देने लायक हिस्सा बन सकता है। अगर आप किसी साइज़ सीमा से ज़ोर-ज़ोर से भिड़ रहे हैं, तो तस्वीर को और बिगाड़ने से पहले ऑडियो का बिटरेट घटाने या मोनो पर आने पर विचार कीजिए। अगर ऑडियो का कोई मतलब ही नहीं है, तो ट्रैक पूरी तरह हटा देना एक रीमक्स है और क्वालिटी में कुछ भी खर्च नहीं करता।
एक नुस्खा जो आम तौर पर काम करता है
- तय कीजिए कि क्लिप असल में ज़्यादा से ज़्यादा जितनी बड़ी स्क्रीन पर देखी जाएगी वह कितनी है, और रेज़ॉल्यूशन उतना ही रखिए।
- जब तक हलचल हल्की न हो, सोर्स का फ़्रेम रेट बनाए रखिए; उसे आधा करना दिखने वाला बदलाव है, मुफ़्त की बचत नहीं।
- बिटरेट के बजाय क्वालिटी इंडेक्स से एन्कोड कीजिए, फिर नतीजा नापिए।
- अगर नतीजा बहुत बड़ा है, तो क्वालिटी और घटाने से पहले रेज़ॉल्यूशन घटाइए।
- क्लिप को ट्रिम कीजिए। अवधि पूरे समीकरण पर सीधा गुणक है, और तीस गैर-ज़रूरी सेकंड किसी भी सेटिंग से ज़्यादा महँगे पड़ते हैं।
ईमेल के लिए वीडियो छोटा करना
ईमेल की सीमाएँ तैयार अटैचमेंट पर लागू होती हैं, इसलिए सबसे पहले अवधि जाँचिए। जो भी गैर-ज़रूरी है उसे ट्रिम कीजिए, फिर जब क्लिप किसी बड़े डिस्प्ले के बजाय मैसेज में देखी जानी हो तो रेज़ॉल्यूशन घटाकर 720p या 480p कर दीजिए। पिक्सेल की माँग कम होने से एन्कोडर डिटेल बर्बाद किए बिना कहीं छोटा बिटरेट इस्तेमाल कर पाता है।
अगर अटैचमेंट फिर भी प्रोवाइडर की सीमा से चूक जाए, तो उसे छोटा कीजिए या किसी स्वीकृत फ़ाइल-ट्रांसफ़र सेवा से साझा कीजिए। उसी लंबी क्लिप को बार-बार कम क्वालिटी पर एन्कोड करते रहने से आख़िर में ऐसी फ़ाइल बनती है जो दिखती बुरी है और फिर भी बहुत बड़ी हो सकती है, क्योंकि अवधि बिटरेट को गुणा करती ही रहती है।
यह आपको क्या नहीं बता सकता
इस गाइड में जानबूझकर कोई टारगेट बिटरेट नहीं दिया गया है। सुझाया गया कोई भी नंबर कोडेक, एन्कोडर के इम्प्लीमेंटेशन, सामग्री और देखने की परिस्थितियों पर निर्भर करता है, और इन चार चीज़ों के बिना बताया गया कोई भी आँकड़ा सजावट भर है। अपनी क्लिप का तीस सेकंड का नमूना दो सेटिंग्स पर एन्कोड कीजिए और दोनों देखिए — वह तुलना किसी और के फ़ुटेज पर नापी गई किसी भी टेबल से ज़्यादा कीमती है।
ब्राउज़र में होने वाली एन्कोडिंग की एक और खास सीमा: रफ़्तार आपका डिवाइस तय करता है। एन्कोडिंग सचमुच भारी काम है, फ़ोन गर्म होते ही धीमे पड़ जाते हैं, और ऊँचे रेज़ॉल्यूशन वाली लंबी क्लिप किसी खास डिवाइस के बस से बाहर हो सकती है। यह हार्डवेयर की सीमा है, कोई ऐसी सेटिंग नहीं जिसे बदलकर टाला जा सके।