मैं एक .gif में .Mov कन्वर्ट करने के लिए ffmpeg कैसे प्राप्त कर सकता हूं?


98

मैं एक .gif को .Mov में बदलने की कोशिश कर रहा हूं और मुझे सफलता नहीं मिल रही है।

यहाँ त्रुटि है:

ffmpeg -pix_fmt rgb24 -i yesbuddy.mov output.gif
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jun 12 2012 17:47:34 with clang 2.1 (tags/Apple/clang-163.7.1)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/0.11.1 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/clang --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-libvo-aacenc --disable-ffplay
  libavutil      51. 54.100 / 51. 54.100
  libavcodec     54. 23.100 / 54. 23.100
  libavformat    54.  6.100 / 54.  6.100
  libavdevice    54.  0.100 / 54.  0.100
  libavfilter     2. 77.100 /  2. 77.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
Option pixel_format not found.

अगर मैं -pix_fmt rgb24 भाग छोड़ता हूं तो यह शिकायत करता है। कैसे ठीक करने पर विचार?


3
FYI करें, यहां दिए गए उच्च गुणवत्ता वाले रूपांतरणों के लिए एक उत्कृष्ट समाधान है
ryanjdillon

जवाबों:


161

कमांड लाइन तर्कों का क्रम मायने रखता है। यह कमांड लाइन काम करना चाहिए लेकिन एक विशाल फ़ाइल उत्पन्न करेगी:

ffmpeg -i yesbuddy.mov -pix_fmt rgb24 output.gif

ध्यान दें कि आप संभवतः रूपांतरण करते समय फ्रेम दर और आकार को कम करना चाहते हैं, साथ ही एक प्रारंभ समय और अवधि निर्दिष्ट करें। आप संभवत: संपूर्ण फ़ाइल को उसके मूल रिज़ॉल्यूशन और फ़्रेम दर पर कनवर्ट नहीं करना चाहते हैं।

ffmpeg -ss 00:00:00.000 -i yesbuddy.mov -pix_fmt rgb24 -r 10 -s 320x240 -t 00:00:10.000 output.gif

फ़ाइल का आकार अभी भी बहुत बड़ा होगा। आप आकार को कम करने के लिए ImageMagick के GIF ऑप्टिमाइज़र का उपयोग करने में सक्षम हो सकते हैं :

convert -layers Optimize output.gif output_optimized.gif

3
बहुत बढ़िया जवाब, धन्यवाद :) जीआईएफ एक पागल प्रारूप है ... मूल .Mov 250k था, ffmpeg से परिवर्तित .gif 8mb था, और convert-optimized संस्करण एक आश्चर्यजनक 10k था! प्रभावशाली!
TooTallNate

19
ffmpeg पिक्सेल प्रारूप के बारे में शिकायत करता है, और rgb24 से pal8 पर स्विच करता है; क्या उत्तर में आदेश को अद्यतन किया जाना चाहिए?
user1071136

7
असंगत पिक्सेल प्रारूप 'rgb24' कोडेक 'gif' के लिए
highmaintenance

1
@ मेरे ऑटो ffmpeg के संस्करण में rgb8 के लिए ऑटो-फिक्स्ड।
जेम्स कैंपबेल

Android में कैसे करें?
अजय श्रेष्ठ

12

परिवर्तित करने के बाद:

ffmpeg -i input.mp4 input.gif 

फ़्रेम का अनुकूलन करने का प्रयास करें:

convert input.gif -verbose -coalesce -layers OptimizeFrame input_optframe.gif

और gifsicleअंतिम अनुकूलन बनाने के लिए उपयोग करें:

gifsicle -O2 input_optframe.gif -o optimized.gif

लगभग एक ही गुणवत्ता के साथ 12.2mb वीडियो से 6.8mb GIF मिला!


3
मन समझा रहा है कि ये कदम कैसे काम करते हैं और वे क्या कर रहे हैं?
Raystafarian

10

मैंने एक उपकरण बनाया है जो कमांड लाइन प्रोग्राम का उपयोग करने के लिए FFmpeg, ImageMagick और giflossy को एक ही बंडल में रखता है जिसे आप एक पंक्ति में स्थापित कर सकते हैं: https://github.com/vvo/gifify

मैं किसी को भी वीडियो का उपयोग करने के लिए तैयार करने की सलाह देता हूं => GIF का उपयोग करने के बजाय 3 प्रलेखन वेबसाइटों को ब्राउज़ करने के लिए बहुत समय बिताने की कोशिश करें, यह समझने के लिए कि कैसे जीआईएफ का आकार बदलना है या प्रारंभ / समाप्ति समय बदलना है।


1
और अगर आपके पास अपनी मशीन पर डॉकर चल रहा है, तो बस एक उर्फ ​​ऐसा करें: alias gifify='docker run -it --rm -v $(pwd):/data maxogden/gifify'तो इसका उपयोग करेंgifify screencast.mkv -o screencast.gif --resize 800:-1
सबबोर

2
ffmpeg -y -i input.mp4 -f image2pipe -vcodec ppm - | convert -delay 2 -loop 0 -layers Optimize - gif:- | gifsicle -d 3 -O3 -o optimized.gif

पहले mp4 फ़ाइल को पाइप के माध्यम से छवियों में बदलने के लिए ffmpeg का उपयोग करें और फिर इसे gifsicle के साथ अनुकूलित करने के लिए इसे gif पर संपीड़ित करने के लिए imagemagick का उपयोग करें

मुझे नहीं पता कि क्यों gifscicle का उपयोग करना सीधे काम नहीं करेगा।

या आप इससे gif को छोटा बना सकते हैं

convert -dither none -matte -depth 8 -deconstruct -layers optimizePlus -colors 32 in.gif out.gif
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.