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

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

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

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

इस दिशा में कुछ नहीं छूटता — स्रोत फ़ॉर्मैट की हर सुविधा के लिए लक्ष्य फ़ॉर्मैट में कहीं जगह है।

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

इस पेज पर CSV फ़ाइल डालिए और SMI फ़ाइल पाइए। CSV में हेडर पंक्ति के बाद हर cue एक row है जिसमें start, end और text कॉलम होते हैं। SMI में <SYNC Start=4000> जैसे टैग बताते हैं कि उस क्षण से क्या दिखेगा, और <STYLE> ब्लॉक रंग-फ़ॉन्ट तय करता है।

यहाँ कुछ नहीं छूटता: SMI उतनी स्टाइलिंग और उससे अधिक स्थिति रख सकता है जितनी CSV रखता है। CSV का 00:00:04.000 SMI में Start=4000 बनता है, क्योंकि SMI मिलीसेकंड को Start=… में रखता है।

SAMI (SMI) की फ़ाइल .smi एक्सटेंशन के साथ बनती है; पूरा <SAMI> ढाँचा, <STYLE> अनुभाग और <SYNC> टैग बनते हैं। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।

उदाहरण

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

इनपुट

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."

आउटपुट

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>The quick brown fox.
<SYNC Start=3500>
<P>&nbsp;
<SYNC Start=4000>
<P>Jumps over, the lazy dog.
<SYNC Start=6250>
<P>&nbsp;
<SYNC Start=7000>
<P>Two lines here.<br>And a second one.
<SYNC Start=9000>
<P>&nbsp;
</BODY>
</SAMI>

यहाँ कुछ नहीं छूटता: दोनों ओर की पंक्तियाँ एक-एक करके मिलाइए।

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

इनपुट

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.

आउटपुट

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there, friend.
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=5000>
<P>Second line.
<SYNC Start=7000>
<P>&nbsp;
<SYNC Start=10000>
<P>End before start.
<SYNC Start=10001>
<P>&nbsp;
<SYNC Start=12000>
<P>Unquoted comma in text, right here.
<SYNC Start=14000>
<P>&nbsp;
</BODY>
</SAMI>

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

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

CSV के क्षण SMI की घड़ी में कैसे अनुवादित होते हैं?

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

CSV की cue पहचान SMI में कैसे बनी रहती है?

CSV में cue की पहचान उसके स्थान और समय से है; SMI में भी cues शुरुआती समय के क्रम में लिखी जाती हैं। लक्ष्य अगर नंबर या पहचानकर्ता रखता है तो वह जोड़ा जा सकता है, पर किसी भी हालत में पाठ और समय की जोड़ी नहीं टूटती।

क्या CSV से SMI में कुछ भी नहीं छूटता?

कुछ नहीं छूटता, क्योंकि SMI CSV की हर जानकारी रख सकता है: cue का समय, पाठ, पंक्ति विराम और क्रम। CSV का 00:00:04.000 SMI में Start=4000 बनता है, क्योंकि SMI मिलीसेकंड को Start=… में रखता है। यह क्षमता-स्तर का निष्कर्ष है; अगर आपकी CSV फ़ाइल में पार्स करते समय कोई खराब ब्लॉक पहले ही छूटा था, तो वह अलग रिपोर्ट में दिखेगा।

SMI में CSV की cue का ढाँचा क्या होता है?

SMI में हर CSV cue <SYNC Start=4000> जैसे टैग के भीतर आती है, और पूरा दस्तावेज़ <SAMI><BODY> ढाँचे में लपेटा जाता है। CSV की स्टाइल-तालिका न होने पर एक छोटा डिफ़ॉल्ट <STYLE> ब्लॉक जोड़ा जाता है।

दो पंक्तियों वाली CSV cue SMI में कैसे दिखती है?

दोनों फ़ॉर्मैट एक cue के भीतर हार्ड लाइन-ब्रेक रख सकते हैं, इसलिए CSV की दो पंक्तियाँ SMI में भी एक ही cue की दो पंक्तियाँ रहती हैं और एक साथ दिखती हैं। कुछ भी जोड़ा या तोड़ा नहीं जाता; बदलता सिर्फ़ समय का लिखावटी रूप है।

SMI से CSV की उलटी दिशा उतनी ही सुरक्षित है?

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

संबंधित टूल