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

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

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

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

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

  • स्टाइलिंग

    सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया)

  • स्थान

    स्क्रीन पर स्थान (हर क्यू डिफ़ॉल्ट जगह पर लौट आता है)

  • कराओके

    कराओके टाइमिंग (प्रति-अक्षर हाइलाइट)

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

इस पेज पर JSON फ़ाइल डालिए और SBV फ़ाइल पाइए। JSON में हर cue के समय 4000 जैसे पूर्णांक मिलीसेकंड हैं, और styles तालिका तथा tags सरणी सब कुछ संरचित रूप में रहता है। SBV में एक पंक्ति पर दो समय 0:00:04.000,0:00:07.000 रहते हैं और उसके नीचे पाठ; कोई क्रमांक नहीं होता।

जो नहीं बचता: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट)। JSON के रंग, आउटलाइन, छाया और मार्जिन SBV में कोई स्तंभ नहीं पाते; JSON का {\pos(320,240)} SBV में कोई जगह नहीं पाता और हर cue डिफ़ॉल्ट स्थान पर लौटती है; कराओके की अक्षर-दर-अक्षर अवधि चली जाती है, इसलिए SBV पूरा cue एक साथ दिखाता है। ये चीज़ें चुपचाप नहीं गिरतीं — फ़ाइल डालने से पहले ही ऊपर की सूची में लिखी रहती हैं।

YouTube SBV की फ़ाइल .sbv एक्सटेंशन के साथ बनती है; हर cue दो समयों की एक पंक्ति और उसके नीचे पाठ से बनती है। एक फ़ाइल हो या पूरी सीरीज़, कतार एक-एक करके चलती है, बीच में रोकी जा सकती है, और नतीजे एक ZIP में आते हैं। रूपांतरण आपके ब्राउज़र में होता है, इसलिए फ़ाइल कहीं अपलोड नहीं होती।

उदाहरण

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

इनपुट

{
  "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"
    }
  ]
}

आउटपुट

0:00:00.000,0:00:02.000
Hello world.
Second line.

0:00:02.500,0:00:04.000
Plain line.
<i>Styled</i> line.

0:00:04.500,0:00:06.000
Roger: I am here.

इस आउटपुट में छूटा: स्टाइलिंग, स्क्रीन स्थिति, कराओके। बाकी सब पंक्ति-दर-पंक्ति मेल खाता है।

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

इनपुट

[
    { "start": 0, "end": 1000, "lines": ["First."] },
    { "start": 1000, "end": 2000, "text": "Second." },
    "not an object",
    { "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]

आउटपुट

0:00:00.000,0:00:01.000
First.

0:00:01.000,0:00:02.000
Second.

0:00:02.000,0:00:03.000
Third.

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

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

JSON के क्षण SBV की घड़ी में कैसे अनुवादित होते हैं?

JSON का 4000 मिलीसेकंड SBV में 0:00:04.000 बनता है; दोनों में क्षण एक ही रहता है। कोई पूर्णांकन नहीं होता, क्योंकि SBV की घड़ी JSON से महीन या बराबर है।

JSON के फ़ॉन्ट, रंग और आउटलाइन SBV में बचते हैं?

SBV का मॉडल सिर्फ़ समय और पाठ है, इसलिए JSON की स्टाइल-तालिका का कोई अर्थ वहाँ नहीं रहता। फ़ॉन्ट, आकार, रंग, आउटलाइन, छाया और मार्जिन सब गिर जाते हैं; JSON के इनलाइन {i1}/{1} जैसे ज़ोर भी SBV में अपने आप नहीं बनते।

JSON से SBV में कौन-कौन सी जानकारी छूटती है?

इस दिशा में 3 तरह की जानकारी गिरती है: सारी स्टाइलिंग (बोल्ड, इटैलिक, रंग, आउटलाइन, छाया), स्क्रीन पर स्थिति (हर cue डिफ़ॉल्ट जगह पर लौटती है), कराओके समय (अक्षर-दर-अक्षर हाइलाइट)। मिसाल के लिए, JSON का {\pos(320,240)} और उसका रंग SBV में अपना स्थान नहीं पाते। यह सूची आपकी फ़ाइल डालने से पहले ही दिखती है, और फ़ाइल आने के बाद उसमें बताया जाता है कि उसमें से कितनी चीज़ें वाकई मौजूद थीं।

SBV में JSON के cue क्रमांक का क्या होता है?

SBV में हर JSON cue दो समयों की एक पंक्ति बनती है, जैसे 0:00:04.000,0:00:07.000, और उसके नीचे पाठ। cue क्रमांक लिखे ही नहीं जाते, इसलिए JSON की गिनती की जगह केवल समय और पाठ रहते हैं।

JSON की cues का क्रम SBV में बदलता है या नहीं?

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

SBV से JSON की उलटी दिशा उतनी ही सुरक्षित है?

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

संबंधित टूल