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

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

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

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

3 चीज़ें छूटती हैं या फ़ैसला माँगती हैं

  • स्टाइलिंग

    सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया)

  • स्थान

    स्क्रीन पर स्थान (हर क्यू डिफ़ॉल्ट जगह पर लौट आता है)

  • फ़ॉर्मैट-विशिष्ट सामग्री

    वह सामग्री जो स्रोत फ़ॉर्मैट अपने क्यू के बाहर रखता है (क्यू से बाहर के ब्लॉक, हेडर टेक्स्ट, प्रति-क्यू सेटिंग, टिप्पणी की गई घटनाएँ) — लक्ष्य फ़ॉर्मैट में उसके लिए कोई जगह नहीं

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

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

जो नहीं बचता: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। TTML के रंग, आउटलाइन, छाया और मार्जिन SBV में कोई स्तंभ नहीं पाते; TTML का {\pos(320,240)} SBV में कोई जगह नहीं पाता और हर cue डिफ़ॉल्ट स्थान पर लौटती है; XML prolog और <head> की <styling>, <layout> व <metadata> तालिकाएँ SBV में नहीं जाते, क्योंकि वहाँ उनके लिए कोई अनुभाग नहीं है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।

YouTube SBV की फ़ाइल .sbv एक्सटेंशन के साथ बनती है; हर cue दो समयों की एक पंक्ति और उसके नीचे पाठ से बनती है। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।

उदाहरण

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

इनपुट

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
  <head>
    <styling>
      <style xml:id="s1" tts:color="#FFFF00" tts:fontWeight="bold"/>
    </styling>
    <layout>
      <region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
    </layout>
  </head>
  <body>
    <div>
      <p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
      <p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
    </div>
  </body>
</tt>

आउटपुट

0:00:01.000,0:00:03.500
Hello <i>there</i>.

0:00:03.500,0:00:06.000
How are you?
Fine, thanks.

इस आउटपुट में छूटा: स्टाइलिंग, स्क्रीन स्थिति, फ़ॉर्मैट-विशिष्ट सामग्री। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।

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

इनपुट

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
    ttp:frameRate="25" xml:lang="en">
  <body>
    <div>
      <p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
      <p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
      <p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
      <p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom &amp; Jerry.</p>
    </div>
  </body>
</tt>

आउटपुट

0:00:01.500,0:00:03.500
Loaded from an offset and a duration.

0:00:04.000,0:00:06.500
A coarser clock spelling.

0:00:07.000,0:00:08.480
Frames, at 25fps.

0:00:09.000,0:00:11.000
<font color="#FF0000">Half-open</font> and Tom &amp; Jerry.

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

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

SBV में समय लिखने का तरीका TTML से कितना अलग है?

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

TTML के XML prolog और <head> की <styling>, <layout> व <metadata> तालिकाएँ का SBV में क्या ठिकाना है?

TTML की वह सामग्री cue मॉडल के बाहर रहती है — <styling> में tts:color जैसे नामित नियम हैं, <layout> में tts:origin व tts:extent वाले region, और <p> उन्हें नाम से पुकारता है। SBV में उसके लिए कोई अनुभाग, स्तंभ या विशेषता नहीं है, इसलिए वह गिर जाती है और रिपोर्ट में अलग से गिनी जाती है; SBV का अपना हेडर उसे दोबारा नहीं बना सकता।

TTML से SBV बनाने की असली कीमत क्या है?

इस दिशा में 3 तरह की जानकारी गिरती है: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। मिसाल के लिए, TTML का {\pos(320,240)} और उसका रंग SBV में अपना स्थान नहीं पाते। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।

TTML से SBV बनाने पर दो समयों की पंक्ति कैसे बनती है?

SBV में हर TTML cue दो समयों की एक पंक्ति बनती है, जैसे 0:00:04.000,0:00:07.000, और उसके नीचे पाठ। cue क्रमांक लिखे ही नहीं जाते, इसलिए TTML की गिनती की जगह केवल समय और पाठ रहते हैं।

TTML की cues का क्रम SBV में बदलता है या नहीं?

cues शुरुआती समय के क्रम में लिखी जाती हैं, इसलिए TTML में अगर कोई cue क्रम से बाहर थी तो SBV में वह अपनी सही जगह पर लौट आती है। एक cue के भीतर की पंक्तियाँ अलग नहीं होतीं, क्योंकि दोनों फ़ॉर्मैट हार्ड लाइन-ब्रेक रख सकते हैं।

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

हाँ, उलटी दिशा भी सुरक्षित है: SBV से TTML में जाने पर भी कुछ नहीं छूटता, क्योंकि दोनों एक ही जानकारी रखते हैं। फिर भी इस दिशा में जो पहले छूटा था वह वापस नहीं आता — गिरी हुई जानकारी किसी फ़ाइल में बची ही नहीं होती।

संबंधित टूल