ব্যাচ এফএফএমপিএগ ব্যবহার করে * .AVI ফাইল রূপান্তর করে


13

আমি ffmpeg ব্যবহার করে একটি ব্যাচে 20+ .avi ফাইল রূপান্তর করার চেষ্টা করছি।

আমি নিম্নলিখিত পেয়েছি

@echo off.

for file in *.avi
do
   ffmpeg -i "$file" -s 640x480 -vcodec msmpeg4v2 "'basename "$file" .avi'.mpg';
done

আমার .bat ফাইলটিতে কিন্তু এটি কাজ করে না। আমি কীভাবে এটি উইন্ডোজ ওএসের অধীনে কাজ করতে পারি। ওহ, এবং হ্যাঁ সমস্ত ফাইল একই ফোল্ডারে রয়েছে।

আমি পেয়েছি ত্রুটি বার্তা:

ফাইলটি এই সময়ে অপ্রত্যাশিত ছিল


এবং ঠিক এটি সম্পর্কে কাজ করে না?
slhck

আপনি যদি আমাকে চিহ্নিত করতে পারেন যে কীভাবে ত্রুটি বার্তাটি সেন্টিমিডি খুব দ্রুত অদৃশ্য হয়ে যায় তবে আমি কী বলতে চাইছি তা আপনাকে জানাতে সক্ষম হব।
দারিয়াস

আপনার আগে ( স্টার্ট »রান…»cmd ) কমান্ড উইন্ডোটি খোলার এবং সেখান থেকে পুরো পথটি ব্যবহার করে ব্যাচ ফাইলটি চালানো উচিত। ভিডিওগুলি দিয়ে আপনি আসলে কী করতে চান? এগুলি কী ধরণের ভিডিও? আপনার কি কেবলমাত্র তাদেরকে এমপিজি ধারক স্থানান্তর করতে হবে? বা এগুলি পুনরায় আকার দেওয়ার দরকার আছে? বা আপনার বিশেষভাবে msmpeg4v2কোডেক দরকার ?
slhck

ফাইলগুলি একটি ডিভিআর থেকে সরিয়ে ফেলা হয় এবং এটি 1 জিবি 5 মিনিটের ক্লিপের বেশি হয়। হ্যাঁ ডিভিআর সফ্টওয়্যার সংকোচনে করুণ। কোডেকটি কাজ করে যেহেতু এটিতে 1 জিবি ফাইল লাগে প্রায় 7 এমবি ফাইলে যা আরও পরিচালিত হয়। এবং সেই ব্যাচটি চালানোর চেষ্টা করার সময় আমি "ফাইলটি এই সময়ে অপ্রত্যাশিত ছিল" বার্তাটি পেয়েছি।
দারিয়াস

আমি দেখি. যদি আপনি ফলাফলযুক্ত ভিডিও কোডেক এবং ধারক সম্পর্কে চিন্তা না করেন তবে আমি x264 এর পরিবর্তে এনকোডার হিসাবে ব্যবহার করার পরামর্শ দেব, যার ফলশ্রুতি এমপিইজি -4 এর চেয়ে অনেক ভাল মানের হয়। কমান্ডটি এমন কিছু হবে ffmpeg -i input.avi -c:v libx264 -crf 23 -s 640x480 output.mp4যেখানে সিআরএফ মান মান নির্ধারণ করে (কম ভাল, আরও খারাপ, 19 থেকে 24 এর বুদ্ধিমান মান)। আরও দেখুন: পুরানো ভিডিওগুলিকে আরও ছোট আকারে রূপান্তর করুন এবং একটি .MOV ফাইলের আকার কমাতে আমি কী পরামিতিগুলি খুঁজছি?
slhck

উত্তর:


26

আপনার ব্যাচ ফাইলটি উইন্ডোজ ব্যাটের স্ক্রিপ্টের জন্য সঠিক ফর্ম্যাটে নেই। পরিবর্তে আপনার স্ক্রিপ্ট দেখে মনে হচ্ছে এটি লিনাক্সের উদ্দেশ্যে করা হয়েছিল। উইন্ডোজ শেল দ্বারা সমর্থিত লুপের জন্য আপনাকে স্ক্রিপ্টটি পরিবর্তন করতে হবে ।

নীচে লুপের জন্য উইন্ডোজ ব্যবহার করে কীভাবে এই কাজটি সম্পাদন করা যায় তার একটি উদাহরণ দেওয়া আছে। আপনার ব্যাচ ফাইলে কেবল নীচের লাইনটি রেখে স্ক্রিপ্টটি এভিআই ফাইলগুলির মতো একই ডিরেক্টরিতে সরান, তারপরে এটি চালান।

for %%A IN (*.avi) DO ffmpeg -i "%%A" "%%A.mpg"

[NULL @ 000000000037e360] Unable to find a suitable output format for 'outputfile.avi.mpg;' outputfile.avi.mpg:: Invalid argument
দারিয়াস

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