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

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

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

विकल्प

जब स्रोत में अंत समय न हों (सादा टेक्स्ट, LRC) तब इस्तेमाल होता है। आउटपुट की टाइमलाइन यहाँ रूपांतरित नहीं, बनाई जाती है, इसलिए यही संख्या मिलेगी।

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

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

  • टाइमिंग

    क्यू के अंत समय — स्रोत उन्हें नहीं रखता, इसलिए आउटपुट के अंत समय रूपांतरित नहीं, बनाए जाएँगे

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

यह पेज LRC Lyrics फ़ाइल को TTML (Timed Text) में बदलता है। LRC में हर पंक्ति [00:04.00] जैसे कोष्ठक-समय से शुरू होती है; अंत समय नहीं होता और अगली पंक्ति उसे तय करती है। TTML एक XML दस्तावेज़ है जिसका <head> नामित स्टाइल और region रखता है, और <p> तत्व cue बनते हैं।

जो अनुमान से बनता है: अंत समय अनुमान से बनाए जाते हैं (स्रोत उन्हें नहीं रखता)। अंत समय आपकी फ़ाइल में नहीं है, इसलिए TTML के लिए वह अनुमान से बनाया जाता है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।

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

उदाहरण

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

इनपुट

[ti:Sample Song]
[ar:Some Artist]
[length:00:41.00]
[offset:+250]
[00:12.00]First line of the song.
[00:15.30]Second line.
[00:15.30]Second line, translated.
[00:18.00]
[00:21.50]Final line.

आउटपुट

<?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:12.000" end="00:00:15.300">First line of the song.</p>
<p begin="00:00:15.300" end="00:00:18.000">Second line.<br/>Second line, translated.</p>
<p begin="00:00:18.000" end="00:00:21.500"></p>
<p begin="00:00:21.500" end="00:00:23.500">Final line.</p>  </body>
</tt>

इस आउटपुट में छूटा: अंत समय (अनुमानित)। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।

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

इनपुट

[ar:Some Artist]
[0:05.5]Leading zero omitted, one decimal.
[00:07]Second with no centiseconds.
[00:03.00]Out of order.
[00:07.00][00:09.00]Repeated chorus line.
[00:12.00]

आउटपुट

<?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:03.000" end="00:00:05.500">Out of order.</p>
<p begin="00:00:05.500" end="00:00:07.000">Leading zero omitted, one decimal.</p>
<p begin="00:00:07.000" end="00:00:09.000">Second with no centiseconds.<br/>Repeated chorus line.</p>
<p begin="00:00:09.000" end="00:00:12.000">Repeated chorus line.</p>
<p begin="00:00:12.000" end="00:00:14.000"></p>  </body>
</tt>

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

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

LRC की आखिरी पंक्ति TTML में कितनी देर दिखेगी?

LRC में हर पंक्ति केवल शुरुआत बताती है, इसलिए TTML में अंत अगली पंक्ति के शुरू होने से लिया जाता है। आखिरी पंक्ति के बाद कोई अगली पंक्ति नहीं होती, इसलिए उसे पेज पर दी गई अवधि मिलती है और रिपोर्ट उस अंत को अनुमानित बताती है। शुरुआती समय असली हैं — [00:04.00] 00:00:04.000 बनता है।

LRC के [ti:] और [ar:] मेटाडेटा TTML में रखे जाते हैं?

शीर्षक और कलाकार दोनों TTML में अपना क्षेत्र नहीं पाते — TTML सबटाइटल रखता है, गीत-मेटाडेटा नहीं। [offset:] भी लागू नहीं किया जाता, इसलिए आउटपुट के समय वही रहते हैं जो LRC में लिखे हैं; प्लेयर में जो खिसकाव दिख रहा था, वह यहाँ दोबारा लागू नहीं होगा।

LRC और TTML के बीच कौन-सा अंतर सबसे ज़्यादा मायने रखता है?

इस दिशा में 1 तरह की जानकारी गिरती है: अंत समय अनुमान से बनाए जाते हैं (स्रोत उन्हें नहीं रखता)। मिसाल के लिए, LRC सिर्फ़ शुरुआत रखता है, इसलिए TTML के अंत का समय अनुमान से भरा जाता है। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।

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

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

LRC में एक ही [00:04.00] पर दो पंक्तियाँ हैं — TTML उन्हें कैसे रखता है?

LRC में एक ही समय पर कई पंक्तियाँ अक्सर मूल गीत और उसका अनुवाद होती हैं। वे एक ही क्षण पर शुरू होती हैं, इसलिए TTML में उन्हें दो अलग cues के बजाय एक ही cue की दो पंक्तियाँ बनाया जाता है — इससे वे एक साथ दिखती हैं और एक-दूसरे से होड़ नहीं करतीं।

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

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

संबंधित टूल