मुख्य सामग्री पर जाएँ
SubtitleMatrix

ड्रॉप-फ़्रेम टाइमकोड को नॉन-ड्रॉप में बदलें

टाइमकोडDrop-frame टाइमकोड
या सबटाइटल टेक्स्ट पेस्ट करें

विकल्प

30 fps non-drop और 29.97 drop-frame एक ही घड़ी को अलग तरह लिखते हैं, और यह बॉक्स चुनता है कि फ़ाइल किस ओर पढ़ी जाए और किस ओर वापस लिखी जाए। एक घंटे पर पड़ा क्यू एक में 01:00:00,000 पढ़ा जाता है और दूसरे में 01:00:03,600 — दोनों में प्रति घंटा 3.6 सेकंड का फ़र्क है, गोलाई की गलती नहीं। पेज का शीर्षक एक दिशा बताता है, और यह बॉक्स केवल वही देता है, इसलिए जो फ़ाइल मिलती है वही इस पेज की बात है। टेक्स्ट में कुछ नहीं बदलता: कोई क्यू वीडियो के हिसाब से फिर से टाइम नहीं होता, कोई फ़्रेम रेट रूपांतरित नहीं होता, और एक घंटे के पहले मिनट का क्यू बिल्कुल वैसा ही लौटता है जैसा आया था, क्योंकि वहाँ कोई फ़्रेम लेबल नहीं छूटता।

टाइमिंग किस फ़्रेम रेट में गिनी गई है। फ़ॉर्मैट पेजों पर यही MicroDVD को चाहिए, क्योंकि वह टाइमिंग फ़्रेम संख्याओं में रखता है। फ़्रेम रेट पेजों पर यह वह रेट है जिसके हिसाब से फ़ाइल की टाइमिंग की गई थी — वह संस्करण जिसके लिए सबटाइटल बने थे — और पेज का दूसरा बॉक्स उस वीडियो का रेट लेता है जिसके साथ आप इन्हें इस्तेमाल करेंगे। 23.976, 24, 25, 29.97, 30, 50, 59.94 और 60 आम हैं। गलत होने पर पूरी टाइमलाइन खिसक जाती है, और फ़्रेम रेट पेजों पर वह एक अनुपात से खिसकती है, तय मात्रा से नहीं।

यह पेज सबटाइटल फ़ाइल के हर टाइमकोड को 29.97 fps ड्रॉप-फ़्रेम से वापस 30 fps नॉन-ड्रॉप-फ़्रेम के रूप में लिखता है, इसलिए हर घड़ी उतनी ही मात्रा में पीछे आती है जितनी कार्यक्रम के साथ बढ़ती जाती है: घंटे के पहले मिनट में कुछ नहीं, पाँच मिनट पर 333 मिलीसेकंड, एक घंटे पर 3600 मिलीसेकंड और दस घंटे पर 36 सेकंड। शब्द, क्यू-नंबर, क्यू का क्रम और पंक्ति-तोड़ फ़ाइल के अपने हैं और जस के तस बाहर आते हैं।

यह पेज उस फ़ाइल के लिए है जिसे किसी डिस्प्ले या डेक ने ड्रॉप-फ़्रेम में गिनते हुए मुहर लगाई थी — 29.97 सामग्री पर यही सामान्य बात है, क्योंकि ड्रॉप-फ़्रेम ही वह परिपाटी है जो दीवार की घड़ी के साथ चलती रहती है — और उसके बाद का हर औज़ार टाइमकोड को नॉन-ड्रॉप मानकर पढ़ता है। ऐसे पढ़े जाने पर फ़ाइल का हर टाइमकोड उतना बड़ा है जितनी मात्रा लगातार बढ़ती जाती है, इसलिए सबटाइटल जल्दी आ जाते हैं, और कार्यक्रम जितना लंबा होता है उतने ही ज़्यादा जल्दी। आधे घंटे पर ग़लती 1.8 सेकंड है और फ़ाइल में कहीं भी बढ़ना बंद नहीं होती — इसीलिए यह सुधार एक छोटा-सा धक्का नहीं, हर टाइमस्टैम्प पर वही पुनः-लेबलिंग है, जिसकी मात्रा क्यू की जगह से तय होती है।

किसी घड़ी को टाइमकोड के रूप में पढ़ने का मतलब है उसे निकटतम 30 fps फ़्रेम-टिक पर बिठाना, और ड्रॉप-फ़्रेम में ऐसे दो टिक मौजूद ही नहीं हैं। ड्रॉप-फ़्रेम हर मिनट की शुरुआत में ;00 और ;01 लेबल छोड़ देता है — हर दसवें मिनट को छोड़कर — यानी 00:00:59;28, 00:00:59;29 के बाद सीधे 00:01:00;02 पर कूद जाता है। इसलिए अंदर आया 00:01:00,000 ऐसा क्षण बताता है जिसे वह परिपाटी लिख ही नहीं सकती; उसे आख़िरी लिखने योग्य लेबल 00:00:59,933 पर खींच लिया जाता है — 67 मिलीसेकंड पहले। यह अंकगणित की असली सीमा है, कोई ढील नहीं, और इसे छिपाने के बजाय पेज पर लिखा जाता है: दो घंटे में ऐसे 216 मामले होते हैं।

ठहराव के बाद जो क्यू एक फ़्रेम (33.37 मिलीसेकंड) से छोटा रह जाता है उसे लिखा ही नहीं जा सकता, क्योंकि उसके दोनों सिरे एक ही टिक पर बैठ जाते हैं और वह क्यू नहीं रहता। ऐसे क्यू गिरा दिए जाते हैं और उनकी गिनती ऊपर की हानि-रिपोर्ट में दिखती है, चुपचाप एक फ़्रेम तक खींचे नहीं जाते। व्यवहार में यह केवल फ़्रेम-दर-फ़्रेम काटी गई सामग्री पर पहुँचता है, पर पेज यह मानकर नहीं चलता कि ऐसा कम होता है — वह गिनती बताता है, और जिस फ़ाइल में ऐसा कोई क्यू नहीं उसमें कुछ नहीं बताया जाता।

कुछ अपलोड नहीं होता। फ़ाइल ब्राउज़र टैब के अंदर पढ़ी और फिर लिखी जाती है और कभी मशीन से बाहर नहीं जाती — यह यहाँ हर दूसरे पेज जितना ही ज़रूरी है: गोपनीयता की बाधा वाली सामग्री किसी रूपांतरण सेवा को नहीं सौंपी जा सकती, और यह पेज उसे माँगता ही नहीं।

उदाहरण

पाँच मिनट पर पहुँची फ़ाइल

इनपुट

1
00:05:00,000 --> 00:05:02,000
The room is dark.

2
00:10:00,000 --> 00:10:03,000
A cold night.

आउटपुट

1
00:04:59,667 --> 00:05:01,667
The room is dark.

2
00:09:59,400 --> 00:10:02,400
A cold night.

सुधार एक ही संख्या नहीं है: पाँच मिनट पर घड़ी 333 मिलीसेकंड पीछे जाती है और दस मिनट पर 600 मिलीसेकंड, क्योंकि पहले क्यू तक ड्रॉप-फ़्रेम दस लेबल छोड़ चुका है और दूसरे तक अठारह। हर क्यू अपनी लंबाई मिलीसेकंड तक बनाए रखता है, क्योंकि उसके दोनों सिरे उतनी ही मात्रा में खिसकते हैं — यह पुनः-लेबलिंग है, स्थानांतरण नहीं।

एक घंटे पर वही सुधार

इनपुट

1
01:00:03,600 --> 01:00:06,600
An hour into the programme.

आउटपुट

1
01:00:00,000 --> 01:00:03,000
An hour into the programme.

एक घंटे पर ड्रॉप-फ़्रेम का 01:00:03,600 वही है जिसे नॉन-ड्रॉप 01:00:00,000 कहता है — 108 छूटे लेबल, 3600 मिलीसेकंड। पेज को जाँचने के लिए यही संख्या है: नतीजे की पहली पंक्ति इनपुट की पहली पंक्ति से ठीक 3600 मिलीसेकंड पहले होनी चाहिए, और ड्रॉप-फ़्रेम डेक से आई फ़ाइल को पूरे घंटे पर ही पहुँचना चाहिए। दोनों सिरे खिसकते हैं इसलिए क्यू की लंबाई वही रहती है।

पहले मिनट के अंदर का क्यू

इनपुट

1
00:00:04,000 --> 00:00:06,000
Still early in the file.

2
00:05:00,000 --> 00:05:02,000
This one does move.

आउटपुट

1
00:00:04,000 --> 00:00:06,000
Still early in the file.

2
00:04:59,667 --> 00:05:01,667
This one does move.

घंटे के पहले मिनट में कोई लेबल नहीं छूटता, इसलिए दोनों परिपाटियाँ उन साठ सेकंड को एक ही तरह लिखती हैं और पहला क्यू अछूता रहता है। पाँच मिनट वाला दूसरा क्यू खिसकता है। एक क्यू का वैसा ही रहना और दूसरे का खिसकना इस फ़ाइल के लिए सही नतीजा है, अधूरा दौर नहीं — सुधार घंटे के शुरू में शून्य होता है और पहली मिनट-सीमा से आगे बढ़ता जाता है।

अक्सर पूछे जाने वाले सवाल

ड्रॉप-फ़्रेम से नॉन-ड्रॉप में बदलने पर सबटाइटल पहले क्यों आ जाते हैं?

क्योंकि फ़ाइल की घड़ियाँ उन क्षणों से बड़ी थीं जिन्हें वे बताती हैं। नॉन-ड्रॉप हर सेकंड 30 लेबल गिनता है, मानो 29.97 fps हर सेकंड 30 फ़्रेम दे रहा हो, इसलिए वह असली समय से धीरे-धीरे आगे निकल जाता है; ड्रॉप-फ़्रेम हर मिनट दो लेबल छोड़कर उसके साथ बना रहता है। इसलिए ड्रॉप-फ़्रेम डेक से पढ़ी और नॉन-ड्रॉप मानी गई घड़ी जहाँ होनी चाहिए उससे आगे इशारा करती है, और सुधार वही अतिरिक्त मात्रा घटाता है: पाँच मिनट पर 333 मिलीसेकंड, एक घंटे पर 3600, दस घंटे पर 36000। घंटे के पहले मिनट की हर घड़ी के लिए मात्रा शून्य है, इसलिए सबसे छोटा सुधार पहली मिनट-सीमा पर लगता है।

जिस ड्रॉप-फ़्रेम टाइमकोड को लिखा ही नहीं जा सकता उसका क्या होता है?

उसे आख़िरी लिखने योग्य लेबल पर खींच लिया जाता है। ड्रॉप-फ़्रेम के हर छूटने वाले मिनट में ;00 और ;01 लेबल नहीं होते, इसलिए 00:01:00,000 और 00:01:00,010 वे घड़ियाँ नहीं हैं जिन्हें वह परिपाटी दिखा सके: दोनों 00:00:59,933 पर पहुँचती हैं, 67 मिलीसेकंड पहले। यह इस पेज की एकमात्र जगह है जहाँ नतीजा ठीक-ठीक पुनः-लेबलिंग नहीं है, और इसकी सीमा तय है — हर छूटते मिनट पर दो लेबल, दो घंटे में 216 मान — इसलिए पेज इसे यहीं बता देता है।

क्या कोई क्यू मेरी फ़ाइल से गायब हो सकता है?

केवल वह क्यू जो एक फ़्रेम यानी 33.37 मिलीसेकंड से छोटा रह जाए। दो बातें क्यू को एक ही फ़्रेम पर ला सकती हैं: ऊपर बताया गया ठहराव — जैसे 00:01:00,000 से 00:01:00,010 तक का दस-मिलीसेकंड क्यू जिसके दोनों सिरे 00:00:59,933 पर खिंच जाते हैं — और वह क्यू जो पहले से ही फ़्रेम से छोटा आया था। जिस क्यू का आरंभ और अंत एक ही क्षण हो वह लिखा नहीं जा सकता, इसलिए वह गिरता है और उसकी गिनती हानि-रिपोर्ट में दिखती है। ऐसा कोई क्यू न हो तो कुछ नहीं बताया जाता, जो सामान्य हालत है।

क्या घड़ी की संख्याओं के अलावा फ़ाइल में कुछ और बदलता है?

नहीं। क्यू-नंबर, उनका क्रम, हर पंक्ति का पाठ, क्यू के अंदर की सख़्त पंक्ति-तोड़ और कुल क्यू-संख्या फ़ाइल के अपने हैं और वैसे ही रहते हैं। पेज प्रति क्यू वही दो संख्याएँ लिखता है, बस दूसरी परिपाटी में। वह कहीं यह भी दर्ज नहीं करता कि अब घड़ियाँ नॉन-ड्रॉप हैं, क्योंकि यहाँ पढ़े जाने वाले किसी फ़ॉर्मैट में ऐसा कोई फ़ील्ड नहीं — SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON और CSV सब बस एक समय लिखते हैं।

फ़्रेम-रेट वाले बॉक्स में क्या डालूँ?

जो भी दर फुटेज की असल में है; इस रूपांतरण पर उसका असर नहीं पड़ता। इस पेज के नाम में 30 और 29.97 टाइमकोड स्ट्रिंग पर लिखी गिनती की परिपाटियाँ हैं, वीडियो की फ़्रेम-दर नहीं, इसलिए यहाँ कुछ भी उस संख्या से नापा या बाँटा नहीं जाता। बॉक्स इसलिए ज़रूरी है क्योंकि MicroDVD समय को घड़ी के बजाय फ़्रेम-संख्या में रखता है, और फ़्रेम-दर जाने बिना MicroDVD फ़ाइल पढ़ी ही नहीं जा सकती।

अगर इस नतीजे पर उल्टा पेज चलाऊँ तो मूल फ़ाइल वापस मिलेगी?

हाँ, बाइट-दर-बाइट — जब तक कोई टाइमकोड उस वर्ग में न गिरा हो जिसे ड्रॉप-फ़्रेम लिख ही नहीं सकता। दोनों पेज एक ही अंकगणित को उलटी दिशा में पढ़ते हैं: यह एक बढ़ती मात्रा घटाता है, दूसरा उसे वापस जोड़ता है, और मात्रा हर क्यू की जगह से तय होती है, किसी स्थिर ऑफ़सेट से नहीं। अपवाद वही ठहराव वाला मामला है — 00:01:00,000 जो 00:00:59,933 बनकर आया था, 00:00:59,933 ही लौटता है — और यही एकमात्र किस्म है जहाँ यह जोड़ी गोल-गोल यात्रा नहीं करती।

संबंधित टूल