Ana içeriğe geç
SubtitleMatrix

JSON’dan SBV’ye dönüştürücü

Ya da altyazı metnini yapıştırın

Bu dönüşüm neyi değiştirir

3 şey atılır ya da bir karar gerektirir

  • Stil

    tüm biçimlendirme (kalın, italik, renk, kontur, gölge)

  • Konumlandırma

    ekrandaki konumlandırma (her replik varsayılan konuma döner)

  • Karaoke

    karaoke zamanlaması (hece başına vurgulama)

Bu liste, yüklediğiniz belirli dosyadan değil, bu iki formatın yetenek matrisinden gelir. Belirli bir dosya, formatın izin verdiği ama matrisin modellemediği özellikler kullanıyorsa daha fazlasını kaybedebilir.

Bu dönüştürücü JSON dosyasını tarayıcıda okuyup SBV biçiminde yeniden yazar. JSON’da 1,25 saniye 1250 diye yazılır; SBV’de aynı an 00:00:01.250 olur. Satır sonları ve metin olduğu gibi geçer.

Kayıp listesi kısa ama gerçek: biçimlendirmenin tamamı düşer (kalın, italik, renk, kontur, gölge); ekran konumu düşer; her replik varsayılan konuma döner; karaoke zamanlaması düşer (hece hece vurgulama). SBV çıktısında her repliğin iki zamanı tek satırda, virgülle ayrılmış olarak yazılır. Metin ve zaman çizelgesi etkilenmez, düşen şey bunların çevresindeki bilgidir.

Dosyalar tarayıcı sekmesinde okunur ve yazılır; ağa yalnızca sayfanın kendisi çıkar. Bir dosya da yüz dosya da aynı yoldan geçer: kuyruk sırayla çalışır, ilerleme görünür ve sonuçlar tek arşivde iner.

Örnekler

JSON’dan SBV’ye geçen tipik bir dosya

Girdi

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

Çıktı

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.

Sağdaki dosyada eksilenler: biçimlendirme düşer; konum düşer; karaoke düşer. Geri kalan her şey — metin, başlangıç ve bitiş anları — soldakiyle aynıdır.

Gerçek hayattan bir JSON dosyası, SBV çıktısı

Girdi

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

Çıktı

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.

Bu, gerçek dosyalarda karşılaşılan hasardır: BOM, Windows satır sonları, boş bırakılmış alanlar. Hiçbiri işlemi durdurmaz; okunamayan bölümler sessizce kaybolmaz, raporda görünür.

Sık sorulan sorular

JSON’dan SBV’ye dönüşümde ne korunur, ne değişir?

Replik metni, sırası ve zaman çizelgesi JSON’dan SBV’ye olduğu gibi geçer. Değişen şey sarmalayıcıdır: JSON’da 1,25 saniye 1250 diye yazılır; SBV’de aynı an 00:00:01.250 olur. Bununla birlikte biçimlendirmenin tamamı düşer (kalın, italik, renk, kontur, gölge); ekran konumu düşer; her replik varsayılan konuma döner; karaoke zamanlaması düşer (hece hece vurgulama).

JSON’da zaman kodu SBV’de nasıl yazılır?

JSON’da bir an 1250 diye yazılır; SBV’de aynı an 00:00:01.250 olur.

JSON’da yazı tipi, renk ve kontur SBV’ye geçer mi?

JSON’dan SBV’ye geçişte yazı tipi, renk ve kontur korunmaz. SBV yalnızca metni ve iki zamanı saklar; renk, kontur, gölge ve kenar boşlukları için dosyada bir alan yoktur. Metnin içindeki <b> ve <i> etiketleri metnin parçası sayıldığı için kalır, ama onlar da biçim değil, karakter dizisidir.

JSON dosyasını SBV’ye dönüştürdükten sonra onu hangi oynatıcılar açar?

JSON dosyasından üretilen SBV dosyasını şu araçlar açar: SBV’yi YouTube ve eski altyazı araçları okur; modern oynatıcıların çoğu bu biçimi tercih etmez.

BOM ve CRLF içeren bir JSON dosyası SBV’ye dönüşürken sorun çıkarır mı?

Çıkarmaz. JSON dosyası okunurken BOM ve karışık satır sonları temizlenir, SBV çıktısı tek tip satır sonuyla yazılır. Tanınmayan bölümler atlanır ve sayılır; dönüşüm hiçbir zaman hata verip durmaz, anlaşılmayan her şey raporda görünür.

JSON dosyalarımı toplu olarak SBV’ye dönüştürebilir miyim?

Evet. Birden çok JSON dosyasını bir seferde sürükleyip bırakabilirsiniz; kuyruk hepsini sırayla işler, istediğiniz an durdurabilirsiniz ve SBV çıktıları tek bir ZIP olarak iner. Dosyalar tarayıcıdan çıkmaz, sunucuya hiçbir şey yüklenmez.

SBV dosyasını yeniden JSON’a dönüştürürsem aynı dosyayı elde eder miyim?

JSON → SBV → JSON gidiş-dönüşünde şunlar geri gelmez: biçimlendirme, ekran konumu, karaoke zamanlaması. Metin, replik sırası ve başlangıç anları geri gelir, ama bu özellikler ikinci dönüşümde yeniden üretilemez. Gidiş-dönüşü bir yedek olarak değil, biçim değişikliği olarak düşünün.

İlgili araçlar