ফ্রেম রেট হচ্ছে স্থির ছবির সংখ্যা, যেগুলোকে ফ্রেম বলা হয়, যা একটি ভিডিও প্রতি সেকেন্ডে দেখায়। এককের নাম প্রতি সেকেন্ডে ফ্রেম, সংক্ষেপে fps। প্রযুক্তিগত মানগুলো এটিকে ফ্রেম ফ্রিকুয়েন্সি নামেও ডাকে।
একটি ভিডিও ফাইলে ফ্রেম রেট হলো একটি মেটাডাটা মান, যা ভিডিও স্ট্রিমকে বর্ণনা করে। 25 fps এ প্রতিটি ফ্রেম ১ সেকেন্ডের ১⁄২৫ অংশ, অর্থাৎ ৪০ মিলিসেকেন্ড পর্দায় থাকে।
কোন ফাইলগুলো এটিকে বহন করে
MP4, MOV, MKV, WebM, AVI, WMV এবং FLV এর মতো ভিডিও ফরম্যাটে ফ্রেম রেট থাকতে পারে। প্রতিটি ফরম্যাট এই মানটি নিজের মতো করে সংরক্ষণ করে। উদাহরণ হিসেবে MP4 এবং MKV।
- MP4 এবং MOV: একটি time-to-sample টেবিলে একই সময়কাল থাকা ফ্রেমগুলোর ধারাবাহিকতা তালিকাভুক্ত থাকে। এই টেবিল থেকে গড় মান হিসেবে ExifTool
VideoFrameRateহিসাব করে। কিছু MP4 ফাইলেVideoAvgFrameRateএবংVideoMaxFrameRateট্যাগে গড় এবং সর্বোচ্চ রেটও থাকে। - MKV:
DefaultDurationফিল্ড প্রতি ফ্রেমের সময় ন্যানোসেকেন্ডে দেয়।FrameRateফিল্ডটি কেবল তথ্যের জন্য। - WebM: এই ফরম্যাটটি Matroska-এর একটি subset এবং
DefaultDuration-ও ব্যবহার করতে পারে। WebM নির্দেশিকায়FrameRateফিল্ডকে অপ্রচলিত হিসেবে চিহ্নিত করেছে। - AVI: স্ট্রিম হেডারে থাকা rate মানকে তার scale দিয়ে ভাগ করলে যে মান পাওয়া যায় সেটিই ফ্রেম রেট।
- WMV এবং FLV: মেটাডাটায় একটি ফ্রেম রেট ট্যাগ রাখা থাকতে পারে।
একটি অডিও স্ট্রিমের এ ধরনের কোনো ফ্রেম রেট থাকে না। FFmpeg-এর ffprobe এ জন্য 0/0 দেখায়।
মানগুলি দেখতে কেমন
একটি রিপোর্টে ফ্রেম রেট দশমিক আকারে, যেমন 29.97, অথবা ভগ্নাংশ আকারে, যেমন 25/1, দেখাতে পারে। 25/1 ভগ্নাংশের মান হলো প্রতি ১ সেকেন্ডে ২৫ ফ্রেম। হার পূর্ণ সংখ্যা না হলে ভগ্নাংশ আকারে মানটি নির্ভুল থাকে।
কিছু প্রচলিত মান হলো:
24/1: ২৪ fps, মোশন পিকচার ফিল্মের সাধারণ হার24000/1001: প্রায় ২৩.৯৭৬ fps, যাকে FFmpegntsc-filmবলে25/1: ২৫ fps, যাকে FFmpegpalবলে30000/1001: প্রায় ২৯.৯৭ fps, যাকে FFmpegntscবলে50এবং60: YouTube-এর মতে ভিডিও আপলোডের জন্য প্রচলিত হার120: একটি সর্বোচ্চ সীমা, প্রচলিত মান নয়। এটি অতিরিক্ত উচ্চ রেজোলিউশনের টেলিভিশনের জন্য ITU মানে নির্ধারিত সর্বোচ্চ হার।
স্থির এবং পরিবর্তনশীল ফ্রেম রেট
কনস্ট্যান্ট ফ্রেম রেটে প্রতিটি ফ্রেমের সময়কাল একই থাকে। ভ্যারিয়েবল ফ্রেম রেটে ভিডিও চলাকালীন ফ্রেমের মাঝে সময়ের ব্যবধান পরিবর্তিত হয়।
FFmpeg-এর ffprobe দুটি ফিল্ড দেখায়: avg_frame_rate হচ্ছে গড় হার, আর r_frame_rate হচ্ছে একটি বেস রেট। বেস রেট হলো সর্বনিম্ন হার যা দিয়ে সব টাইমস্ট্যাম্প নির্ভুলভাবে প্রকাশ করা যায়, এবং FFmpeg ডকুমেন্টেশনে এটিকে অনুমান বলে উল্লেখ করা হয়েছে।
উদাহরণস্বরূপ, যদি ফ্রেমগুলোর সময় হয় ১⁄২৫ বা ১⁄৫০ সেকেন্ড, তবে r_frame_rate হবে 50/1। গড় মান কম হবে, তাই এই দুটি ফিল্ডের মান এক নয়। টাইমস্ট্যাম্পগুলো time base-এর এককে গণনা করা হয়।
মানের উৎস কোথায়
রেকর্ড করা ভিডিওতে ফ্রেম রেট রেকর্ডিংয়ের সময়ই নির্ধারিত হয়। কোনো এনকোডার পরে এটি পরিবর্তন করতে পারে, যেমন ভিডিও ছোট করতে ফ্রেম বাদ দিয়ে।
ইন্টারলেসড ভিডিওতে অন্যরকম মান দেখা যেতে পারে। এই ভিডিওর জন্য Apple-এর AVFoundation ফ্রেমওয়ার্ক ফ্রেম রেট নয়, ফিল্ড রেট রিপোর্ট করে।
এটি কেন গুরুত্বপূর্ণ
ফ্রেম রেট মূলত চলনের মসৃণতা প্রভাবিত করে। উচ্চ হার চলনকে বেশি মসৃণ দেখায়, তবে হার যত বাড়ে এই সুবিধা তত কমে যায়। প্রায় ১২ ফ্রেম প্রতি সেকেন্ডের নিচে আপনি চলনের বদলে ধারাবাহিক স্থির ছবি দেখতে পান।
২৪ fps থেকে শুরু করে সাধারণত চলন মসৃণ দেখায়, আর ৩০ বা ৬০ fps একটি ভালো লক্ষ্য হতে পারে। উচ্চ হার সাধারণত কমপ্রেসড ফাইলকে বড়ও করে, যদি না এনকোডার হার কমিয়ে দেয়। তাই ৬০ fps ৩০ fps এর তুলনায় মসৃণ দেখাতে পারে, তবে ফাইলের আকারও বাড়ে।
YouTube আপনাকে যেই ফ্রেম রেটে ভিডিও রেকর্ড করেছেন, সেই একই ফ্রেম রেটে আপলোড করতে বলে। একটি কনস্ট্যান্ট রেটে, হারকে সময়কাল দিয়ে গুণ করলে মোট ফ্রেমের সংখ্যা পাওয়া যায়। তাই ২৫ fps হারে ৪ সেকেন্ডের ভিডিওতে ফ্রেমের সংখ্যা হবে ১০০।