मुख्य सामग्री पर जाएँ
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 आम हैं। गलत होने पर पूरी टाइमलाइन खिसक जाती है, और फ़्रेम रेट पेजों पर वह एक अनुपात से खिसकती है, तय मात्रा से नहीं।

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

दोनों परिपाटियाँ एक ही घड़ी को अलग-अलग लिखती हैं, और फ़ाइल को उसी में होना चाहिए जिसमें बाकी पाइपलाइन चल रही है। ड्रॉप-फ़्रेम हर सेकंड 30 लेबल गिनता है पर हर दसवें को छोड़कर बाकी हर मिनट में दो लेबल छोड़ देता है — इसी तरह वह दीवार की घड़ी के साथ रहता है जबकि नॉन-ड्रॉप धीरे-धीरे पीछे छूटता जाता है। एक घंटे पर दोनों में 3.6 सेकंड का फ़ासला हो जाता है: नॉन-ड्रॉप का 01:00:00,000 ड्रॉप-फ़्रेम में 01:00:03,600 है। यह गोलाई की भूल नहीं है और गोल करके मिटाई नहीं जाती — यह कार्यक्रम के साथ बढ़ती है और दस घंटे पर 36 सेकंड तक पहुँच जाती है।

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

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

यह फ़्रेम-रेट रूपांतरण नहीं है। 25 fps वीडियो के लिए समयबद्ध फ़ाइल यहाँ दोबारा समयबद्ध नहीं होती, और कुछ भी वीडियो के साथ खींचा या दबाया नहीं जाता: समय अपना फ़ासला बनाए रखते हैं, केवल उनका लिखा जाना बदलता है। कुछ अपलोड नहीं होता; फ़ाइल ब्राउज़र टैब के अंदर पढ़ी और लिखी जाती है।

उदाहरण

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

इनपुट

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:05:00,333 --> 00:05:02,333
The room is dark.

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

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

एक घंटे पर वही फ़ाइल

इनपुट

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

आउटपुट

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

एक घंटे पर दोनों परिपाटियों में 3.6 सेकंड का फ़ासला है, यानी 108 छूटे लेबल। जाँच करते समय यही संख्या देखें: नतीजे की पहली पंक्ति इनपुट से ठीक 3600 मिलीसेकंड बाद होनी चाहिए। क्यू के दोनों सिरे खिसकते हैं इसलिए उसकी लंबाई वही रहती है।

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

इनपुट

1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.

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

आउटपुट

1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.

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

पहला क्यू बाइट-दर-बाइट लौटता है और दूसरा उसी दौर में खिसकता है। घंटे के पहले मिनट में कोई लेबल नहीं छूटता, इसलिए दोनों परिपाटियाँ उन साठ सेकंड को एक ही तरह लिखती हैं — और 00:00:02,000 पहले से 30 fps फ़्रेम-टिक पर है, इसलिए उसके बारे में कुछ नहीं बदलता। दो टिक के बीच बैठी घड़ी को निकटतम टिक पर लाया जाता, अधिकतम 17 मिलीसेकंड।

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

ड्रॉप-फ़्रेम और नॉन-ड्रॉप-फ़्रेम टाइमकोड में क्या फ़र्क़ है?

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

एक घंटे पर आया क्यू 3.6 सेकंड बाद क्यों लौटता है?

क्योंकि एक घंटे में छूटे लेबलों की कुल मात्रा 3.6 सेकंड ही है: हर 60 मिनट में 54 मिनट, हर मिनट दो लेबल, हर लेबल 33.37 मिलीसेकंड — यानी 108 लेबल या 3600 मिलीसेकंड प्रति घंटा। पेज देरी नहीं जोड़ रहा; वह वही फ़्रेम दूसरी परिपाटी में लिख रहा है, और कार्यक्रम में उस जगह दूसरी परिपाटी बाद में पढ़ी जाती है। 01:00:00,000 अंदर जाता है और 01:00:03,600 बाहर आता है; क्यू के दोनों सिरे खिसकते हैं इसलिए उसकी लंबाई मिलीसेकंड तक वही रहती है।

मेरी फ़ाइल का पहला मिनट बिना बदले क्यों लौटा?

क्योंकि घंटे के पहले मिनट में कोई लेबल नहीं छूटता, इसलिए ड्रॉप-फ़्रेम और नॉन-ड्रॉप-फ़्रेम उस हिस्से को एक ही तरह लिखते हैं — 00:00:02,000 दोनों में 60 फ़्रेम है और 60 फ़्रेम दोनों तरह से एक ही लिखा जाता है। खिसकाव पहली मिनट-सीमा से शुरू होकर बढ़ता है। उस हिस्से में समय खिसकाने की एक और वजह हो सकती है: घड़ी को टाइमकोड पढ़ना उसे निकटतम 30 fps फ़्रेम-टिक पर बिठाता है, इसलिए 00:00:02,010 जैसा मान 00:00:02,000 बनकर लौटता है। फ़्रेम-सटीक औज़ार से लिए गए समय पहले से ग्रिड पर होते हैं और ज़रा भी नहीं खिसकते।

मुझे कौन-सी दिशा चाहिए — नॉन-ड्रॉप से ड्रॉप, या उलटी?

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

क्या यह पेज मेरे सबटाइटल की फ़्रेम-दर बदलता है?

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

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

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

संबंधित टूल