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

TXT को JSON में बदलें

फ़ॉर्मैट रूपांतरणसादा टेक्स्ट ट्रांस्क्रिप्ट
या सबटाइटल टेक्स्ट पेस्ट करें

विकल्प

जब स्रोत में अंत समय न हों (सादा टेक्स्ट, LRC) तब इस्तेमाल होता है। आउटपुट की टाइमलाइन यहाँ रूपांतरित नहीं, बनाई जाती है, इसलिए यही संख्या मिलेगी।

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

1 चीज़ छूटती है या फ़ैसला माँगती है

  • टाइमिंग

    टाइमलाइन खुद — स्रोत कोई टाइमिंग नहीं रखता, इसलिए आउटपुट की टाइमलाइन दर्ज नहीं, बनाई जाती है

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

Plain Text (TXT) और SubtitleMatrix JSON दोनों सबटाइटल रखते हैं, पर उनका ढाँचा अलग है; यह पेज एक को दूसरे में बदलता है। TXT में सिर्फ़ पंक्तियाँ हैं — कोई समय-कोड नहीं, इसलिए हर पंक्ति एक cue मानी जाती है।

जो अनुमान से बनता है: समयरेखा स्वयं बनाई जाती है (स्रोत में कोई समय नहीं)। पहली पंक्ति 0 ms से शुरू होती है और हर अगली पिछली की अवधि के बाद। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।

SubtitleMatrix JSON का नतीजा .json फ़ाइल के रूप में मिलता है; version, styles और cues वाली संरचना बनती है और समय पूर्णांक मिलीसेकंड रहते हैं। बैच में डाली गई हर फ़ाइल अलग से संसाधित होती है, बीच में रोकने पर बाकी नहीं चलतीं, और अंत में सब एक ZIP में मिलती हैं। फ़ाइल आपके ब्राउज़र से बाहर नहीं जाती।

उदाहरण

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

इनपुट

The quick brown fox jumps over the lazy dog.

Second paragraph, first line.
Second paragraph, second line.

आउटपुट

{
  "version": 1,
  "cues": [
    {
      "start": 0,
      "end": 2000,
      "lines": [
        "The quick brown fox jumps over the lazy dog."
      ]
    },
    {
      "start": 2000,
      "end": 4000,
      "lines": [
        "Second paragraph, first line."
      ]
    },
    {
      "start": 4000,
      "end": 6000,
      "lines": [
        "Second paragraph, second line."
      ]
    }
  ]
}

इस आउटपुट में छूटा: समयरेखा (स्वयं बनाई गई)। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।

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

इनपुट


Hello world.

Second block.

आउटपुट

{
  "version": 1,
  "cues": [
    {
      "start": 0,
      "end": 2000,
      "lines": [
        "Hello world."
      ]
    },
    {
      "start": 2000,
      "end": 4000,
      "lines": [
        "Second block."
      ]
    }
  ]
}

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

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

TXT में तो कोई समय-कोड नहीं — JSON फ़ाइल की समयरेखा कैसे बनती है?

समय आपकी TXT फ़ाइल से नहीं आता, इसलिए वह बनाया जाता है: पहली पंक्ति 0 ms से, और हर अगली पंक्ति पिछली की अवधि के बाद। अवधि वाला फ़ील्ड मिलीसेकंड लेता है, और JSON में वही समय 4000 जैसे रूप में लिखा जाता है। रिपोर्ट साफ़ कहती है कि समयरेखा बनाई गई है, ताकि आप इसे किसी असली टाइमकोड की तरह न समझें।

TXT की खाली पंक्तियाँ JSON में cue बनती हैं या नहीं?

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

TXT से JSON बनाने की असली कीमत क्या है?

इस दिशा में 1 तरह की जानकारी गिरती है: समयरेखा स्वयं बनाई जाती है (स्रोत में कोई समय नहीं)। मिसाल के लिए, TXT में समय ही नहीं, इसलिए JSON की समयरेखा पहली पंक्ति को 0 से शुरू करके बनाई जाती है। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।

TXT से JSON बनाने पर समय किस रूप में लिखे जाते हैं?

JSON में हर TXT cue cues सरणी का एक ऑब्जेक्ट बनती है जिसमें start और end पूर्णांक मिलीसेकंड होते हैं, जैसे 4000। स्टाइल styles ऑब्जेक्ट में और रंग-ज़ोर tags सरणी में संरचित रूप में रखे जाते हैं।

TXT की बहु-पंक्ति cue JSON में कैसे रहती है?

cues शुरुआती समय के क्रम में लिखी जाती हैं, इसलिए TXT में अगर कोई cue क्रम से बाहर थी तो JSON में वह अपनी सही जगह पर लौट आती है। एक cue के भीतर की पंक्तियाँ अलग नहीं होतीं, क्योंकि दोनों फ़ॉर्मैट हार्ड लाइन-ब्रेक रख सकते हैं।

अगर बाद में JSON को TXT में बदलना हो तो क्या ध्यान रखें?

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

संबंधित टूल