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

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

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

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

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

  • कराओके

    कराओके टाइमिंग (प्रति-अक्षर हाइलाइट)

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

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

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

SubStation Alpha (SSA) और TTML (Timed Text) दोनों सबटाइटल रखते हैं, पर उनका ढाँचा अलग है; यह पेज एक को दूसरे में बदलता है। SSA, ASS का पुराना रूप है: [Script Info], [V4 Styles] की स्टाइल-तालिका, और Dialogue पंक्तियाँ जिनमें समय 0:00:04.00 तथा ओवरराइड कोड होते हैं।

जो नहीं बचता: कराओके समय (अक्षर-दर-अक्षर हाइलाइट), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। कराओके की अक्षर-दर-अक्षर अवधि चली जाती है, इसलिए TTML पूरा cue एक साथ दिखाता है; [Script Info], [Fonts]/[Graphics] की सामग्री और Comment: पंक्तियाँ TTML में नहीं जाते, क्योंकि वहाँ उनके लिए कोई अनुभाग नहीं है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।

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

उदाहरण

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

इनपुट

[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines

आउटपुट

<?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:04.000">Hello there.</p>
<p begin="00:00:05.000" end="00:00:08.000"><span tts:fontStyle="italic">Italic</span> line.</p>
<p begin="00:00:09.000" end="00:00:12.000">Two<br/>lines</p>  </body>
</tt>

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

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

इनपुट

[Script Info]
Title: Dirty SSA
ScriptType: v4.00

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.

आउटपुट

<?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:04.000"><span tts:fontWeight="bold">Bold</span> and <span tts:textDecoration="underline">underlined</span>.</p>
<p begin="00:00:05.000" end="00:00:08.000">A soft<br/>break and a {\p1}mystery{\p0} code.</p>  </body>
</tt>

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

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

SSA से TTML तक समय कैसे पहुँचता है?

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

SSA की cue के बाहर की सामग्री TTML फ़ाइल में बचती है?

SSA की वह सामग्री cue मॉडल के बाहर रहती है — [Script Info] वैश्विक सेटिंग है, [Fonts] व [Graphics] एम्बेडेड बाइट हैं, और Comment: ऐसे इवेंट हैं जो कभी दिखाए नहीं जाते। TTML में उसके लिए कोई अनुभाग, स्तंभ या विशेषता नहीं है, इसलिए वह गिर जाती है और रिपोर्ट में अलग से गिनी जाती है; TTML का अपना हेडर उसे दोबारा नहीं बना सकता।

SSA की कौन-सी चीज़ें TTML में नहीं जातीं?

इस दिशा में 2 तरह की जानकारी गिरती है: कराओके समय (अक्षर-दर-अक्षर हाइलाइट), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। मिसाल के लिए, SSA का अक्षर-दर-अक्षर कराओके TTML में एक साथ दिखने वाला cue बन जाता है। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।

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

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

SSA की बहु-पंक्ति cue TTML में कैसे रहती है?

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

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

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

संबंधित टूल