CSV को TTML में बदलें
या सबटाइटल टेक्स्ट पेस्ट करें
यह रूपांतरण क्या बदलता है
इस दिशा में कुछ नहीं छूटता — स्रोत फ़ॉर्मैट की हर सुविधा के लिए लक्ष्य फ़ॉर्मैट में कहीं जगह है।
यह सूची इन दोनों फ़ॉर्मैट के क्षमता मैट्रिक्स से आती है, आपकी लोड की गई उस फ़ाइल से नहीं। कोई खास फ़ाइल ज़्यादा खो सकती है अगर वह ऐसी सुविधाएँ इस्तेमाल करती हो जिन्हें फ़ॉर्मैट अनुमति देता है पर मैट्रिक्स मॉडल नहीं करता।
इस पेज पर CSV फ़ाइल डालिए और TTML फ़ाइल पाइए। CSV में हेडर पंक्ति के बाद हर cue एक row है जिसमें start, end और text कॉलम होते हैं। TTML एक XML दस्तावेज़ है जिसका <head> नामित स्टाइल और region रखता है, और <p> तत्व cue बनते हैं।
यहाँ कुछ नहीं छूटता: TTML पूरी स्टाइलिंग और region-आधारित स्थिति रखता है, जो CSV की हर जानकारी को समेट लेता है। CSV इसे 00:00:04.000 लिखता है और TTML इसे 00:00:04.000 लिखता है; क्षण वही रहता है, सिर्फ़ विराम-चिह्न और इकाई बदलती है।
TTML (Timed Text) की फ़ाइल .ttml एक्सटेंशन के साथ बनती है; XML ढाँचा, <head> की <styling>/<layout> तालिकाएँ और <p> cue बनती हैं। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।
उदाहरण
एक सामान्य CSV फ़ाइल, TTML में बदली गई
इनपुट
start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00: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>
यहाँ कुछ नहीं छूटता: दोनों ओर की पंक्तियाँ एक-एक करके मिलाइए।
CSV से TTML: वही रूपांतरण एक कठिन इनपुट पर
इनपुट
id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.
आउटपुट
<?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, friend.</p>
<p begin="00:00:05.000" end="00:00:07.000">Second line.</p>
<p begin="00:00:10.000" end="00:00:10.001">End before start.</p>
<p begin="00:00:12.000" end="00:00:14.000">Unquoted comma in text, right here.</p> </body>
</tt>
असली CSV फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।
अक्सर पूछे जाने वाले सवाल
CSV के क्षण TTML की घड़ी में कैसे अनुवादित होते हैं?
CSV इसे 00:00:04.000 लिखता है और TTML इसे 00:00:04.000 लिखता है; क्षण वही रहता है, सिर्फ़ विराम-चिह्न और इकाई बदलती है। कोई पूर्णांकन नहीं होता, क्योंकि TTML की घड़ी CSV से महीन या बराबर है।
CSV की cue पहचान TTML में कैसे बनी रहती है?
CSV में cue की पहचान उसके स्थान और समय से है; TTML में भी cues शुरुआती समय के क्रम में लिखी जाती हैं। लक्ष्य अगर नंबर या पहचानकर्ता रखता है तो वह जोड़ा जा सकता है, पर किसी भी हालत में पाठ और समय की जोड़ी नहीं टूटती।
क्या CSV से TTML में कुछ भी नहीं छूटता?
कुछ नहीं छूटता, क्योंकि TTML CSV की हर जानकारी रख सकता है: cue का समय, पाठ, पंक्ति विराम और क्रम। CSV इसे 00:00:04.000 लिखता है और TTML इसे 00:00:04.000 लिखता है; क्षण वही रहता है, सिर्फ़ विराम-चिह्न और इकाई बदलती है। यह क्षमता-स्तर का निष्कर्ष है; अगर आपकी CSV फ़ाइल में पार्स करते समय कोई खराब ब्लॉक पहले ही छूटा था, तो वह अलग रिपोर्ट में दिखेगा।
TTML में CSV की हर cue किस तत्व में बदलती है?
TTML में हर CSV cue एक <p> तत्व बनती है, और <head> में <styling> व <layout> तालिकाएँ बनाई जाती हैं। समय 00:00:04.000 रूप में जाता है और CSV की पंक्तियाँ <p> के भीतर <span> बनकर रहती हैं।
दो पंक्तियों वाली CSV cue TTML में कैसे दिखती है?
दोनों फ़ॉर्मैट एक cue के भीतर हार्ड लाइन-ब्रेक रख सकते हैं, इसलिए CSV की दो पंक्तियाँ TTML में भी एक ही cue की दो पंक्तियाँ रहती हैं और एक साथ दिखती हैं। कुछ भी जोड़ा या तोड़ा नहीं जाता; बदलता सिर्फ़ समय का लिखावटी रूप है।
TTML से CSV लौटने पर क्या नया छूट सकता है?
नहीं। TTML से CSV की उलटी दिशा में भी सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट) जैसी जानकारी गिरती है, क्योंकि दोनों फ़ॉर्मैट अलग-अलग चीज़ें रखते हैं और उलटी दिशा की अपनी कमियाँ हैं। और इस दिशा में CSV से TTML में जो छूटा — जैसे source की कुछ जानकारी TTML में जगह नहीं पाती — वह TTML में कहीं दर्ज नहीं है, इसलिए किसी भी उलटे रूपांतरण से उसे दोबारा नहीं बनाया जा सकता।