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

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

या सबटाइटल टेक्स्ट पेस्ट करें

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

इस दिशा में कुछ नहीं छूटता — स्रोत फ़ॉर्मैट की हर सुविधा के लिए लक्ष्य फ़ॉर्मैट में कहीं जगह है।

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

यह पेज SubRip (SRT) फ़ाइल को SubtitleMatrix JSON में बदलता है। SRT में हर cue एक क्रमांक, 00:00:04,000 जैसी समय-पंक्ति और पाठ से बनती है। JSON में हर cue के समय 4000 जैसे पूर्णांक मिलीसेकंड हैं, और styles तालिका तथा tags सरणी सब कुछ संरचित रूप में रहता है।

यहाँ कुछ नहीं छूटता: JSON हर वह चीज़ संरचित रूप में रख सकता है जो SRT में है — समय, पाठ, पंक्ति विराम और cue का क्रम। SRT का 00:00:04,000 JSON में 4000 जैसा पूर्णांक मिलीसेकंड बनता है।

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

उदाहरण

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

इनपुट

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

आउटपुट

{
  "version": 1,
  "cues": [
    {
      "id": "1",
      "start": 1000,
      "end": 3500,
      "lines": [
        "Hello there."
      ]
    },
    {
      "id": "2",
      "start": 3500,
      "end": 6000,
      "lines": [
        {
          "text": "Whispering now.",
          "tags": [
            {
              "kind": "italic",
              "start": 0,
              "end": 10
            }
          ]
        },
        "And a second line."
      ]
    },
    {
      "id": "3",
      "start": 6000,
      "end": 9250,
      "lines": [
        {
          "text": "Bold statement.",
          "tags": [
            {
              "kind": "bold",
              "start": 0,
              "end": 4
            }
          ]
        }
      ]
    }
  ]
}

यहाँ कुछ नहीं छूटता: दोनों ओर की पंक्तियाँ एक-एक करके मिलाइए।

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

इनपुट

1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.


2
00:00:03,500 --> 00:00:06,000


3
00:00:08,000 --> 00:00:09,000
Last one.

आउटपुट

{
  "version": 1,
  "cues": [
    {
      "id": "1",
      "start": 1000,
      "end": 3500,
      "lines": [
        {
          "text": "Bold and italic.",
          "tags": [
            {
              "kind": "bold",
              "start": 0,
              "end": 4
            },
            {
              "kind": "italic",
              "start": 9,
              "end": 15
            }
          ]
        }
      ]
    },
    {
      "id": "2",
      "start": 3500,
      "end": 6000,
      "lines": []
    },
    {
      "id": "3",
      "start": 8000,
      "end": 9000,
      "lines": [
        "Last one."
      ]
    }
  ]
}

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

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

SRT की समय-पंक्ति JSON में बदलते समय क्या बदलता है?

SRT का 00:00:04,000 JSON में 4000 जैसा पूर्णांक मिलीसेकंड बनता है। कोई पूर्णांकन नहीं होता, क्योंकि JSON की घड़ी SRT से महीन या बराबर है।

SRT की गिनती JSON फ़ाइल में कहाँ दिखती है?

SRT में हर cue के आगे एक क्रमांक होता है; JSON में वह क्रमांक उतना ही महत्वपूर्ण नहीं रहता। जहाँ लक्ष्य cue पहचानकर्ता रखता है वहाँ संख्या चली जाती है, और जहाँ नहीं रखता वहाँ सिर्फ़ समय-पंक्ति के बाद पाठ रहता है। क्रम वैसे भी शुरुआती समय से तय होता है।

SRT से JSON का रूपांतरण पूरी तरह सुरक्षित क्यों है?

कुछ नहीं छूटता, क्योंकि JSON SRT की हर जानकारी रख सकता है: cue का समय, पाठ, पंक्ति विराम और क्रम। SRT का 00:00:04,000 JSON में 4000 जैसा पूर्णांक मिलीसेकंड बनता है। यह क्षमता-स्तर का निष्कर्ष है; अगर आपकी SRT फ़ाइल में पार्स करते समय कोई खराब ब्लॉक पहले ही छूटा था, तो वह अलग रिपोर्ट में दिखेगा।

JSON में SRT की cue किस संरचना में बदलती है?

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

दो पंक्तियों वाली SRT cue JSON में कैसे दिखती है?

दोनों फ़ॉर्मैट एक cue के भीतर हार्ड लाइन-ब्रेक रख सकते हैं, इसलिए SRT की दो पंक्तियाँ JSON में भी एक ही cue की दो पंक्तियाँ रहती हैं और एक साथ दिखती हैं। कुछ भी जोड़ा या तोड़ा नहीं जाता; बदलता सिर्फ़ समय का लिखावटी रूप है।

JSON से SRT लौटने पर क्या नया छूट सकता है?

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

संबंधित टूल