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

सबटाइटल से ASS ओवरराइड टैग हटाएँ

टेक्स्ट और स्टाइलिंगमार्कअप और टैग हटाएँ
या सबटाइटल टेक्स्ट पेस्ट करें

विकल्प

एक बॉक्स, सात विकल्प, और हर विकल्प का अपना पेज है। इटैलिक, बोल्ड, अंडरलाइन और रंग उस एक तरह की रेंज हटाते हैं और पंक्ति की बाकी स्टाइलिंग अछूती छोड़ते हैं। All टूल जो भी रेंज मॉडल करता है वे सब हटाता है — वे चारों और कराओके टाइमिंग — जबकि टेक्स्ट में बाकी सब कुछ अछूता रहता है। HTML वही करता है और फिर टेक्स्ट में छूटे एंगल-ब्रैकेट मार्कअप को भी साफ़ करता है, क्योंकि टूल उसे मॉडल नहीं करता, जैसे VTT के <v Bob> वक्ता टैग और <c.className>। ASS इसके बजाय ओवरराइड ब्लॉक के लिए वही करता है, पार्स के समय न पहचाने गए {...} कोड साफ़ करता है, जैसे {\fad(500,500)}। यह पेज बॉक्स में वही विकल्प भरता है जो उसका शीर्षक बताता है और कोई दूसरा नहीं दिखाता।

टाइमिंग किस फ़्रेम रेट में गिनी गई है। फ़ॉर्मैट पेजों पर यही MicroDVD को चाहिए, क्योंकि वह टाइमिंग फ़्रेम संख्याओं में रखता है। फ़्रेम रेट पेजों पर यह वह रेट है जिसके हिसाब से फ़ाइल की टाइमिंग की गई थी — वह संस्करण जिसके लिए सबटाइटल बने थे — और पेज का दूसरा बॉक्स उस वीडियो का रेट लेता है जिसके साथ आप इन्हें इस्तेमाल करेंगे। 23.976, 24, 25, 29.97, 30, 50, 59.94 और 60 आम हैं। गलत होने पर पूरी टाइमलाइन खिसक जाती है, और फ़्रेम रेट पेजों पर वह एक अनुपात से खिसकती है, तय मात्रा से नहीं।

यह पेज ASS या SSA फ़ाइल से override कोड साफ़ करता है: स्टाइलिंग सीमाएँ, काराओके टाइमिंग, बचे हुए इफ़ेक्ट ब्लॉक और स्थान। वापस मिलता है सादा टाइम-वाला टेक्स्ट — शब्द, क्यू की टाइमिंग और फ़ाइल का अपना ढाँचा, और पंक्तियाँ वहीं बैठती हैं जहाँ उनका नाम-वाला स्टाइल उन्हें रखता है।

ASS वह फ़ॉर्मैट है जो सबसे ज़्यादा कह सकता है, और उसका बहुत कुछ पंक्ति के टेक्स्ट के अंदर override कोड की तरह लिखा होता है। कुछ कोड वह स्टाइलिंग हैं जिन्हें टूल मॉडल करता है — `{\i1}`, `{\b1}`, `{\c&H...&}`, `{\k50}` — और कुछ ऐसे इफ़ेक्ट हैं जिन्हें वह नहीं करता: फ़ेड, मूव, स्केलिंग, ब्लर, सब उसी आकार के ब्लॉक में। पढ़ते समय वे अनमॉडल किए ब्लॉक जानबूझकर टेक्स्ट में छोड़े जाते हैं, क्योंकि जो मार्कअप टूल पढ़ नहीं सकता उसे खा जाना डेटा खोना होगा। यह वह पेज है जो उन्हें साफ़ करता है।

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

एक कोड बचता है और पेज यह खुद बता देता है, आपको खोजना नहीं पड़ता: `{\an8}` जैसा नौ-कोशिका संरेखण जैसा लिखा है वैसा ही रहता है। वह क्षैतिज के साथ लंबवत स्थान भी बताता है, जबकि टूल का अपना संरेखण बाएँ, मध्य और दाएँ तक ही है, इसलिए दूसरा आधा रखने की जगह नहीं है। आधा समझने का नतीजा ऐसी फ़ाइल होता जो गलत तरीके से वापस आती है। कुछ अपलोड नहीं होता; जिस फ़ाइल में हटाने को कुछ नहीं वह बाइट-दर-बाइट वैसी ही लौटती है।

उदाहरण

स्टाइलिंग और बचा हुआ इफ़ेक्ट ब्लॉक

इनपुट

[Script Info]
Title: fade

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,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:02.00,Default,,0,0,0,,{\fad(500,500)}{\i1}hello{\i0}

आउटपुट

[Script Info]
Title: fade

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,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:02.00,Default,,0,0,0,,hello

`{\fad(500,500)}` प्लेयर से पंक्ति को आधे-आधे सेकंड में फ़ेड इन और आउट करने को कहता है। टूल ने उसे कभी मॉडल नहीं किया, इसलिए वह इस दौर तक टेक्स्ट में बैठा था — और उसके साथ इटैलिक का जोड़ा भी उसी रास्ते जाता है, पंक्ति खुद रह जाती है। नतीजे में कहीं दर्ज नहीं होता कि फ़ेड कभी था।

रखी हुई पंक्ति

इनपुट

[Script Info]
Title: position

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,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:02.00,Default,,0,0,0,,{\pos(100,200)}hello there

आउटपुट

[Script Info]
Title: position

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,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:02.00,Default,,0,0,0,,hello there

पंक्ति को अब यह नहीं बताया जाता कि कहाँ बैठना है, इसलिए वह वहीं लौट जाती है जहाँ इवेंट पर लिखा नाम-वाला स्टाइल उसे रखता है। यही दौर का वह हिस्सा है जो महज़ मार्कअप हटाना नहीं है, और इसीलिए यह पेज उस फ़ाइल के लिए सही है जिसे केवल ज़ोर-मुक्त नहीं, सचमुच सादा बनना है।

वह नौ-कोशिका संरेखण जो बचता है

इनपुट

[Script Info]
Title: alignment

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,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:02.00,Default,,0,0,0,,{\an8}hello there

आउटपुट

[Script Info]
Title: alignment

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,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:02.00,Default,,0,0,0,,{\an8}hello there

यह वैसा ही लौटता है, और यह चूक नहीं है। `{\an8}` एक साथ ऊपर और मध्य कहता है, जबकि टूल का संरेखण केवल बाएँ, मध्य और दाएँ है — इसलिए लंबवत आधे के रहने की जगह नहीं, और टैग को आधा समझने के बजाय पूरा बचाया जाता है। स्थान वाला कोड साफ़ होता है, यह नहीं।

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

नौ-कोशिका संरेखण टैग इस पेज से क्यों बच निकलता है?

क्योंकि टूल उसे सही-सही रख नहीं सकता। `{\an8}` जैसा संरेखण नौ कोशिकाओं में से एक बताता है, जो क्षैतिज और लंबवत स्थान एक साथ बताता है, जबकि टूल का अपना संरेखण केवल बाएँ, मध्य और दाएँ जानता है। क्षैतिज आधा रखकर दूसरा छोड़ देने से फ़ाइल गलत तरीके से वापस आएगी, इसलिए टैग शब्दशः बचाया जाता है। स्थान वाला कोड साफ़ होता है, संरेखण वाला नहीं, और पेज यह खुद बताता है।

override ब्लॉक क्या है और वह टेक्स्ट में क्यों होता है?

यह पंक्ति के टेक्स्ट के अंदर, ब्रेसिज़ के बीच लिखे निर्देशों का समूह है जो प्लेयर से उस पंक्ति पर कुछ करने को कहता है: स्टाइल बदलना, एनिमेट करना, फ़ेड करना, हिलाना। टूल आम स्टाइलिंग उपसमुच्चय को मॉडल करके अपने ढाँचे में पढ़ता है, पर बाकी जहाँ मिला वहीं छोड़ देता है — फ़ेड, मूव, ब्लर वगैरह बिना समझे फेंकने के बजाय शब्दशः रखे जाते हैं, क्योंकि अधूरी समझ से मार्कअप खोना चुपचाप डेटा खोना है। इस पेज पर वे अंत में जाते हैं।

override कोड साफ़ करने से टाइमिंग या टेक्स्ट बदलता है?

नहीं। शब्द बाइट-दर-बाइट वही लौटते हैं, हर क्यू का शुरू और अंत मिलीसेकंड तक अपना रहता है और क्यू का क्रम फ़ाइल का अपना। क्यू के अंदर का पंक्ति विराम क्यू का हिस्सा है, स्टाइलिंग का नहीं, इसलिए वह वहीं रहता है जहाँ फ़ाइल ने रखा। बदलता है शब्दों के आसपास के निर्देश, और कुछ मामलों में पंक्ति स्क्रीन पर कहाँ बैठती है।

कोड जाने के बाद नतीजा फिर भी ठीक चलेगा?

हाँ, और पहले से ज़्यादा भरोसे के साथ। जो override कोड प्लेयर नहीं समझता वह अच्छी हालत में नज़रअंदाज़ होता है और बुरी हालत में गलत पढ़ा जाता है; ख़ासकर इफ़ेक्ट कोड पर अलग-अलग प्लेयर अलग-अलग राय रखते हैं। सादे टाइम-वाले टेक्स्ट में यह उलझन नहीं है। अगर फ़ाइल किसी ख़ास शॉट के ऊपर कैप्शन रखने के लिए स्थान पर टिकी थी तो वह स्थान अब नहीं है और पंक्ति स्टाइल के बताए स्थान पर बैठेगी।

क्या यह स्टाइलशीट के नाम-वाले स्टाइल भी हटाता है?

नहीं — स्टाइलशीट और हर क्यू का इशारा किया हुआ स्टाइल जैसे थे वैसे रहते हैं। पेज पंक्ति के टेक्स्ट के अंदर लिखे कोड पर काम करता है, और जिस क्यू का नाम-वाला स्टाइल बोल्ड है वह बाद में भी बोल्ड दिखता है, क्योंकि बोल्डपन स्टाइल से आता है, पंक्ति के अपने टेक्स्ट से नहीं। स्टाइलशीट साफ़ करना अलग काम है और उसका अभी कोई पेज नहीं।

क्या यह पेज SRT फ़ाइल पर भी चलता है या केवल ASS और SSA पर?

साइट जो भी फ़ॉर्मैट पढ़ती है उसे इसमें डाल सकते हैं। SRT या WebVTT फ़ाइल पर पहला आधा काम करता रहता है — स्टाइलिंग सीमाएँ जाती हैं — और ब्रेसिज़ वाले ब्लॉक की सफ़ाई को कुछ नहीं मिलता, क्योंकि उन फ़ॉर्मैट में ऐसे ब्लॉक आते ही नहीं। जिस फ़ाइल में न स्टाइलिंग है न ब्रेसिज़ ब्लॉक, वह बाइट-दर-बाइट वैसी ही लौटती है, जो बिना काम वाले दौर का ईमानदार नतीजा है।

संबंधित टूल