ক্রপ এবং আকার পরিবর্তন করে একটি ভিডিওকে একটি নির্দিষ্ট পর্দার আকারে রূপান্তর করুন


14

আমি নিজেই এটি বের করার চেষ্টা করেছি, কিন্তু অসংখ্য বিকল্পগুলি আমাকে অবাক করে দেয়।

যে কোনও ইনকামিং ভিডিওকে একটি নির্দিষ্ট পর্দার আকারে রূপান্তর করতে আমি হয় আদর্শভাবে ffmpegবা mencoder(বা অন্য কিছু, কিন্তু আমি জানি যে আমি কাজ করছি) ব্যবহার করতে চাই।

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

এমপি 3 অডিও ট্র্যাক সহ একটি এক্সভিড এভিআইতে আমার সঠিক চূড়ান্ত জিনিসটি 720x480।

সর্বাধিক রেজোলিউশনে কীভাবে আকার পরিবর্তন করতে হবে তা দেখিয়ে আমি প্রচুর পৃষ্ঠা খুঁজে পেয়েছি, তবে আমার ভিডিওটি ঠিক সেই রেজোলিউশন হতে হবে (অতিরিক্ত অংশগুলি ক্রপ করা হয়েছে, কোনও কালো বার নেই)।

চালাতে কমান্ড লাইনটি কেউ আমাকে বলতে পারবেন - বা কমপক্ষে আমাকে কিছুটা / বেশিরভাগ পথেই পেতে পারেন? যদি এটি একাধিক কমান্ড লাইন হওয়া দরকার (রেজোলিউশনটি পেতে এক্স রান করুন, এই গণনাটি করুন এবং তারপরে সেই গণনার আউটপুট দিয়ে Y চালান) আমি এটি স্ক্রিপ্ট করতে পারি।

উত্তর:


22

এরকম কিছু প্রতিটি ক্ষেত্রে উপযুক্ত পরামিতিগুলির সাথে কাজ করা উচিত:

দ্রষ্টব্য: মূল উত্তরটি এই লিঙ্কটিতে পোস্ট করা হয়েছিল: আমি কীভাবে এফএফপিপে দিয়ে একটি ভিডিও ক্রপ করতে পারি? যা মূলত আমার দ্বারা পোস্ট করা হয়েছে এবং ffmpeg এর অতি সাম্প্রতিক সংস্করণে এটি সর্বশেষতম বিকল্পগুলিতে আপডেট করার জন্য বেশ কয়েকবার সম্পাদিত হয়েছিল। পিচ্ছিলকে অনেক ধন্যবাদ , জোনাথন , আন্তন রুডেশকো , লর্ডনেকবার্ড এবং ভবিষ্যতের রক্ষণাবেক্ষণকারী।


FFmpeg এর সাম্প্রতিক সংস্করণগুলিতে, cropফিল্টারটি ব্যবহার করুন :

ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

নিম্নলিখিত বিকল্পগুলি যেখানে:

  • out_w আউটপুট আয়তক্ষেত্রের প্রস্থ
  • out_h আউটপুট আয়তক্ষেত্রের উচ্চতা
  • xএবং yআউটপুট আয়তক্ষেত্রের উপরের বাম কোণটি নির্দিষ্ট করুন

আসল চিত্র

মূল চিত্র
আসল 320x240 চিত্র

উদাহরণ 1

80x60

অবস্থান থেকে (200, 100) শুরু করে একটি 80 × 60 বিভাগে কাটতে:

ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4

উদাহরণ 2

নীচে ডান কোয়ার্টারে

নীচে ডান প্রান্তিকে ক্রপ করতে:

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

এটি একই হিসাবে:

ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4

যা একই:

ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
  • আপনি এই প্রথম উদাহরণে প্রদর্শিত in_wএবং in_hযেমন ইনপুট চিত্রের আকারটি উল্লেখ করতে পারেন । আউটপুট প্রস্থ এবং উচ্চতা এছাড়াও out_wএবং ব্যবহার করা যেতে পারে out_h

উদাহরণ 3

উপরে থেকে 20 পিক্সেল এবং নীচে থেকে 20 পিক্সেল

উপরে থেকে 20 পিক্সেল এবং নীচে থেকে 20 টি পিক্সেল:

 ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
  • ফিল্টার স্বয়ংক্রিয়ভাবে ফসল যদি কেন্দ্রীভূত হবে xএবং yএই উদাহরণে যেমন বাদ দেওয়া হয়েছে।

পূর্বরূপ

আপনি একটি ক্রপ নিতে পারেন (হে হি) এবং এটির সাথে সরাসরি উপস্থাপনা করতে পারেন ffplay:

ffplay -i input -vf "crop=in_w:in_h-40"

এইভাবে আপনি এনকোড, দেখুন, পুনরাবৃত্তি না করে আপনার ক্রপিং পরীক্ষা এবং সামঞ্জস্য করতে পারেন।

মন্তব্য

  • crop ফিল্টার ডকুমেন্টেশন

  • আপনার বিল্ডের উপর নির্ভর করে এমপি 4 এর জন্য ডিফল্ট এনকোডার libx264(H.264 ভিডিও) বা mpeg4(এমপিইজি -4 পার্ট 2 ভিডিও) রয়েছে ffmpeg। দেখুন H.264 ভিডিও এনকোডিং গাইড: FFmpeg উইকি আরও তথ্যের জন্য।

  • ক্রপিং এবং পুনরায় এনকোডিংয়ের পরিবর্তে প্লেব্যাকের উপরে ক্রপিং বিবেচনা করুন। যেকোন খেলোয়াড়ের পক্ষে এটি ব্যবহারযোগ্য with

  • প্রাচীন ffmpegব্যবহৃত তৈরী করে -croptop, -cropbottom, -cropleft, -croprightপরিবর্তে অপশন cropফিল্টার। যদি এটি আপনার ক্ষেত্রে হয় তবে একটি আধুনিক পানffmpeg । বিকাশ খুব সক্রিয় এবং অ্যান্টিক ব্যবহারের কোনও কারণ নেই।


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