অ-অনুক্রমিক চিত্র ফাইলগুলিতে যোগদানের জন্য কীভাবে এফএফএমপিজি পাবেন? (3 এস এড়িয়ে যান)


27

আমার কাছে একগুচ্ছ চিত্র রয়েছে যা এই প্যাটার্নটি অনুসরণ করে।

0001.png
0004.png
0007.png
0010.png
0013.png
0016.png
0019.png
...

এগুলি সঠিক ক্রমে রয়েছে তবে এফএফএমপিইগ প্রথম ফাইলের পরে কিছু উপেক্ষা করে, কারণ এটি একটি খুঁজে পাচ্ছে না 0002.png। আমি কীভাবে এই ফাইলগুলিতে যোগদান করতে পারি?

আমি চেষ্টা করেছিলাম

ffmpeg -i %04d.png out.avi

2
সাময়িকভাবে তাদের নাম পরিবর্তন করে, এভিআই তৈরি করে এবং তারপরে পুনরায় নামকরণ (3x-2) .png স্কিমে কীভাবে করা যায়? বাল্ক নামকরণের ইউটিলিটি @ বাল্করেনেমুটিলিটি.উইক / মেইন_ইন্ট্রো.পিপি হ'ল একটি নিখরচায়, উম্মে, বাল্ক পুনরায় নামকরণকারী
জ্ঞান

উত্তর:


18

ffmpeg 0.11.1 এর সাথে এটি যতটা সহজ:

ffmpeg -f image2 -i %*.png out.avi

manপৃষ্ঠা থেকে , "ভিডিও এবং অডিও ফাইল ফর্ম্যাট রূপান্তর" এর অধীনে একটি উদাহরণে:

কোনও চিত্র ক্রম আমদানি করার সময়, -iঅভ্যন্তরীণভাবে শেল-জাতীয় ওয়াইল্ডকার্ড নিদর্শনগুলি (গ্লোব্বিং) প্রসারিত করতে সহায়তা করে। আপনার প্রকৃত ফাইলের নাম এবং শেল এর উল্লিখিত glob সম্প্রসারণ হস্তক্ষেপ সম্ভাবনা কম, আপনি তাদের একটি একক সঙ্গে prefixing দ্বারা সক্রিয় উল্লিখিত glob মেটা অক্ষর করার প্রয়োজন হয় %চরিত্র, মত foo-%*.jpeg, foo-%?%?%?.jpegবা foo-00%[234%]%*.jpeg

প্রতি মন্তব্যে আপডেট করুন: সাম্প্রতিক সংস্করণগুলিতে আপনার এখন -i '*.png'সিনট্যাক্স ব্যবহার করা উচিত ।


3
এটি উবুন্টু ১৩.০৪
এফএফপিপেগ

2
এটি আর কোনও বিকল্প হিসাবে উপস্থিত হবে না বলে মনে হয়।
টিম্ম্ম

2
glob_sequenceপ্যাটার্ন টাইপ নিন্দা করা হয়েছে, কিন্তু globপ্যাটার্ন প্রকার নয়। মুলভ্যা এবং পিটার কর্ডসের উত্তর কাজ করে।
ড। সাইবারেন

1
Pattern type 'glob_sequence' is deprecated: use pattern_type 'glob' instead
সার্জ স্ট্রোব্যা্যান্ড্ট

1
স্পষ্টকরণ হিসাবে, যেহেতু এই পৃষ্ঠাটি বর্তমানে সেই সতর্কতা বার্তার ( Pattern type 'glob_sequence' is deprecated...) জন্য গুগলের শীর্ষ ফলাফল : উপরের রাইমো দ্বারা প্রদত্ত কমান্ড (বিশেষত, -i %*.png) সতর্কতা সৃষ্টি করবে । এটি মুছে ফেলার জন্য, পিটার কর্ডেস উত্তরটিতে সামান্য-আলাদা সিনট্যাক্স ব্যবহার করুন ( -i '*.png')।
জেমস

19

আমার মন্তব্যে কর্মপরিকল্পনা ছাড়াও, আপনার এই সিনট্যাক্সটি ffmpeg ডকুমেন্টেশন থেকে ব্যবহার করতে সক্ষম হওয়া উচিত :

ffmpeg -f image2 -pattern_type glob -i '*.png' out.avi

উদ্ধৃতিগুলি গুরুত্বপূর্ণ, *শেলটি প্রসারিত না করে দেখতে আপনার ffmpeg প্রয়োজন ।


আমার জন্য কাজ করে না, তবে এটি সম্ভবত আমার আরও পুরানো তৈরি হয়েছে। আমি এটি গ্রহণ করছি কারণ এটি সম্ভবত ভবিষ্যতের ব্যবহারকারীদের সহায়তা করবে।
ব্রিগেড

Ffmpeg ডকুমেন্টেশন অনুসারে আপনার গ্লোব প্যাটার্ন প্রকারের সাথে% 04d.png এর পরিবর্তে '* .png' ব্যবহার করা উচিত।
জর্জের বন্ধু

এরপরে 00xx.png ছাড়াও ফোল্ডারে উপস্থিত সমস্ত পিএনজিগুলি নির্বাচন করবে, অন্যদিকে অপারেশন সংখ্যার ধারাবাহিকতা নিয়ে চিন্তা না করে কেবল% 04d পিএনজি সারি করতে চায়।
জ্ঞান

2
আমি নিশ্চিত যে ইউনিক্স-স্টাইলের শেলগুলি (সুতরাং, ওএসএক্স এবং লিনাক্স ইত্যাদি) এর দ্বারা প্রসারিত হওয়া এড়াতে আপনাকে *.pngএকক-কোট (তাই '*.png') রাখা দরকার pretty
অশুভাপ

1
দুর্ভাগ্যক্রমে ffmpeg বিকাশকারীরা ফাইল গ্লোব্বিং সমর্থন একটি বিকল্প করুন ! স্ট্যান্ডার্ড উইন্ডোজগুলি এতে অন্তর্ভুক্ত করে না।
টিম্ম্ম

9

Http://www.ffmpeg.org/faq.html থেকে : নতুন নামকরণের জন্য আপনার কাছে যদি প্রচুর পরিমাণে ছবি থাকে তবে বোঝাটি সহজ করার জন্য আপনি নীচের কমান্ডটি ব্যবহার করতে পারেন। বোর্ন শেল সিনট্যাক্স ব্যবহার করে কমান্ডটি বর্তমান ডিরেক্টরিতে থাকা সমস্ত ফাইলকে প্রতীকীভাবে লিঙ্ক করে যা 'img001.jpg', 'img002.jpg' এবং এর ধারাবাহিকতায় '/ tmp' ডিরেক্টরিতে jpg এর সাথে মেলে।

x=1; for i in *jpg; do counter=$(printf %03d $x); ln -s "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done


আমি একাধিক সিকোয়েন্স একত্রিত করতে এই ব্যবহার seqA-[0001-n].png, seqB-[0001-n].pngইত্যাদি image2 globbing এবং CONCAT ফিল্টার নিয়ে তালগোল পাকানো তুলনায় অনেক সহজ।
z0r

আমার জন্য এই পর্যন্ত আমি প্রতিস্থাপিত কাজ করে নি for i in *jpgসঙ্গে for i in /full/path/*jpg, কারণ সব symlinks ভাঙ্গা হয়েছিল
Jezzamon

4

আমি আসলে মুলভ্যাকে একই জিনিস প্রস্তাব করব। 3 ডি অ্যানিমেশন রেন্ডারিংগুলির সাথে কাজ করার সময় যখনই আমার এই জাতীয় জিনিসগুলি করার দরকার পড়েছিল, তখন ফাইলগুলিকে অনুক্রমিক করে তুলতে আমি নামকরণ করেছি। আপনার কোনও কারণে যদি ফাইলের নাম সংরক্ষণের প্রয়োজন না হয় তবে অনেকগুলি ভিন্ন সফ্টওয়্যারের সাথে সেভাবে কাজ করা সহজ। টোটাল কমান্ডারও বহু-নামকরণের জন্য দুর্দান্ত সরঞ্জাম।


আমি অনুরূপ কিছু করে শেষ করেছি (পাইথন নামকরণের স্ক্রিপ্ট)।
ব্রিগেড

3

অনুপস্থিত ক্রম অংশের জন্য, আমি 2 লাইনার ব্যবহার করেছি

CONCAT=$(echo $(ls *.png | sort -n -t _ -k 2) | sed -e "s/ /|/g")
ffmpeg -framerate 25 -i "concat:$CONCAT" -c:v libx264 -profile:v high -pix_fmt yuv420p output.mp4

আশা করি এটি ভবিষ্যতে কাউকে সহায়তা করবে

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