लेख
थंबनेल और कॉन्टैक्ट शीट के लिए वीडियो फ़्रेम निकालना
एक वीडियो स्थिर छवियों का एक अनुक्रम है। उनमें से एक छवि बाहर निकालने पर आपको एक थंबनेल, एक कवर, या एक कॉन्टैक्ट शीट मिलती है। परिणाम तब तीखा और अधिक पूर्वानुमेय होता है जब आप समझते हैं कि एक वीडियो codec अपने फ़्रेम कैसे संग्रहीत करता है और कौन-से पल पकड़ने योग्य हैं।
फ़्रेम और फ़्रेम दर
एक वीडियो फ़ाइल स्थिर छवियों का एक अनुक्रम है जिसे गति का भ्रम पैदा करने के लिए पर्याप्त तेज़ दिखाया जाता है। प्रति सेकंड दिखाई गई छवियों की संख्या फ़्रेम दर है, fps में व्यक्त। आम मान सिनेमा के लिए 24 fps, PAL प्रसारण के लिए 25 fps, वेब वीडियो के लिए 30 fps, और गेमिंग फ़ुटेज के लिए 60 fps हैं। 24 fps पर, एक दो-घंटे की फ़िल्म में लगभग 172,800 अलग फ़्रेम होते हैं। हर फ़्रेम समय में एक अकेले पल से मेल खाता है; एक निकालना उस पल को एक स्वतंत्र छवि के रूप में जमा देता है। फ़्रेम दर यह भी तय करती है कि बैच निकालते समय आपको फ़ुटेज के प्रति सेकंड कितने फ़्रेम मिलते हैं: 30 fps पर, एक मिनट वीडियो से हर फ़्रेम लेना आपको 1,800 छवियाँ देता है, जो अक्सर आपकी ज़रूरत से कहीं अधिक है। किसी कम फ़्रेम दर पर निकालना, या उन टूल में हर N-वाँ फ़्रेम निकालना जो इसे सपोर्ट करते हैं, उस मात्रा को घटाने का एक व्यावहारिक तरीक़ा है जबकि पूरी अवधि को कवर रखता है।

keyframe बनाम प्रक्षेपित (interpolated) फ़्रेम
आधुनिक वीडियो codec हर फ़्रेम को एक पूर्ण छवि के रूप में संग्रहीत नहीं करते। वे स्थान बचाने के लिए तीन फ़्रेम प्रकार उपयोग करते हैं। एक I-frame, जिसे keyframe भी कहते हैं, एक पूर्ण, स्व-निहित छवि है। एक P-frame केवल वे पिक्सेल संग्रहीत करता है जो पिछले I-frame या P-frame के बाद बदले। एक B-frame एक पिछले फ़्रेम और एक भविष्य के फ़्रेम दोनों के सापेक्ष परिवर्तन संग्रहीत करता है, उसे फिर से बनाने के लिए दोनों ओर के फ़्रेम माँगता है। चूँकि एक P-frame या B-frame अपने आप अधूरा है, उसे डिकोड करने के लिए आसपास के संदर्भ फ़्रेम चाहिए। यदि उन संदर्भ फ़्रेम में गति-धुँधलापन या एक संक्रमण हो, फिर से बनी छवि वह धुँधलापन विरासत में लेती है। इसके विपरीत, एक I-frame स्वतंत्र रूप से डिकोड होता है। यह हमेशा तीखा होता है क्योंकि यह पड़ोसियों से कुछ नहीं उधार लेता। थंबनेल के रूप में उपयोग के लिए फ़्रेम निकालते समय, एक I-frame पर उतरना आपको संभव सबसे साफ़ परिणाम देता है। अधिकांश codec I-frame को दृश्य-कट पर रखते हैं, जो स्वाभाविक रूप से तीखे शुरुआती बिंदु हैं।
सही पल चुनना
एक अच्छी तरह डिकोड किया I-frame भी एक ख़राब थंबनेल बना सकता है यदि पकड़ा गया पल अनाकर्षक हो। कई कारक थंबनेल गुणवत्ता घटाते हैं। गति-धुँधलापन तब होता है जब कैमरा या विषय फ़्रेम एक्सपोज़र के दौरान तेज़ी से हिलता है; परिणामी लकीर एक फ़्रेम को नरम दिखाती है भले ही डिकोड साफ़ रहा हो। हलन-विलय (dissolve) या फ़ेड के बीच पकड़े संक्रमण फ़्रेम में दो अतिव्यापी छवियाँ होती हैं और स्वतंत्र चित्रों के रूप में शायद ही काम करते हैं। कम-एक्सपोज़ या अधिक-एक्सपोज़ फ़्रेम, जो किसी दृश्य के आरंभ में स्वतः-एक्सपोज़र स्थिर होने से पहले आम हैं, छाया या उजाले में विवरण खो देते हैं। सबसे अच्छे थंबनेल फ़्रेम स्पष्ट क्रिया या भाव, अच्छी रोशनी, और स्थिर कैमरा वाले पलों से आते हैं। सटीक टाइमस्टैम्प दिखाने वाले प्लेयर से वीडियो में आगे-पीछे करना आपको उन पलों को निकालने से पहले पहचानने देता है। एक प्लेयर में रुका हुआ अच्छा दिखने वाला फ़्रेम आमतौर पर एक स्थिर निर्यात के रूप में भी अच्छा दिखेगा।

निर्यात: रिज़ॉल्यूशन, फ़ॉर्मैट और हर N-वाँ फ़्रेम
जब आप एक फ़्रेम निकालते हैं, निर्यात की गई छवि को वीडियो के मूल रिज़ॉल्यूशन से मेल खाना चाहिए। ऊपर स्केल करना प्रक्षेपण artefact लाता है; नीचे स्केल करना उन पिक्सेल को हटाता है जो आप शायद चाहें। एक 1080p वीडियो 1920x1080 पिक्सेल छवियाँ बनाता है, और एक 4K वीडियो 3840x2160। फ़ॉर्मैट के लिए, PNG हर पिक्सेल ठीक-ठीक बचाता है और तब सही चुनाव है जब आपको संपादन या आगे स्केलिंग के लिए अधिकतम तीखापन चाहिए। JPEG छोटा है और पूर्वावलोकन या साझा करने के लिए ठीक है, पर यह तीखे किनारों के आसपास संपीड़न artefact लाता है। यदि आप एक कॉन्टैक्ट शीट बना रहे हैं, पूरी अवधि को कवर करते छोटे प्रतिनिधि फ़्रेम की एक ग्रिड, हर फ़्रेम खींचने के बजाय एक तय फ़्रेम दर पर निकालना मानक तरीक़ा है: 30 fps स्रोत से 1 फ़्रेम प्रति सेकंड माँगना आपको फ़ुटेज के प्रति सेकंड एक छवि देता है, और 5 या 10 fps जैसी अधिक दर बारीक़ी से जाँचने के लिए घना सेट देती है। सटीक दर इस पर निर्भर है कि आपको कितना विवरण चाहिए बनाम कितनी छवियाँ संभालनी हैं।
video-extract-frames से स्थानीय रूप से करना
Sunasty का video-extract-frames टूल आपके वीडियो को WebAssembly में संकलित FFmpeg का उपयोग कर पूरी तरह ब्राउज़र के भीतर डिकोड करता है। आप एक फ़ाइल छोड़ते हैं, 1 से 30 फ़्रेम प्रति सेकंड के बीच एक फ़्रेम दर चुनते हैं, PNG या JPEG चुनते हैं, और टूल उस दर पर आपके ब्राउज़र की मेमोरी में फ़्रेम डिकोड करता है और परिणाम अलग-अलग डाउनलोड के रूप में देता है, जो प्रति रन 300 फ़्रेम तक सीमित है। आपकी वीडियो फ़ाइल कभी आपका डिवाइस नहीं छोड़ती। प्रक्रिया के दौरान किसी भी क्षण कोई बाइट किसी सर्वर को नहीं भेजी जाती। यह व्यक्तिगत या संवेदनशील सामग्री वाले फ़ुटेज के लिए मायने रखता है: एक पारिवारिक रिकॉर्डिंग, एक साक्षात्कार, या संपादन से पहले कच्चा फ़ुटेज। ब्राउज़र वीडियो को RAM में एक आभासी फ़ाइल-सिस्टम में लोड करता है, FFmpeg डिकोड चलाता है, और छवियाँ आपको वापस सौंपता है। समझौता यह है कि डिकोडिंग समर्पित हार्डवेयर के बजाय आपके CPU पर सॉफ़्टवेयर में होती है, इसलिए एक लंबा उच्च-रिज़ॉल्यूशन वीडियो एक मूल ऐप्लिकेशन से अधिक समय लेता है। मुट्ठी भर फ़्रेम निकालने या एक छोटे क्लिप से कॉन्टैक्ट शीट बनाने के लिए, गति व्यावहारिक है।
इस लेख में उल्लेखित टूल्स
- वीडियो फ्रेम निकालेंवीडियो से PNG या JPG छवियों के रूप में स्थिर फ्रेम सीधे अपने ब्राउज़र में निकालें। कोई अपलोड नहीं।
- वीडियो ट्रिम करेंवीडियो को सीधे अपने ब्राउज़र में प्रारंभ/समाप्ति समय सीमा तक काटें। तेज़ स्ट्रीम कॉपी या सटीक रि-एनकोड। कोई अपलोड नहीं।
- Video से GIFएक वीडियो क्लिप को सीधे अपने ब्राउज़र में एनिमेटेड GIF में बदलें। कोई अपलोड नहीं।
अक्सर पूछे जाने वाले सवाल
मेरा निकाला फ़्रेम धुँधला क्यों दिखता है?
सबसे आम कारण गति के किसी पल के दौरान एक P-frame या B-frame पर उतरना है। ये फ़्रेम पूर्ण छवियों के बजाय अंतर संग्रहीत करते हैं, और स्रोत फ़ुटेज में गति-धुँधलापन डिकोड में चला आता है। एक तीखे परिणाम के लिए निकटतम I-frame निकालने का प्रयास करें, जो एक दृश्य-कट या एक आवधिक keyframe से मेल खाता है।
क्या मुझे फ़्रेम PNG में निर्यात करने चाहिए या JPEG में?
PNG यदि आप फ़्रेम को संपादित करने, ऊपर स्केल करने, या ऐसे संदर्भ में उपयोग करने की योजना बनाते हैं जहाँ संपीड़न artefact दिखेंगे। JPEG यदि आपको त्वरित साझाकरण या पूर्वावलोकन के लिए एक छोटी फ़ाइल चाहिए और हल्की गुणवत्ता कमी स्वीकार्य है। एक निश्चित छोटे आकार पर दिखने वाले थंबनेल के लिए, एक उचित गुणवत्ता सेटिंग पर JPEG आमतौर पर ठीक है।
मैं किसी वीडियो से एक कॉन्टैक्ट शीट कैसे बनाऊँ?
एक अकेले टाइमस्टैम्प के बजाय इतनी कम फ़्रेम दर चुनें जो आपको संभालने लायक़ फ़्रेम संख्या दे। दो-मिनट क्लिप के लिए, 1 फ़्रेम प्रति सेकंड आपको लगभग 120 फ़्रेम देता है, जो एक अच्छी ग्रिड चुनने के लिए काफ़ी घना है; आउटपुट वैसे भी प्रति रन 300 फ़्रेम तक सीमित है। आज 1 fps से मोटा कोई दर विकल्प नहीं है, इसलिए विरल शीट के लिए, 1 fps पर निकालें और अंतिम ग्रिड के लिए केवल वे फ़्रेम रखें जो आपको चाहिए।