পিএনজি ফাইলগুলি থেকে একটি জিআইএফ অ্যানিমেশন তৈরি করা হচ্ছে


83

ফাইলগুলির gifসেট থেকে অ্যানিমেশন তৈরির জন্য কি কোনও সরঞ্জাম আছে png?

আমি ইমেজম্যাগিক স্যুট convertথেকে কমান্ডটি চেষ্টা করেছি , তবে এটি সর্বদা সফল হয় না। এছাড়াও, আমার এটির সাথে বেশ কয়েকটি সমস্যা রয়েছে:

  1. অগ্রগতি কী তা বলতে পারি না।
  2. আমি যা চেষ্টা করি তা বিবেচনা করেই -delayপতাকাটি জিআইএফ অ্যানিমেশনের ফ্রেম রেট পরিবর্তন করে না।
  3. convertফাইলের নামের বর্ণমালা অনুসারে ফ্রেম ক্রম নির্ধারণ করে। এর মানে হল যে 0 এর যোগ করে এটি ঠিক করতে পারার পরে নয় name500.pngঠিক পরে স্থাপন করা হবে তবে এটি বিরক্তিকর।name50.pngname450.png

[সংবাদ] উবুন্টু স্ট্যাকেক্সচেঞ্জ এবং ইউনিক্স স্ট্যাকেক্সচেঞ্জের মধ্যে একটি বিশাল ওভারল্যাপ রয়েছে। আমি এখানে কিছু থ্রেড শ্রেণিবদ্ধ করার চেষ্টা করেছি ।
এইচ এইচ

আইটেম 3 সম্পর্কিত, আপনি এখনও convertফাইল বাছাইয়ের পরে ব্যবহার করতে পারেন । সম্ভবত, এর মতো কিছু কাজ করেfiles=$(ls name*png | sort -n -tname -k1); convert $files animation.gif
16 ই

পয়েন্ট 1 এর জন্য: রূপান্তরটির একটি -monitorপ্যারামিটার রয়েছে যা প্রক্রিয়াটি ট্র্যাক করে
কার্লিউ

উত্তর:


50

Ffmpeg এর নতুন সংস্করণগুলিতে কোনও সামেক নেই (FAQ দেখুন ) তবে এটি জিআইএফ সমর্থন করে।

ffmpeg -i %03d.png output.gif

যেখানে% 03d হল 3 ডিজিটের ফ্রেম আইডি।

আপনি ffmpegইমেজগুলির অনুক্রমের বাইরে সিনেমা তৈরি করার জন্য এবং তারপরে মুভিটি একটি জিআইএফ অ্যানিমেশন (আবার ব্যবহার করে ffmpeg) রূপান্তর করতে চেষ্টা করতে পারেন ।

# cf. http://pages.uoregon.edu/noeckel/MakeMovie.html

# first convert an image sequence to a movie
ffmpeg -sameq -i %03d.jpg output.mp4

# ... and then convert the movie to a GIF animation
ffmpeg -i output.mp4 -pix_fmt rgb24 -s qcif -loop_output 0 output.gif

10
এই নির্দেশনা পুরানো।
হাইমেনটেনেন্স

3
sameqবিকল্প আর পাওয়া যায় না। তদ্ব্যতীত, আমার জন্য, এটি মূল চিত্র ফাইলগুলিকে ওভাররাইট করে এবং কোনও বৈধ মুভি ফাইল তৈরি করে না।
লোড

-sameqসেখানে কোড রেখে যাওয়ার কী আছে? আপনি কেন output.mp4অস্থায়ী হিসাবে একটি ক্ষতিকারক ভিডিও ফর্ম্যাট ( ) ব্যবহার করতে চান ? এবং যদি তাই হয় তবে কেন খুব উচ্চ বিটরেটের পরিবর্তে ইনপুট হিসাবে "একই মানের"? এটি থেকে আর্টিফ্যাক্ট করা কেবল জিআইএফ এনকোডারটির জন্য জিনিসগুলিকে আরও খারাপ করতে চলেছে। যদি আপনার কোনও অস্থায়ী হিসাবে কোনও ভিডিও ব্যবহারের প্রয়োজন হয়, আপনি হাফিউয়ুবের মতো ক্ষতিরহীন কিছু ব্যবহার করতে চান। অথবা এমজেপিইগির কোনও ট্রান্সকোডিং নেই, কেবল ইনপুট জেপিগগুলি একটি এমজেপিগের মধ্যে পুনরায় তৈরি করুন। ( -codec:video copy)।
পিটার কর্ডস

80

convertএটি করার জন্য একটি সহজ কমান্ড লাইন সরঞ্জাম tool cdফোল্ডারে আপনার ধারণকারী PNG -files এবং এই কমান্ডটি প্রয়োগ করুন:

convert -delay 10 -loop 0 *.png animation.gif

সূত্র: http://ubuntuforums.org/showthread.php?t=1132058


5
প্রশ্নটিতে convertএটি ব্যবহার এবং কিছু সমস্যার উল্লেখ রয়েছে । আপনার উত্তর তাদের কোনওটিরই ঠিকানা দেয় না।
মাদুর

3
ইমেজম্যাগিক সংস্করণ হিসাবে এটি 6.8.7-4 2013-11-02 Q16আমার জন্য কাজ করেছে।
রুডি মাটেলা

7
এটি কার্যকর হয় তবে এর 10অর্থ 10 * 10 মিমি, তাই খুব দ্রুত। একটি বিলম্ব 1001 সেকেন্ড।
অ্যান ভ্যান রসম

7
বিকল্পটি ব্যবহার করুন -dispose previousবা -dispose 2যদি আপনি স্বচ্ছ পিএনজি নিয়ে কাজ করছেন
হাই ফোং

4
নিজেকে নোট: বক্রবন্ধনী সম্প্রসারণ , আর্গুমেন্ট হিসাবে ইমেজ তালিকা উল্লেখ জন্য সহায়ক হতে পারে উদাহরণস্বরূপ pic_{0..20..2}.pngবিস্তৃতি pic_0.png, pic_2.pngসব পথেpic_20.png
Yibo ইয়াং

19

convertএর --delayবিকল্প শুধুমাত্র কমান্ড লাইন পরবর্তী চিত্র প্রযোজ্য। সুতরাং convert -delay 10 *কেবলমাত্র প্রথম ফ্রেমের বিলম্বটি 0.1 সেকেন্ডে সেট করবে। বিকল্পটি পুনরাবৃত্তি করা দরকার:

convert $(for a in *; do printf -- "-delay 10 %s " $a; done; ) result.gif

আপনার বাছাইয়ের প্রয়োজনের জন্য রূপান্তরগুলি ফ্রেমগুলি বাছাই করে না, শেল গ্লোবিং *করে। যদি আপনি জানেন যে আপনার ফ্রেমগুলি 0 থেকে 700 পর্যন্ত সংখ্যাযুক্ত রয়েছে তবে আপনি কেবল নিজেরাই সংখ্যাগুলি গণনা করতে পারেন:

convert $(for ((a=0; a<700; a++)); do printf -- "-delay 10 name%s.png " $a; done;) result.gif

5
আমি এই আচরণটি এর সাথে অনুভব করি না convert, কারণ প্রতিটি চিত্রের convert -delay 1000 -loop 0 *.png animation.gifমধ্যে আমার 10s দেরি হয় ।
লোড

1
এছাড়াও আপনি ব্যবহার করতে পারেন সংস্করণ সাজানোর এর lsকমান্ড। এটি:convert -delay 1000 $(ls -v name*png) output.gif
এরিক

7

হালনাগাদ:

ব্যবহার করুন convertPNG-টু-GIF জন্য, তারপর ব্যবহার gifsicle অ্যানিমেশন জন্য। এটি সমস্ত সমাধান করার কোনও ওয়ান অ্যাপ নয়, তবে স্ক্রিপ্টযোগ্য, এটি অবশ্যই।


জিমপ অ্যানিমেটেড জিআইএফ তৈরি করতে পারে এবং সময় / বিলম্ব এবং পুনরাবৃত্তি ইত্যাদির জন্য নিয়ন্ত্রণ সরবরাহ করে


3
আমি জিম্প সম্পর্কে জানি কিন্তু এটি কীভাবে স্ক্রিপ্ট করা যায় তা আমি জানি না। এছাড়াও অ্যানিমেশন তৈরিতে গিম্প ব্যবহার করা তোপের সাথে একটি উড়াল
মারার মতো

1
এটি একটি খারাপ ধারণা; গুণমানটি ভয়াবহ হবে, কারণ প্রতিটি ফ্রেম পৃথকভাবে কোয়ান্টাইজ করা হবে।
ক্লিমেট

2

ইমেজম্যাগিক একটি ভাল মানের জিএফ অ্যানিমেশন তৈরি করতে পারে। এই ভিডিওটি দেখুন - http://www.youtube.com/watch?v=OFusYizJ-bA


6
ইউনিক্স ও লিনাক্সে স্বাগতম! সাধারণত সাইটটিতে উত্তরগুলি নিজেরাই দাঁড়াতে সক্ষম করতে আমরা পছন্দ করি - লিঙ্কগুলি দুর্দান্ত, তবে যদি সেই লিঙ্কটি কখনও ভেঙে যায় তবে উত্তরটি এখনও সহায়ক হতে পারে enough আরও বিস্তারিত অন্তর্ভুক্ত করতে দয়া করে আপনার উত্তর সম্পাদনা বিবেচনা করুন। আরও তথ্যের জন্য FAQ দেখুন ।
SLM

উপরে কি দরকারী মন্তব্য ....
লুক

convert -delay 200 -loop 0 *.jpg output.gif
লুক

2

ffmeg গুরুত্বপূর্ণ জিআইএফ বিকল্পগুলি + পরীক্ষার ডেটা

এই উত্তর পরিপূরক :

wget -O opengl-rotating-triangle.zip https://github.com/cirosantilli/media/blob/master/opengl-rotating-triangle.zip?raw=true
unzip opengl-rotating-triangle.zip
cd opengl-rotating-triangle
ffmpeg \
  -framerate 60 \
  -pattern_type glob \
  -i 'tmp.*.png' \
  -r 15 \
  -vf scale=512:-1 \
  out.gif \
;

পরীক্ষার ডেটা তৈরি করা হয়েছিল: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292

ffmpegআমি যে গুরুত্বপূর্ণ বিকল্পগুলি হাইলাইট করতে চেয়েছিলাম সেগুলি হ'ল:

  • -patter_type glob: চিত্র নির্বাচন করার সুবিধাজনক উপায়
  • -framerate 60এবং -r 15: ইনপুট চিত্রগুলিতে 60 এফপিএস ধরে নিন ( ffmpegভিডিও ফর্ম্যাটের মতো চিত্রগুলিতে কোনও এফপিএস ডেটা অন্যথায় জানতে পারে না), প্রতি 4 টি চিত্র চয়ন করুন যাতে আকার হ্রাস করুন ( 4 == 60 / 15)
  • -vf scale=512:-1: সাধারণত আকার হ্রাস করতে এবং স্থান বাঁচাতে আনুপাতিকভাবে প্রস্থ, স্কেল উচ্চতা নির্ধারণ করুন

আরো দেখুন:

উবুন্টু 18.10, ffmpeg 4.0.2 এ পরীক্ষিত।


-1

2 বিন্দু প্রসঙ্গে

আমার কাছে থাকা চিত্রম্যাগিক "ডিসপ্লে" এর সংস্করণ (চিত্রম্যাগিক 6.7.2-7 2017-01-12) অ্যানিমেটেড জিআইএফ উত্পাদন করতে রূপান্তর কমান্ড ব্যবহার করে ফ্রেম রেট সেটটিকে উপেক্ষা করে। ফায়ারফক্সের মতো অ্যানিমেট জিআইএফ দেখতে আরও একটি প্রোগ্রাম চেষ্টা করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.