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

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

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

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

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

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

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

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

इस पेज पर SMI फ़ाइल डालिए और TTML फ़ाइल पाइए। SMI में <SYNC Start=4000> जैसे टैग बताते हैं कि उस क्षण से क्या दिखेगा, और <STYLE> ब्लॉक रंग-फ़ॉन्ट तय करता है। TTML एक XML दस्तावेज़ है जिसका <head> नामित स्टाइल और region रखता है, और <p> तत्व cue बनते हैं।

जो नहीं बचता: cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। <STYLE> ब्लॉक, <TITLE> और Class=… जैसी विशेषताएँ TTML में नहीं जाते, क्योंकि वहाँ उनके लिए कोई अनुभाग नहीं है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।

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

उदाहरण

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

इनपुट

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

आउटपुट

<?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.000">Hello there.</p>
<p begin="00:00:03.500" end="00:00:06.000">How are you?<br/>Fine, thanks.</p>  </body>
</tt>

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

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

इनपुट

<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

आउटपुट

<?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.500" end="00:00:09.000">Line one<br/>Line two</p>
<p begin="00:00:09.000" end="00:00:12.000">Tom &amp; Jerry</p>  </body>
</tt>

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

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

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

SMI का Start=4000 TTML में 00:00:04.000 बनता है; क्षण वही रहता है। कोई पूर्णांकन नहीं होता, क्योंकि TTML की घड़ी SMI से महीन या बराबर है।

SMI के <STYLE> ब्लॉक, <TITLE> और Class=… जैसी विशेषताएँ का TTML में क्या ठिकाना है?

SMI की वह सामग्री cue मॉडल के बाहर रहती है — <STYLE> में CSS नियम होते हैं जो फ़ॉन्ट, रंग और स्थान तय करते हैं, और Class=… किसी अनुच्छेद को उन नियमों से जोड़ता है। TTML में उसके लिए कोई अनुभाग, स्तंभ या विशेषता नहीं है, इसलिए वह गिर जाती है और रिपोर्ट में अलग से गिनी जाती है; TTML का अपना हेडर उसे दोबारा नहीं बना सकता।

SMI से TTML में बदलने पर क्या खो जाता है?

इस दिशा में 1 तरह की जानकारी गिरती है: cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। मिसाल के लिए, SMI का <STYLE> ब्लॉक, <TITLE> और Class=… जैसी विशेषताएँ TTML के किसी अनुभाग में नहीं बसता। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।

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

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

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

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

अगर बाद में TTML को SMI में बदलना हो तो क्या ध्यान रखें?

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

संबंधित टूल