JSON को SSA में बदलें
या सबटाइटल टेक्स्ट पेस्ट करें
यह रूपांतरण क्या बदलता है
1 चीज़ छूटती है या फ़ैसला माँगती है
- सटीकता
टाइमिंग की सटीकता — आउटपुट की घड़ी मोटी है, इसलिए हर टाइमस्टैम्प निकटतम 10 ms में गोल किया जाता है
यह सूची इन दोनों फ़ॉर्मैट के क्षमता मैट्रिक्स से आती है, आपकी लोड की गई उस फ़ाइल से नहीं। कोई खास फ़ाइल ज़्यादा खो सकती है अगर वह ऐसी सुविधाएँ इस्तेमाल करती हो जिन्हें फ़ॉर्मैट अनुमति देता है पर मैट्रिक्स मॉडल नहीं करता।
इस पेज पर JSON फ़ाइल डालिए और SSA फ़ाइल पाइए। JSON में हर cue के समय 4000 जैसे पूर्णांक मिलीसेकंड हैं, और styles तालिका तथा tags सरणी सब कुछ संरचित रूप में रहता है। SSA, ASS का पुराना रूप है: [Script Info], [V4 Styles] की स्टाइल-तालिका, और Dialogue पंक्तियाँ जिनमें समय 0:00:04.00 तथा ओवरराइड कोड होते हैं।
जो नहीं बचता: समय की सूक्ष्मता (लक्ष्य की घड़ी 10 ms की है, इसलिए हर समय पूर्णांकित होता है)। समय निकटतम 10 ms तक पूर्णांकित होता है, जैसे 00:00:04,001 से 0:00:04.00। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।
SubStation Alpha (SSA) की फ़ाइल .ssa एक्सटेंशन के साथ बनती है; हेडर, [V4 Styles] स्टाइल-तालिका और Dialogue पंक्तियाँ साथ आती हैं। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।
उदाहरण
एक सामान्य JSON फ़ाइल, SSA में बदली गई
इनपुट
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
आउटपुट
[Script Info]
Title: Fixture: typical
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,,,,0,0,,,,,,,,,
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:02.00,Default,,0,0,0,,{\pos(100,200)}Hello world.\NSecond line.
Dialogue: 0,0:00:02.50,0:00:04.00,Default,,0,0,0,,Plain line.\N{\i1}Styled{\i0} line.
Dialogue: 0,0:00:04.50,0:00:06.00,Default,,0,0,0,,Roger: I am here.
इस आउटपुट में छूटा: समय सटीकता। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।
JSON से SSA: वही रूपांतरण एक कठिन इनपुट पर
इनपुट
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
आउटपुट
[Script Info]
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,First.
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,Second.
Dialogue: 0,0:00:02.00,0:00:03.00,Default,,0,0,0,,Third.
असली JSON फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।
अक्सर पूछे जाने वाले सवाल
JSON के क्षण SSA की घड़ी में कैसे अनुवादित होते हैं?
JSON का 4000 मिलीसेकंड SSA में 0:00:04.00 बनता है; दोनों में क्षण एक ही रहता है। चूँकि SSA की घड़ी 10 ms की है और JSON की 1 ms की, हर समय निकटतम 10 ms तक पूर्णांकित होता है — 4000 से 0:00:04.00।
JSON के ओवरराइड कोड SSA में क्या बनते हैं?
दोनों पूरी स्टाइलिंग रखते हैं, इसलिए JSON की स्टाइल-तालिका और प्रति-cue ज़ोर SSA के अपने रूप में लिखे जाते हैं — SSA में वे नामित स्टाइल या संरचित tags बनते हैं, कच्चे कोड नहीं। फ़ॉन्ट, रंग, आउटलाइन और मार्जिन तक बचते हैं।
JSON की कौन-सी चीज़ें SSA में नहीं जातीं?
इस दिशा में 1 तरह की जानकारी गिरती है: समय की सूक्ष्मता (लक्ष्य की घड़ी 10 ms की है, इसलिए हर समय पूर्णांकित होता है)। मिसाल के लिए, JSON का 00:00:04,001 SSA में 0:00:04.00 बनता है, यानी हर समय 10 ms के गुणक तक पूर्णांकित होता है। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।
SSA में JSON की हर cue किस रूप में लिखी जाती है?
SSA में हर JSON cue एक Dialogue पंक्ति बनती है और [V4 Styles] की किसी स्टाइल की ओर इशारा करती है। JSON में स्टाइल-तालिका न होने पर एक Default स्टाइल बनाई जाती है, और समय 0:00:04.00 जैसे सेंटीसेकंड रूप में लिखा जाता है।
JSON की cues का क्रम SSA में बदलता है या नहीं?
cues शुरुआती समय के क्रम में लिखी जाती हैं, इसलिए JSON में अगर कोई cue क्रम से बाहर थी तो SSA में वह अपनी सही जगह पर लौट आती है। एक cue के भीतर की पंक्तियाँ अलग नहीं होतीं, क्योंकि दोनों फ़ॉर्मैट हार्ड लाइन-ब्रेक रख सकते हैं।
SSA से JSON लौटने पर क्या नया छूट सकता है?
नहीं। SSA से JSON की उलटी दिशा में भी cue मॉडल के बाहर रखी स्रोत की सामग्री (गैर-cue ब्लॉक, हेडर पाठ, प्रति-cue सेटिंग, टिप्पणी-किए इवेंट) जैसी जानकारी गिरती है, क्योंकि दोनों फ़ॉर्मैट अलग-अलग चीज़ें रखते हैं और उलटी दिशा की अपनी कमियाँ हैं। और इस दिशा में JSON से SSA में जो छूटा — जैसे JSON का 00:00:04,001 SSA में 0:00:04.00 बनता है, यानी हर समय 10 ms के गुणक तक पूर्णांकित होता है — वह SSA में कहीं दर्ज नहीं है, इसलिए किसी भी उलटे रूपांतरण से उसे दोबारा नहीं बनाया जा सकता।