FixMyVideos

वीडियो बहुत तेज़ या बहुत धीमी गति से चलता है — गलत फ़्रेम रेट

वीडियो खुलता है। ऑडियो मौजूद है। बस देखने में गड़बड़ लगती है — बहुत तेज़, बहुत धीमी या झटकेदार चल रही है। आमतौर पर फ़्रेम रेट मेल नहीं खाता।

क्या हो रहा है

वीडियो फ़ाइल अपना फ़्रेम रेट दो जगहों पर बताती है: 'mvhd' और 'mdhd' (टाइमस्केल और अवधि) में प्रति-ट्रैक, और 'stts' टेबल में फ़्रेम अवधियों के ज़रिए अप्रत्यक्ष रूप से। अगर वे मेल नहीं खाते, या अगर रिकवरी ने गलत वैल्यू लिखी हैं, तो प्लेयर समय का गलत विभाजन करता है और वीडियो गलत स्पीड पर दिखाई देता है।

आम पैटर्न:

पैटर्न 1: आधी-स्पीड या दोगुनी-स्पीड

रिकॉर्ड की गई फ़ाइल 60 fps की है, लेकिन 30 fps पर चलती है (स्लो-मो दिखती है) या इसका उलट। रिकवरी के समय लगभग हमेशा फ़्रेम रेट गलत पढ़ा जाता है। फ़्रेम सही हैं; सिर्फ़ टाइमिंग मेटाडेटा गलत है।

पैटर्न 2: झटकेदार मोशन / ड्रॉप किए गए फ़्रेम जैसा दिखना

ऐसा लगता है कि वीडियो हर दूसरे फ़्रेम को प्ले कर रहा है। अक्सर फ़्रेम रेट में मेल नहीं खाता, जहाँ प्लेयर 30 fps पर सेट होता है, लेकिन फ़ाइल वेरिएबल या 60 fps होती है, इसलिए डिस्प्ले के दौरान फ़्रेम प्रभावी रूप से ड्रॉप हो जाते हैं।

पैटर्न 3: वीडियो सही तरीके से चलता है, लेकिन गलत स्पीड पर एक्सपोर्ट होता है

आप Premiere / Resolve में इंपोर्ट करते हैं, टाइमलाइन सामान्य रूप से चलती है, लेकिन एक्सपोर्ट तेज़ या धीमा आता है। प्रोजेक्ट सेटिंग (टाइमलाइन फ़्रेम रेट) क्लिप फ़्रेम रेट से मेल नहीं खाती हैं और कन्फ़ॉर्म गलत है।

पैटर्न 4: वेरिएबल फ़्रेम रेट (VFR) से जुड़ी समस्याएँ

iPhone और कई फ़ोन VFR रिकॉर्ड करते हैं — वास्तविक फ़्रेम अंतराल थोड़े-बहुत अलग-अलग होते हैं। NLE इंपोर्ट के समय कॉन्स्टेंट फ़्रेम रेट (CFR) में बदल देते हैं, जो कभी-कभी गलत होता है। नतीजा: रिकॉर्डिंग में टाइमिंग में फ़र्क।

यह कैसे पता लगाएँ कि कौन-सी समस्या है

ffprobe -v error -show_streams broken.mov | grep -E "r_frame_rate|avg_frame_rate|time_base|nb_frames|duration"

आपको कुछ ऐसा मिलेगा:

r_frame_rate=60/1
avg_frame_rate=60/1
time_base=1/60000
duration=120.500000
nb_frames=7230

गणित जाँच: 'nb_frames / duration ≈ avg_frame_rate'. अगर यह लगभग सही नहीं है, तो टाइमिंग मेटाडेटा असंगत है।

अगर 'r_frame_rate' और 'avg_frame_rate' में काफ़ी अंतर है → VFR (पैटर्न 4)।

अगर 'nb_frames * (1/r_frame_rate) ≠ duration' → गलत अवधि या गलत फ़्रेम रेट मेटाडेटा।

क्या करें

पैटर्न 1 — गलत फ़्रेम रेट

सही फ़्रेम रेट को फ़ोर्स करके फिर से मक्स करें:

ffmpeg -i broken.mov -c copy -video_track_timescale 60000 -r 60 fixed.mov

'60' की जगह वास्तविक फ़्रेम रेट डालें। अगर आपको नहीं पता कि कैमरा क्या रिकॉर्ड कर रहा था: तो कैमरे का मेन्यू देखें या फ़ाइल में दिखने वाली गति की गिनती करें (अगर स्पष्ट रूप से 60-fps वाला पैनिंग शॉट स्लो-मो दिखता है, तो इसका मतलब है कि यह 30-fps पर चल रहा है; 60-fps पर चलने के लिए फ़ोर्स करें)।

पैटर्न 2 — झटकेदार प्लेबैक

अक्सर यह फ़ाइल की समस्या नहीं, बल्कि प्लेयर की समस्या होती है। VLC या Resolve आज़माएँ। अगर वे बिना किसी रुकावट के चलते हैं, तो फ़ाइल ठीक है और समस्या आपके मूल प्लेयर में है।

अगर VLC में भी अटक-अटक कर चलता है: फ़ाइल की फ़्रेम टाइमिंग में गैप हैं। टाइमस्टैम्प रीजेनरेशन के साथ फिर से मक्स करें:

ffmpeg -i broken.mov -fflags +genpts -c copy fixed.mov

पैटर्न 3 — प्रोजेक्ट फ़्रेम रेट मेल नहीं खाता

अपनी टाइमलाइन की फ़्रेम रेट को क्लिप से मिलाने के लिए सेट करें। Premiere में: नया सीक्वेंस → सेटिंग → टाइमबेस। Resolve में: प्रोजेक्ट सेटिंग्स → मास्टर सेटिंग्स → टाइमलाइन फ़्रेम रेट।

अगर आपको कोई दूसरा टाइमलाइन रेट इस्तेमाल करना हो, तो आपके NLE का "इंटरप्रेट फ़ुटेज" टूल अन्य क्लिप को प्रभावित किए बिना क्लिप के रिपोर्ट किए गए रेट को ओवरराइड कर सकता है।

पैटर्न 4 — VFR ड्रिफ़्ट

FFmpeg की मदद से CFR में कनवर्ट करें:

ffmpeg -i variable_frame_rate.mov -vsync cfr -r 30 -c:a copy constant_frame_rate.mp4

'-r 30' टार्गेट CFR है; सोर्स में मौजूद प्रमुख रेट से मैच करने का विकल्प चुनें।

हमारी रिकवरी फ़्रेम रेट का पता कैसे लगाती है

रिकवरी पाइपलाइन दो तरीकों से फ़्रेम रेट का पता लगाती है:

  • कोडेक पैरामीटर से। H.264 SPS, H.265 SPS, ProRes फ़्रेम हेडर सभी में फ़्रेम रेट की जानकारी मौजूद होती है। हम इसे पहले वैध फ़्रेम के पैरामीटर सेट से निकालते हैं।
  • टाइमस्टैम्प डिस्ट्रिब्यूशन से। जब कोडेक पैरामीटर मौजूद नहीं होते या खराब हो जाते हैं, तो हम 'mdat' में पाए गए फ़्रेम्स के बीच की दूरी से फ़्रेम रेट निकालते हैं — फ़्रेम इंटरवल का मीडियन fps अनुमान बन जाता है।

असामान्य मामले:

  • VFR स्रोत (फ़ोन फ़ुटेज): रिकवर की गई फ़ाइल डिफ़ॉल्ट रूप से मीडियन फ़्रेम रेट पर CFR होती है, जिसमें प्रति-फ़्रेम टाइमस्टैम्प पासथ्रू होता है, ताकि प्लेबैक की टाइमिंग ओरिजिनल से मेल खाए। अगर आपके एडिटर को VFR आउटपुट की ज़रूरत है, तो आप उसका अनुरोध कर सकते हैं।
  • स्लो-मोशन मोड (जैसे, iPhone 240 fps): रिकवर की गई फ़ाइल सोर्स की इच्छित प्लेबैक रेट (30 fps) पर प्ले होती है, जिससे 240 fps वाला सोर्स उम्मीद के मुताबिक 8x स्लो-मोशन में प्ले होता है।
  • मिश्रित रेट (दुर्लभ, सिर्फ़ कॉन्कैटेनेटेड रिकॉर्डिंग में देखे जाते हैं): हम प्रमुख रेट निकालते हैं और मामले को मैन्युअल समीक्षा के लिए फ़्लैग करते हैं।

आपको क्या करना है

अगर कहीं और से रिकवर की गई फ़ाइल गलत स्पीड पर चलती है: दोबारा रिकवर करने से पहले ऊपर दिए गए FFmpeg फ़िक्स आज़माएँ। अगर वे काम नहीं करते, तो मूल खराब फ़ाइल अपलोड करें और हम सही फ़्रेम रेट डिटेक्शन के साथ फिर से रिकवरी करेंगे।

अगर फ़ाइल हमारी ओर से है और स्पीड गलत है: तो अपने जॉब पेज से केस को आगे बढ़ाएँ। हम सही fps के साथ फिर से जनरेट करेंगे। इसके लिए कोई शुल्क नहीं लिया जाएगा।

FAQ

रिकवरी के बाद मेरी iPhone स्लो-मो रिकॉर्डिंग गलत स्पीड पर चलती है। स्लो-मो मोड ज़्यादा fps (120, 240) पर रिकॉर्ड करते हैं और प्लेबैक रेट मेटाडेटा एम्बेड करते हैं, जिसमें लिखा होता है "इसे 30 पर प्ले करें।" रिकवरी के दौरान कभी-कभी वे मेटाडेटा खो जाते हैं। समाधान: Photos / FCP में, प्लेबैक रेट मैन्युअल रूप से सेट करें; या मनचाही प्लेबैक स्पीड के लिए '-r 30' के साथ फिर से एक्सपोर्ट करें।

Premiere में गेम/स्क्रीन रिकॉर्डिंग बहुत तेज़ चलती है। लगभग हमेशा प्रोजेक्ट फ़्रेम रेट में मेल नहीं खाता (पैटर्न 3)। सोर्स रेट से मेल खाने के लिए टाइमलाइन सेट करें।

अपलोड के बाद वीडियो सिर्फ़ YouTube पर गलत स्पीड पर चलता है। YouTube अपलोड को एक फ़िक्स्ड फ़्रेम रेट (आमतौर पर 29.97/59.94) पर ट्रांसकोड करता है। अगर आपकी फ़ाइल बिल्कुल 30/60 है और उसमें ऑफ़-स्पेक मेटाडेटा है, तो YouTube की व्याख्या अलग हो सकती है। YouTube की अपेक्षा के अनुरूप प्री-ट्रांसकोड करें:

ffmpeg -i input.mov -r 30000/1001 -c:v libx264 -c:a copy youtube_friendly.mp4

क्या मेरी फ़ुटेज सुरक्षित है? सर्वर फ़्रांस में है, 48 घंटे बाद ऑटो-डिलीट हो जाता है, किसी चीज़ को ट्रेन करने के लिए कभी इस्तेमाल नहीं किया जाता या शेयर नहीं किया जाता। निजता नीति

संबंधित

अपनी फ़ाइल अपलोड करें →

मुफ़्त प्रीव्यू · कोई प्रतिबद्धता नहीं

क्या आप अपना वीडियो रिकवर करने के लिए तैयार हैं?

अपनी फ़ाइल अपलोड करें। लगभग एक मिनट में 5-सेकंड का मुफ़्त प्रीव्यू पाएँ। अगर प्रीव्यू सही लगता है, तो ही भुगतान करें।

अपना वीडियो अपलोड करें →