ASS को CSV में बदलें
या सबटाइटल टेक्स्ट पेस्ट करें
यह रूपांतरण क्या बदलता है
4 चीज़ें छूटती हैं या फ़ैसला माँगती हैं
- स्टाइलिंग
सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया)
- स्थान
स्क्रीन पर स्थान (हर क्यू डिफ़ॉल्ट जगह पर लौट आता है)
- कराओके
कराओके टाइमिंग (प्रति-अक्षर हाइलाइट)
- फ़ॉर्मैट-विशिष्ट सामग्री
वह सामग्री जो स्रोत फ़ॉर्मैट अपने क्यू के बाहर रखता है (क्यू से बाहर के ब्लॉक, हेडर टेक्स्ट, प्रति-क्यू सेटिंग, टिप्पणी की गई घटनाएँ) — लक्ष्य फ़ॉर्मैट में उसके लिए कोई जगह नहीं
यह सूची इन दोनों फ़ॉर्मैट के क्षमता मैट्रिक्स से आती है, आपकी लोड की गई उस फ़ाइल से नहीं। कोई खास फ़ाइल ज़्यादा खो सकती है अगर वह ऐसी सुविधाएँ इस्तेमाल करती हो जिन्हें फ़ॉर्मैट अनुमति देता है पर मैट्रिक्स मॉडल नहीं करता।
इस पेज पर ASS फ़ाइल डालिए और CSV फ़ाइल पाइए। ASS एक स्क्रिप्ट है: [Script Info], [V4+ Styles] की स्टाइल-तालिका, और Dialogue पंक्तियाँ जिनमें समय 0:00:04.00 तथा {\i1}, {\pos(320,240)} और \k जैसे ओवरराइड कोड होते हैं। CSV में हेडर पंक्ति के बाद हर cue एक row है जिसमें start, end और text कॉलम होते हैं।
जो नहीं बचता: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। ASS के रंग, आउटलाइन, छाया और मार्जिन CSV में कोई स्तंभ नहीं पाते; ASS का {\pos(320,240)} CSV में कोई जगह नहीं पाता और हर cue डिफ़ॉल्ट स्थान पर लौटती है; कराओके की अक्षर-दर-अक्षर अवधि चली जाती है, इसलिए CSV पूरा cue एक साथ दिखाता है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।
CSV Spreadsheet की फ़ाइल .csv एक्सटेंशन के साथ बनती है; start, end, text वाले कॉलम और हेडर पंक्ति बनती है। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।
उदाहरण
एक सामान्य ASS फ़ाइल, CSV में बदली गई
इनपुट
[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left
आउटपुट
start,end,text
00:00:01.000,00:00:04.000,Hello there.
00:00:05.000,00:00:08.500,<i>Italic</i> and <b>bold</b> text.
00:00:09.000,00:00:12.000,Positioned
00:00:13.000,00:00:16.000,<c>ka</c><c>ra</c><c>o</c><c>ke</c>
00:00:17.000,00:00:20.000,"Line one
Line two"
00:00:21.000,00:00:24.000,Top left
इस आउटपुट में छूटा: स्टाइलिंग, स्क्रीन स्थिति, कराओके, फ़ॉर्मैट-विशिष्ट सामग्री। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।
ASS से CSV: वही रूपांतरण एक कठिन इनपुट पर
इनपुट
[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecodeआउटपुट
start,end,text
00:00:01.000,00:00:04.000,"Hello, world"
00:00:05.000,00:00:08.000,"{\fad(300,300)}Unmodelled override"
00:00:09.000,00:00:12.000,"Both, wrong order"
00:00:13.000,00:00:16.500,One decimal centisecond
00:00:17.000,00:00:20.000,"Soft
break"
असली ASS फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।
अक्सर पूछे जाने वाले सवाल
ASS के क्षण CSV की घड़ी में कैसे अनुवादित होते हैं?
ASS इसे 0:00:04.00 लिखता है और CSV इसे 00:00:04.000 लिखता है; क्षण वही रहता है, सिर्फ़ विराम-चिह्न और इकाई बदलती है। कोई पूर्णांकन नहीं होता, क्योंकि CSV की घड़ी ASS से महीन या बराबर है।
ASS के [Script Info], [Fonts]/[Graphics] की सामग्री और Comment: पंक्तियाँ का CSV में क्या ठिकाना है?
ASS की वह सामग्री cue मॉडल के बाहर रहती है — [Script Info] वैश्विक सेटिंग है, [Fonts] व [Graphics] एम्बेडेड बाइट हैं, और Comment: ऐसे इवेंट हैं जो कभी दिखाए नहीं जाते। CSV में उसके लिए कोई अनुभाग, स्तंभ या विशेषता नहीं है, इसलिए वह गिर जाती है और रिपोर्ट में अलग से गिनी जाती है; CSV का अपना हेडर उसे दोबारा नहीं बना सकता।
ASS और CSV के बीच कौन-सा अंतर सबसे ज़्यादा मायने रखता है?
इस दिशा में 4 तरह की जानकारी गिरती है: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट), cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट)। मिसाल के लिए, ASS का {\pos(320,240)} और उसका रंग CSV में अपना स्थान नहीं पाते। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।
CSV में ASS की हर cue किस row में बदलती है?
CSV में हेडर पंक्ति start, end, text के साथ बनती है और हर ASS cue एक row बनती है। समय 00:00:04.000 जैसे बिंदु वाले रूप में जाता है, और पाठ वाले कॉलम में अल्पविराम भीतर हो तो उसे उद्धरण में लपेटा जाता है।
ASS की cues का क्रम CSV में बदलता है या नहीं?
cues शुरुआती समय के क्रम में लिखी जाती हैं, इसलिए ASS में अगर कोई cue क्रम से बाहर थी तो CSV में वह अपनी सही जगह पर लौट आती है। एक cue के भीतर की पंक्तियाँ अलग नहीं होतीं, क्योंकि दोनों फ़ॉर्मैट हार्ड लाइन-ब्रेक रख सकते हैं।
CSV से ASS की उलटी दिशा उतनी ही सुरक्षित है?
नहीं। CSV से ASS की उलटी दिशा में भी समय की सूक्ष्मता (लक्ष्य की घड़ी 10 ms की है, इसलिए हर समय पूर्णांकित होता है) जैसी जानकारी गिरती है, क्योंकि दोनों फ़ॉर्मैट अलग-अलग चीज़ें रखते हैं और उलटी दिशा की अपनी कमियाँ हैं। और इस दिशा में ASS से CSV में जो छूटा — जैसे ASS का {\pos(320,240)} और उसका रंग CSV में अपना स्थान नहीं पाते — वह CSV में कहीं दर्ज नहीं है, इसलिए किसी भी उलटे रूपांतरण से उसे दोबारा नहीं बनाया जा सकता।