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

SBV को TTML में बदलें

या सबटाइटल टेक्स्ट पेस्ट करें

यह रूपांतरण क्या बदलता है

इस दिशा में कुछ नहीं छूटता — स्रोत फ़ॉर्मैट की हर सुविधा के लिए लक्ष्य फ़ॉर्मैट में कहीं जगह है।

यह सूची इन दोनों फ़ॉर्मैट के क्षमता मैट्रिक्स से आती है, आपकी लोड की गई उस फ़ाइल से नहीं। कोई खास फ़ाइल ज़्यादा खो सकती है अगर वह ऐसी सुविधाएँ इस्तेमाल करती हो जिन्हें फ़ॉर्मैट अनुमति देता है पर मैट्रिक्स मॉडल नहीं करता।

यह पेज YouTube SBV फ़ाइल को TTML (Timed Text) में बदलता है। SBV में एक पंक्ति पर दो समय 0:00:04.000,0:00:07.000 रहते हैं और उसके नीचे पाठ; कोई क्रमांक नहीं होता। TTML एक XML दस्तावेज़ है जिसका <head> नामित स्टाइल और region रखता है, और <p> तत्व cue बनते हैं।

यहाँ कुछ नहीं छूटता: TTML पूरी स्टाइलिंग और region-आधारित स्थिति रखता है, जो SBV की हर जानकारी को समेट लेता है। SBV इसे 0:00:04.000 लिखता है और TTML इसे 00:00:04.000 लिखता है; क्षण वही रहता है, सिर्फ़ विराम-चिह्न और इकाई बदलती है।

TTML (Timed Text) का आउटपुट .ttml फ़ाइल है और उसमें XML ढाँचा, <head> की <styling>/<layout> तालिकाएँ और <p> cue बनती हैं। चाहे एक फ़ाइल डालें या पूरी सीरीज़, सब कुछ एक-एक करके चलता है, बीच में रोका जा सकता है, और सारे नतीजे एक ZIP में मिलते हैं। कोई सर्वर नहीं, कोई अपलोड नहीं — सब कुछ आपके ब्राउज़र में।

उदाहरण

एक सामान्य SBV फ़ाइल, TTML में बदली गई

इनपुट

0:00:01.000,0:00:03.500
The quick brown fox.

0:00:04.000,0:00:06.250
Jumps over the lazy dog.

0:00:07.000,0:00:09.000
Two lines here.
And a second one.

आउटपुट

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:01.000" end="00:00:03.500">The quick brown fox.</p>
<p begin="00:00:04.000" end="00:00:06.250">Jumps over the lazy dog.</p>
<p begin="00:00:07.000" end="00:00:09.000">Two lines here.<br/>And a second one.</p>  </body>
</tt>

यहाँ कुछ नहीं छूटता: दोनों ओर की पंक्तियाँ एक-एक करके मिलाइए।

SBV से TTML: वही रूपांतरण एक कठिन इनपुट पर

इनपुट

0:00:02.000,0:00:04.000
Carriage-return line endings.

	0:00:06.000,0:00:08.000
Indented timecode, no final newline.

आउटपुट

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <body>
<p begin="00:00:02.000" end="00:00:04.000">Carriage-return line endings.</p>
<p begin="00:00:06.000" end="00:00:08.000">Indented timecode, no final newline.</p>  </body>
</tt>

असली SBV फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।

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

TTML की घड़ी SBV की तुलना में कितनी सूक्ष्म है?

SBV इसे 0:00:04.000 लिखता है और TTML इसे 00:00:04.000 लिखता है; क्षण वही रहता है, सिर्फ़ विराम-चिह्न और इकाई बदलती है। कोई पूर्णांकन नहीं होता, क्योंकि TTML की घड़ी SBV से महीन या बराबर है।

क्या SBV के cue क्रमांक TTML में बचते हैं?

SBV में cue क्रमांक होता ही नहीं, इसलिए TTML में जाने पर गिनती जोड़ी जाती है या नहीं, यह लक्ष्य का ढाँचा तय करता है। दोनों में cue का असली क्रम समय से आता है, इसलिए क्रमांक न होने से पहचान नहीं खोती।

SBV से TTML का रूपांतरण पूरी तरह सुरक्षित क्यों है?

कुछ नहीं छूटता, क्योंकि TTML SBV की हर जानकारी रख सकता है: cue का समय, पाठ, पंक्ति विराम और क्रम। SBV इसे 0:00:04.000 लिखता है और TTML इसे 00:00:04.000 लिखता है; क्षण वही रहता है, सिर्फ़ विराम-चिह्न और इकाई बदलती है। यह क्षमता-स्तर का निष्कर्ष है; अगर आपकी SBV फ़ाइल में पार्स करते समय कोई खराब ब्लॉक पहले ही छूटा था, तो वह अलग रिपोर्ट में दिखेगा।

SBV से TTML बनाने पर <head> में क्या आता है?

TTML में हर SBV cue एक <p> तत्व बनती है, और <head> में <styling> व <layout> तालिकाएँ बनाई जाती हैं। समय 00:00:04.000 रूप में जाता है और SBV की पंक्तियाँ <p> के भीतर <span> बनकर रहती हैं।

SBV के हार्ड लाइन-ब्रेक TTML में बचते हैं?

दोनों फ़ॉर्मैट एक cue के भीतर हार्ड लाइन-ब्रेक रख सकते हैं, इसलिए SBV की दो पंक्तियाँ TTML में भी एक ही cue की दो पंक्तियाँ रहती हैं और एक साथ दिखती हैं। कुछ भी जोड़ा या तोड़ा नहीं जाता; बदलता सिर्फ़ समय का लिखावटी रूप है।

क्या TTML से SBV में वापस बदलने पर छूटी जानकारी लौट आती है?

नहीं। TTML से SBV की उलटी दिशा में भी सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट) जैसी जानकारी गिरती है, क्योंकि दोनों फ़ॉर्मैट अलग-अलग चीज़ें रखते हैं और उलटी दिशा की अपनी कमियाँ हैं। और इस दिशा में SBV से TTML में जो छूटा — जैसे source की कुछ जानकारी TTML में जगह नहीं पाती — वह TTML में कहीं दर्ज नहीं है, इसलिए किसी भी उलटे रूपांतरण से उसे दोबारा नहीं बनाया जा सकता।

संबंधित टूल