সঠিকভাবে কাজ করতে, প্রথমে ভিডিওটি RAW YUV বিটস্ট্রমে রূপান্তর করুন (যদি এটি ইতিমধ্যে না থাকে):
ffmpeg -i input.mp4 -an -vcodec rawvideo -pix_fmt yuv420p rawbitstream.yuv
পরবর্তী পদক্ষেপ: select
ফিল্টারটি একটি অভিব্যক্তি নেয় , n
ফ্রেমের সংখ্যাটি কোথায় ।
ffmpeg -r 2 -s WxH -i rawbitstream.yuv -filter:v select="mod(n-1\,2)" \
-c:v rawvideo -r 1 -format rawvideo -pix_fmt yuv420p -an odd.yuv
ffmpeg -r 2 -s WxH -i rawbitstream.yuv -filter:v select="not(mod(n-1\,2))" \
-c:v rawvideo -r 1 -format rawvideo -pix_fmt yuv420p -an even.yuv
ffmpeg
ফ্রেমের সদৃশ না করার জন্য আপনাকে আপনার ইনপুটটির ফ্রেমরেটের অর্ধেক জোর করতে হবে - সুতরাং আপনি ইনপুট হিসাবে "2" এবং আউটপুটে "1" সেট করবেন। আপনার ক্লিপের আসল মাত্রাগুলির সাথে ডাব্লুএক্সএইচ প্রতিস্থাপন করতে ভুলবেন না কারণ কাঁচা বিটস্ট্রমে এই তথ্য বহন করে এমন শিরোনাম নেই।
উপরের পরিবর্তে, আর একটি সম্ভাবনা setpts
হ'ল আউটপুটটির জন্য নতুন টাইমস্ট্যাম্প সেট করতে ফিল্টার যুক্ত করা। তবে সাবধান থাকুন যেহেতু এটি ফ্রেমগুলি সঠিকভাবে না ফেলে। এখানে 25 হ'ল আসল আউটপুট ফ্রেম হার যা আপনি চান:
ffmpeg -i input.mp4 -filter:v select="mod(n-1\,2)",setpts="N/(25*TB)" \
-c:v rawvideo -r 12.5 -format rawvideo -pix_fmt yuv420p -an odd.yuv
ffmpeg -i input.mp4 -filter:v select="not(mod(n-1\,2))",setpts="N/(25*TB)" \
-c:v rawvideo -r 12.5 -format rawvideo -pix_fmt yuv420p -an even.yuv
আপনি অবশ্যই অন্য একটি পিক্সেল ফর্ম্যাট (যে কোনও ffmpeg -pix_fmts
) চয়ন করতে পারেন । নিশ্চিত করুন যে ফাইলটি পড়ার সময় আপনি পিক্সেল আকার এবং পিক্সেল ফর্ম্যাটটি জানেন:
ffmpeg -f rawvideo -s:v 1280x720 -pix_fmt yuv420p input.yuv …