আমি জানি এটি একটি পুরানো প্রশ্ন তবে বর্তমানের উত্তরগুলির কোনওটিই আর প্রস্তাবিত উপায় নয়।
ক্ষতিহীন (ভিডিও) রিম্যাক্সিং
মন্তব্যে উল্লিখিত হিসাবে এটি করার একটি উপায় রয়েছে যেখানে ভিডিওটি
পুনরায় এনকোড করতে হবে না । এটি প্রয়োজন remuxing একটি ভিন্ন containter বিন্যাস MKV ফাইল এবং তারপর এটি একটি আছে MP4 ফিরে remuxing। এখানে একটি উদাহরণ যা একটি ভিডিওকে 12 ফ্রেম / সেকেন্ডে পরিবর্তিত করে:
mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy slow-video.mp4
ভিডিও অডিও ধারণ করেন তাহলে আপনি পিচ পরিবর্তন না করে যে মন্দীভূত পারে, কিন্তু তা না হয় না একটি অবচয়হীন রূপান্তর। নীচের উদাহরণটি ধরে নেওয়া হয়েছে উত্স ভিডিওটি 24 ফ্রেম / সেকেন্ড ছিল যাতে ffmpeg এর এটেম্পো ফিল্টার ব্যবহার করে অডিওটিকে অর্ধেক (0.5) গতি করতে হবে ।
mkvmerge --default-duration 0:12fps --fix-bitstream-timing-information 0 original-video.mp4 -o temp-video.mkv
ffmpeg -i temp-video.mkv -c:v copy -c:a aac -filter:a "atempo=0.5" slow-video-with-audio.mp4
এফএফএমপিইগ উইকি গাইডেন্স
এটি ffmpeg উইকির দিকনির্দেশনা । মনে রাখবেন যে এই সমস্ত বিকল্পের জন্য ভিডিওটিকে পুনরায় এনকোডিং করা দরকার।
ভিডিও গতি বাড়িয়ে / কমিয়ে দিচ্ছে
আপনি সেটআপস ভিডিও ফিল্টার ব্যবহার করে কোনও ভিডিও স্ট্রিমের গতি পরিবর্তন করতে পারেন। নোট করুন যে নিম্নলিখিত উদাহরণগুলিতে, অডিও স্ট্রিম পরিবর্তন করা হয়নি, সুতরাং এটি আদর্শভাবে -আন দ্বারা অক্ষম করা উচিত।
ভিডিওর গতি দ্বিগুণ করতে আপনি ব্যবহার করতে পারেন:
ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv
ফিল্টার প্রতিটি ভিডিও ফ্রেমের উপস্থাপনা টাইমস্ট্যাম্প (পিটিএস) পরিবর্তন করে কাজ করে। উদাহরণস্বরূপ, যদি টাইমস্ট্যাম্পগুলি 1 এবং 2 তে প্রদর্শিত দুটি সফল ফ্রেম থাকে এবং আপনি ভিডিওটি দ্রুত করতে চান তবে সেই টাইমস্ট্যাম্পগুলি যথাক্রমে 0.5 এবং 1 হওয়া দরকার। সুতরাং, আমাদের সেগুলি 0.5 দ্বারা গুণতে হবে।
নোট করুন যে এই পদ্ধতিটি পছন্দসই গতি অর্জনের জন্য ফ্রেমগুলি নামবে। আপনি ইনপুট থেকে উচ্চতর আউটপুট ফ্রেমের হার নির্দিষ্ট করে ফেলে দেওয়া ফ্রেমগুলি এড়াতে পারবেন। উদাহরণস্বরূপ, 4 টি এফপিএসের ইনপুট থেকে 4x অবধি বেড়ে যাওয়া এক (16 এফপিএস) এ যাওয়ার জন্য:
ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" output.mkv
আপনার ভিডিওটি ধীর করতে, আপনাকে 1: এর চেয়ে বেশি গুণক ব্যবহার করতে হবে
ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS" output.mkv
মসৃণ
আপনি মিনিটারপোলেট ভিডিও ফিল্টার দিয়ে ধীর / দ্রুত ভিডিও মসৃণ করতে পারেন। এটি "মোশন ইন্টারপোলেশন" বা "অপটিক্যাল প্রবাহ" নামেও পরিচিত।
ffmpeg -i input.mkv -filter "minterpolate='mi_mode=mci:mc_mode=aobmc:vsbmc=1:fps=120'" output.mkv
অন্যান্য বিকল্পের মধ্যে স্লোমোভিডিও এবং বাটারফ্লো অন্তর্ভুক্ত রয়েছে। অডিওকে গতি বাড়িয়ে / গতি কমিয়ে দিচ্ছে
অ্যাটেম্পো অডিও ফিল্টারটি দিয়ে আপনি অডিও গতি বা কমিয়ে দিতে পারেন। অডিওর গতি দ্বিগুণ করতে:
ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv
এটেম্পো ফিল্টারটি 0.5 এবং 2.0 এর মধ্যে মানের ব্যবহারের মধ্যেই সীমাবদ্ধ (সুতরাং এটি এটিকে আদি গতির অর্ধেকের চেয়ে কম করতে পারে না এবং ইনপুটের দ্বিগুণের চেয়ে গতি বাড়িয়ে দেয়)। আপনার যদি প্রয়োজন হয়, আপনি একসাথে একাধিক অ্যাটেম্পো ফিল্টারগুলি স্ট্রিং করে এই সীমাবদ্ধতাটি পেতে পারেন। চতুর্মুখী অডিও গতি সহ নিম্নলিখিত:
ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv
একটি জটিল ফিল্টারগ্রাফ ব্যবহার করে, আপনি একই সময়ে ভিডিও এবং অডিও গতি বাড়িয়ে দিতে পারেন:
ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv