क्या एनिमेटेड gif को वीडियो प्रारूप में प्रारूपित करने का कोई तरीका है (उदा। .avi
) लिनक्स पर?लिनक्स पर एवीआई एनिमेटेड gif
मैं पहले से ही
ffmpeg -i thegif.gif thevideo.avi
की कोशिश की है, लेकिन सभी मैं वीडियो की पहली छवि है।
क्या एनिमेटेड gif को वीडियो प्रारूप में प्रारूपित करने का कोई तरीका है (उदा। .avi
) लिनक्स पर?लिनक्स पर एवीआई एनिमेटेड gif
मैं पहले से ही
ffmpeg -i thegif.gif thevideo.avi
की कोशिश की है, लेकिन सभी मैं वीडियो की पहली छवि है।
मैं ImageMagick और ffmpeg
का संयोजन कर सकते हैं सुझाव इस PNG के रूप में प्रत्येक फ्रेम निकालने के लिए करते हैं/jpeg
$magick> convert 'images.gif[0]' image.png
है इस फिल्म के अनुक्रम के लिए छवियों को परिवर्तित करने के लिए
ffmpeg -f image2 -i image%d.jpg video.mpg
अधिक मदद आदेश पर
http://www.imagemagick.org/script/command-line-processing.php
http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
यदि आपके gif में ट्रांसपरेंस है तो आपको इस तरह को जोड़ना होगा: convert -coalesce download.gif कुछ% 05d.png –
-1, क्योंकि आपका पहला आदेश काम नहीं करता है। लेकिन नॉर्डिकमेनफ्रेम का आदेश काम करता है। – erik
यह इनपुट gif से फ्रेम दर जानकारी खो देता है। वर्तमान ffmpeg अब एनिमेटेड gif इनपुट सीधे संभालती है। –
ffmpeg के gif इनपुट बहुत अच्छी तरह से काम नहीं करता। यह आमतौर पर परिवर्तित (ImageMagick से) के साथ gif फ्रेम खोल और ffmpeg के साथ इन पर कार्रवाई करने के आसान है:
convert some.gif some%05d.png
ffmpeg -i some%05d.png some.avi
rm some*.png
धन्यवाद मैं आपकी पहली कमांड लाइन खोज रहा था: 'कुछ.gif कुछ% 05d.png' – Dorian
कनवर्ट करें यदि कुछ फ्रेम टूटे हुए हैं क्योंकि वे केवल बेस फ्रेम के साथ अंतर दिखाते हैं, तो' कनवर्ट 'के लिए' -कोलेससे 'विकल्प का उपयोग करें। – Hnatt
'-coalesce' का उपयोग करते समय आपको पहले फ्रेम को हटाने की आवश्यकता हो सकती है क्योंकि इसमें अन्य प्रारूप ('DirectClass' के बजाय' छद्म क्लास ') के समान प्रारूप नहीं है। यह इसे बदलने के लिए एक विधि मौजूद हो सकता है ... – xiawi
आप क्योंकि परिणामस्वरूप वीडियो तेजी से करने के लिए या
धीमा करने के लिए है इनपुट के रूप में एक निश्चित फ़्रेमदर के लिए पसंद करते हैंffmpeg -r 'xx' -i some%05d.png some.avi
जहां xx इनपुट फ़्रेमेट है।
आप उत्पादन
ffmpeg -loop 1 -t x -i some%05d.png some.avi
जहां x समय वीडियो सेकंड में चलाना चाहिए है के रूप में एक पाश के लिए पसंद करते हैं।
आप अस्थायी फ़ाइलों को चाहते हैं, तो आप mencoder कोशिश कर सकते हैं:
mencoder myfile.gif -mf fps=25 -o myfile.avi -ovc lavc -lavcopts vcodec=mpeg4
ffmpeg मैं foo.gif foo.mkv वर्तमान ffmpeg के साथ काम करता है, और यहां तक कि सही चर फ़्रेमरेट एनिमेटेड gifs के साथ काम करता । एमकेवी आउटपुट के साथ, आपको एक परिवर्तनीय फ्रेम दर एमकेवी मिलती है। एमपी 4 आउटपुट के साथ, यह आवश्यकतानुसार एफपीएस को जितना ऊंचा हो जाता है, और तब उपयुक्त होने पर चीजों को प्रदर्शित करने के लिए आवश्यक रूप से फ्रेम को डुप्लिकेट करता है। जैसे कुछ 25fps के साथ एक gif और कुछ 10 एफपीएस ने 50fps mp4 बनाया, जिसमें 2x डुप्लिक और 5x डुप्लिक फ्रेम हैं, जो कि किस भाग पर निर्भर करता है। डुप्लिकेट फ़्रेम को संग्रहीत करने में बहुत अधिक जगह नहीं होती है, आईडीके अगर वे h.264 स्ट्रीम या बस mp4 कंटेनर में हैं। –