फ्रेम रेट स्थिर छवियों की संख्या है, जिन्हें फ्रेम कहा जाता है, जो एक वीडियो हर सेकंड दिखाता है। इसकी इकाई फ्रेम प्रति सेकंड है, जिसे fps लिखा जाता है। तकनीकी मानकों में इसे फ्रेम फ्रिक्वेंसी भी कहा जाता है।
किसी वीडियो फ़ाइल में, फ्रेम रेट एक मेटाडेटा मान होता है जो वीडियो स्ट्रीम का वर्णन करता है। 25 fps पर, हर फ्रेम स्क्रीन पर 1/25 सेकंड या 40 मिलीसेकंड तक रहता है।
कौन सी फाइलें इसे रखती हैं
MP4, MOV, MKV, WebM, AVI, WMV और FLV जैसे वीडियो फ़ॉर्मेट फ्रेम रेट रख सकते हैं। हर फ़ॉर्मेट यह मान अपने तरीके से सहेजता है:
- MP4 और MOV: एक time-to-sample टेबल उन फ्रेम धारियों (runs) को सूचीबद्ध करती है जिनकी अवधि समान होती है। ExifTool इस टेबल से औसत निकालकर
VideoFrameRateकी गणना करता है। कुछ MP4 फ़ाइलें औसत और अधिकतम रेट कोVideoAvgFrameRateऔरVideoMaxFrameRateजैसे टैग में भी रखती हैं। - MKV:
DefaultDurationफ़ील्ड प्रति फ्रेम समय को नैनोसेकंड में देता है।FrameRateफ़ील्ड केवल सूचनात्मक होता है। - WebM: यह फ़ॉर्मेट Matroska का एक सबसेट है और
DefaultDurationका उपयोग भी कर सकता है। WebM दिशानिर्देशFrameRateको deprecated चिह्नित करते हैं। - AVI: स्ट्रीम हैडर में दिया गया रेट, उसके scale से विभाजित करने पर फ्रेम रेट मिलता है।
- WMV और FLV: मेटाडेटा में फ्रेम रेट टैग रखा जा सकता है।
ऑडियो स्ट्रीम का इस प्रकार का कोई फ्रेम रेट नहीं होता। FFmpeg का ffprobe इसके लिए 0/0 दिखाता है।
मूल्य कैसे दिखते हैं
रिपोर्ट फ्रेम रेट को दशमलव के रूप में दिखा सकती है, जैसे 29.97, या भिन्न के रूप में, जैसे 25/1। भिन्न 25/1 का अर्थ है 1 सेकंड में 25 फ्रेम। जब रेट पूर्णांक नहीं होता, तो भिन्न सटीक रहती है।
ये कुछ सामान्य मान हैं:
24/1: 24 fps, मोशन पिक्चर फ़िल्म की सामान्य दर24000/1001: लगभग 23.976 fps, जिसे FFmpegntsc-filmकहता है25/1: 25 fps, जिसे FFmpegpalकहता है30000/1001: लगभग 29.97 fps, जिसे FFmpegntscकहता है50और60: YouTube के अनुसार वीडियो अपलोड के लिए सामान्य दरें120: एक ऊपरी सीमा, सामान्य मान नहीं। यह अल्ट्रा हाई डेफिनिशन टेलीविज़न के लिए ITU मानक में सबसे उच्च दर है।
स्थिर और परिवर्तनीय फ़्रेम दर
स्थिर (constant) फ्रेम रेट में हर फ्रेम की अवधि समान होती है। परिवर्तनीय (variable) फ्रेम रेट में वीडियो के दौरान फ्रेमों के बीच का समय बदलता रहता है।
FFmpeg का ffprobe 2 फ़ील्ड दिखाता है: avg_frame_rate औसत दर है, और r_frame_rate बेस रेट है। बेस रेट वह सबसे कम दर है जो सभी टाइमस्टैम्प को सटीक रूप से दर्शा सकती है, और FFmpeg प्रलेखन इसे एक अनुमान (guess) कहता है।
उदाहरण के लिए, यदि फ्रेम या तो 1/25 या 1/50 सेकंड तक रहते हैं, तो r_frame_rate 50/1 होगा। औसत इससे कम होगा, इसलिए ये 2 फ़ील्ड अलग होंगे। टाइमस्टैम्प time base की इकाइयों में गिने जाते हैं।
मूल्य कहाँ से आता है
रिकॉर्ड किए गए वीडियो को रिकॉर्डिंग के समय ही उसका फ्रेम रेट मिलता है। कोई encoder बाद में इसे बदल सकता है, जैसे वीडियो को छोटा करने के लिए फ्रेम हटाकर।
इंटरलेस्ड वीडियो में एक अलग संख्या दिख सकती है। इस वीडियो के लिए, Apple का AVFoundation framework फ्रेम रेट नहीं, field rate रिपोर्ट करता है।
यह क्यों महत्वपूर्ण है
फ्रेम रेट मुख्य रूप से इस पर असर डालता है कि गति कितनी स्मूथ दिखाई देती है। ऊंची दर से गति और स्मूथ दिखती है, लेकिन जैसे-जैसे दर बढ़ती है, लाभ कम होता जाता है। लगभग 12 फ्रेम प्रति सेकंड से नीचे, आपको गति की जगह स्थिर छवियों की श्रृंखला दिखाई देती है।
24 fps से ऊपर, गति आम तौर पर स्मूथ दिखती है, और 30 या 60 fps एक अच्छा लक्ष्य है। अधिक दर से compressed फ़ाइल का आकार भी बढ़ता है, जब तक कि encoder दर न घटाए। इसलिए 60 fps, 30 fps से अधिक स्मूथ दिख सकता है, लेकिन फ़ाइल बड़ी हो जाती है।
YouTube आपसे वही फ्रेम रेट पर वीडियो अपलोड करने के लिए कहता है जिस पर आपने उसे रिकॉर्ड किया था। स्थिर दर पर, दर को अवधि से गुणा करने पर फ्रेमों की संख्या मिलती है। तो 4 सेकंड के लिए 25 fps पर 100 फ्रेम होते हैं।