JSON को TXT में बदलें
या सबटाइटल टेक्स्ट पेस्ट करें
यह रूपांतरण क्या बदलता है
5 चीज़ें छूटती हैं या फ़ैसला माँगती हैं
- टाइमिंग
पूरी टाइमलाइन (आउटपुट फ़ॉर्मैट कोई टाइमिंग नहीं रखता)
- स्टाइलिंग
सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया)
- स्थान
स्क्रीन पर स्थान (हर क्यू डिफ़ॉल्ट जगह पर लौट आता है)
- कराओके
कराओके टाइमिंग (प्रति-अक्षर हाइलाइट)
- लाइन ब्रेक
लाइन ब्रेक (कई पंक्तियों वाले क्यू एक पंक्ति में जोड़ दिए जाएँगे)
यह सूची इन दोनों फ़ॉर्मैट के क्षमता मैट्रिक्स से आती है, आपकी लोड की गई उस फ़ाइल से नहीं। कोई खास फ़ाइल ज़्यादा खो सकती है अगर वह ऐसी सुविधाएँ इस्तेमाल करती हो जिन्हें फ़ॉर्मैट अनुमति देता है पर मैट्रिक्स मॉडल नहीं करता।
यह पेज SubtitleMatrix JSON फ़ाइल को Plain Text (TXT) में बदलता है। JSON में हर cue के समय 4000 जैसे पूर्णांक मिलीसेकंड हैं, और styles तालिका तथा tags सरणी सब कुछ संरचित रूप में रहता है। TXT में सिर्फ़ पंक्तियाँ हैं — कोई समय-कोड नहीं, इसलिए हर पंक्ति एक cue मानी जाती है।
जो नहीं बचता: पूरी समयरेखा (लक्ष्य कोई समय नहीं रखता), सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट), पंक्ति विराम (बहु-पंक्ति cue एक पंक्ति में जुड़ जाती हैं)। समय-कोड पूरी तरह गायब हो जाते हैं, इसलिए TXT की एक पंक्ति को आपकी फ़ाइल का कोई क्षण याद नहीं रहता; JSON के रंग, आउटलाइन, छाया और मार्जिन TXT में कोई स्तंभ नहीं पाते; JSON का {\pos(320,240)} TXT में कोई जगह नहीं पाता और हर cue डिफ़ॉल्ट स्थान पर लौटती है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।
Plain Text (TXT) का आउटपुट .txt फ़ाइल है और उसमें हर cue एक सादी पंक्ति बनती है, बिना समय के। चाहे एक फ़ाइल डालें या पूरी सीरीज़, सब कुछ एक-एक करके चलता है, बीच में रोका जा सकता है, और सारे नतीजे एक ZIP में मिलते हैं। कोई सर्वर नहीं, कोई अपलोड नहीं — सब कुछ आपके ब्राउज़र में।
उदाहरण
एक सामान्य JSON फ़ाइल, TXT में बदली गई
इनपुट
{
"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"
}
]
}
आउटपुट
Hello world.
Second line.
Plain line.
Styled line.
Roger: I am here.
इस आउटपुट में छूटा: पूरी समयरेखा, स्टाइलिंग, स्क्रीन स्थिति, कराओके, पंक्ति विराम। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।
JSON से TXT: वही रूपांतरण एक कठिन इनपुट पर
इनपुट
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
आउटपुट
First.
Second.
Third.
असली JSON फ़ाइलों में BOM, मिश्रित पंक्ति-अंत, खाली क्षेत्र या बिगड़ा समय-कोड मिलता है। ऊपर की साफ़ मिसाल से मिलाकर देखिए कि पार्सर कितना माफ़ करता है और क्या रिपोर्ट करता है।
अक्सर पूछे जाने वाले सवाल
TXT में JSON की समय-पंक्ति का क्या होता है?
JSON हर cue के शुरू और अंत को 4000 के रूप में रखता है, पर TXT में समय के लिए कोई जगह ही नहीं है। इसलिए पाठ की पंक्तियाँ क्रम में लिखी जाती हैं और हर समय-कोड छूट जाता है; क्रम बना रहता है, पर कौन-सी पंक्ति कब दिखेगी यह TXT से पता नहीं चलता।
JSON की स्टाइल-तालिका TXT में कहाँ जाती है?
TXT का मॉडल सिर्फ़ समय और पाठ है, इसलिए JSON की स्टाइल-तालिका का कोई अर्थ वहाँ नहीं रहता। फ़ॉन्ट, आकार, रंग, आउटलाइन, छाया और मार्जिन सब गिर जाते हैं; JSON के इनलाइन {i1}/{1} जैसे ज़ोर भी TXT में अपने आप नहीं बनते।
JSON से TXT में बदलने पर क्या खो जाता है?
इस दिशा में 5 तरह की जानकारी गिरती है: पूरी समयरेखा (लक्ष्य कोई समय नहीं रखता), सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट), पंक्ति विराम (बहु-पंक्ति cue एक पंक्ति में जुड़ जाती हैं)। मिसाल के लिए, JSON का 4000 किसी भी TXT पंक्ति के साथ नहीं रहता, इसलिए पाठ का क्रम तो बचता है पर समय नहीं। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।
JSON से TXT बनाने पर हर cue किस रूप में आती है?
TXT में हर JSON cue की पंक्तियाँ बिना समय के सादे पाठ बनती हैं। बहु-पंक्ति cue एक पंक्ति में जुड़ जाती है, क्योंकि TXT का मॉडल एक पंक्ति एक cue है।
JSON की बहु-पंक्ति cue TXT में एक पंक्ति क्यों बन जाती है?
JSON एक cue के भीतर हार्ड लाइन-ब्रेक रख सकता है, पर TXT का मॉडल एक पंक्ति एक cue है। इसलिए दोनों पंक्तियाँ जोड़ दी जाती हैं और अलग पंक्ति का अंतर खत्म हो जाता है; पाठ का क्रम बना रहता है, पर दृश्य विराम नहीं।
क्या TXT से JSON में वापस बदलने पर छूटी जानकारी लौट आती है?
नहीं। TXT से JSON की उलटी दिशा में भी समयरेखा स्वयं बनाई जाती है (स्रोत में कोई समय नहीं) जैसी जानकारी गिरती है, क्योंकि दोनों फ़ॉर्मैट अलग-अलग चीज़ें रखते हैं और उलटी दिशा की अपनी कमियाँ हैं। और इस दिशा में JSON से TXT में जो छूटा — जैसे JSON का 4000 किसी भी TXT पंक्ति के साथ नहीं रहता, इसलिए पाठ का क्रम तो बचता है पर समय नहीं — वह TXT में कहीं दर्ज नहीं है, इसलिए किसी भी उलटे रूपांतरण से उसे दोबारा नहीं बनाया जा सकता।