आप ऐसा क्यों करना चाहेंगे?
<पी> ठीक है, जैसा कि मैंने पहले उल्लेख किया है, किसी भी प्रोग्राम या ऐप में किसी भी तकनीकी सीमा के कारण आपको अपने दोस्तों के साथ वीडियो सामग्री साझा करने में समस्या हो सकती है। कुछ परिदृश्यों में, आपकी रुचि केवल वास्तविक वीडियो भाग (कोई ऑडियो नहीं) में हो सकती है, और आपको स्थान/आकार प्रतिबंध या प्रारूप प्रतिबंध का भी सामना करना पड़ सकता है। हो सकता है कि आप क्लिप को डाउनलोड करने योग्य फ़ाइलों के रूप में पेश करने के बजाय चैट में एम्बेड करना चाहें, क्योंकि क्लिप अधिक सुव्यवस्थित मेम अनुभव प्रदान करती है। <पी> इसने मुझे यह देखने की खोज में प्रेरित किया कि मैं वीडियो क्लिप के साथ क्या कर सकता हूं। ठीक है, यदि आपके पास एसडी सामग्री है, तो भी आप इसे एचडी के रूप में ट्रांसकोड कर सकते हैं। कोई बात नहीं। इसी तरह, आप वीडियो क्लिप को GIF इमेज में बदल सकते हैं। हालाँकि, डिफ़ॉल्ट रूप से, ऐसा रूपांतरण सुंदर नहीं हो सकता है, और आपको कम-रिज़ॉल्यूशन वाली, गैर-लूपिंग फ़ाइलें मिल सकती हैं। यह सम्मानजनक स्मृतिशास्त्र के पंथ के विरुद्ध है। <पी> ठीक है, तो चलिए आगे बढ़ते हैं और वीडियो फ़ाइलों (जैसे MP4, MOV) को GIFs में परिवर्तित करते हैं...एफएफएमईजी कमांड लाइन
<पी> ऐसा करने का "सबसे आसान" तरीका, बिना ऑनलाइन पोर्टल या अपने फ़ोन पर सभी प्रकार के अजीब ऐप्स डाउनलोड किए बिना, निःशुल्क, ओपन-सोर्स ffmpeg उपयोगिता (डेस्कटॉप पर) का उपयोग करना है। यदि आप लिनक्स उपयोगकर्ता हैं, तो यह सीधे रिपोज़ से इंस्टॉलेशन के लिए उपलब्ध है। विंडोज़ उपयोगकर्ता केवल आधिकारिक साइट से प्रासंगिक निष्पादनयोग्य डाउनलोड कर सकते हैं, और वहां से जा सकते हैं। <पी> ffmpeg -i [इनपुट] -vf "fps=XX,scale=YYYY:-1:flags=lanczos" -लूप 0 [आउटपुट] <पी> एक अधिक विशिष्ट उदाहरण: <पी> ffmpeg -i Test.mov -vf "fps=24,scale=1920:-1:flags=lanczos" -loop 0 Test.gif <पी> हमारे पास यहां क्या है?- -i इनपुट फ़ाइल का नाम प्रदान करता है, जिस वीडियो को हम कनवर्ट करना चाहते हैं।
- -vf उन वीडियो विकल्पों को निर्दिष्ट करता है जिन्हें हम रूपांतरण के लिए उपयोग करना चाहते हैं
- fps=XX फ़्रेम दर को परिभाषित करता है; किसी भी फ़्रेम ड्रॉप या इंटरपोलेशन से बचने के लिए, इसे मूल वीडियो फ़्रेम दर से मिलाने का प्रयास करें। इस प्रकार, यदि आपके पास सामान्य 24FPS वीडियो है, तो आप 24 का उपयोग करेंगे। हालाँकि, आपको ऐसा करने की आवश्यकता नहीं है, लेकिन इसके परिणामस्वरूप वास्तविक GIF प्लेबैक मूल की तुलना में धीमा या तेज़ हो सकता है (जब तक कि आप एक अलग फ्रेम संक्रमण गति प्रदान नहीं करते)।
- स्केल=YYYY:-1 आपको वीडियो को ऊपर/नीचे करने की अनुमति देता है, जो हमें एचडी सामग्री बनाने की भी अनुमति देता है। आप ऊंचाई और चौड़ाई दोनों प्रदान कर सकते हैं, या आप केवल एक प्रदान कर सकते हैं, और ffmpeg को दूसरे को आनुपातिक रूप से स्केल करने की अनुमति दे सकते हैं (-1)। मेरे उदाहरण में, मैं एक वीडियो को 1920px चौड़ाई के साथ HD GIF में परिवर्तित कर रहा हूं। ऊंचाई मूल वीडियो अनुपात से मेल खाएगी, इसलिए यदि आपने इसे 16:9 अनुपात के साथ रिकॉर्ड किया है, तो ऊंचाई 1080 पिक्सल पर सेट की जाएगी। या आप दूसरे तरीके से भी कर सकते हैं. कृपया ध्यान दें कि आप 320 पीएक्स या 640 पीएक्स जैसे बहुत छोटे आयामों का उपयोग कर सकते हैं (और आमतौर पर करना चाहिए)। हम शीघ्र ही देखेंगे कि क्यों। वैसे भी, आप कुछ ऐसा भी आज़मा सकते हैं:
- झंडे स्केलिंग के लिए उपयोग किए जाने वाले एल्गोरिदम को परिभाषित करते हैं (जितना आप जीआईएमपी में करेंगे)। यहां आप और भी बहुत कुछ कर सकते हैं, जिसमें रंगीन चैनलों में हेरफेर और न जाने क्या-क्या शामिल है, लेकिन सभी व्यावहारिक उद्देश्यों के लिए, डिफ़ॉल्ट काफी अच्छे होंगे। आप लैंज़ोस, नेबर, बाइक्यूबिक इत्यादि आज़मा सकते हैं
- -लूप 0 ffmpeg को एक अनंत लूपिंग GIF बनाने के लिए कहता है।
- अंत में, हमारे पास आउटपुट नाम है।
<पी>
<पी> कारण? फ़ाइल का साइज़। मेरा मूल वीडियो 5-सेकंड की क्लिप है, और इसका वजन 3.5 एमबी है। जीआईएफ का वजन 61.5 एमबी है! मैंने एक अलग क्लिप के साथ प्रयास किया, और वहां, अंतर थोड़ा कम कार्डिनल था, 86 बनाम 152 एमबी, लेकिन यह सब क्लिप में जानकारी की मात्रा पर निर्भर करता है। अंत में, मैंने यहां वास्तविक कलाकृतियों को नहीं जोड़ा, क्योंकि वे बैंडविड्थ को बहुत आसानी से पकड़ लेंगे। संकेत:इसके चारों ओर तरीके हैं, लेकिन हम इसके बारे में अलग से बात करेंगे। <पी> लेकिन वहां, हमने यह किया। काम पूरा हो गया, स्मरणोत्सव पूरा हो गया।