JSON’dan SMI’ye dönüştürücü
Ya da altyazı metnini yapıştırın
Bu dönüşüm neyi değiştirir
2 şey atılır ya da bir karar gerektirir
- Stil
kalın ve italik dışındaki tüm biçimlendirme (renk, kontur, gölge, kenar boşlukları)
- 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.
JSON dosyanızı SMI dosyasına dönüştürmek için dosyayı sürükleyip bırakın. JSON’da 1,25 saniye 1250 diye yazılır; SAMI’de aynı an <SYNC Start=1250> bloğuyla başlar. Replik numaraları ve sırası korunur.
İki biçim aynı şeyleri saklamaz. Bu dönüşümde kalın ve italik dışındaki biçimlendirme düşer (renk, kontur, gölge, kenar boşlukları); karaoke zamanlaması düşer (hece hece vurgulama). SAMI çıktısında her replik bir <SYNC> bloğu olur, bitiş ise bir sonraki blokla belirlenir.
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
Tipik bir JSON dosyası, SMI’ya dönüştürüldü
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ı
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=0>
<P>Hello world.<br>Second line.
<SYNC Start=2000>
<P>
<SYNC Start=2500>
<P>Plain line.<br><i>Styled</i> line.
<SYNC Start=4000>
<P>
<SYNC Start=4500>
<P>Roger: I am here.
<SYNC Start=6000>
<P>
</BODY>
</SAMI>
Bu dönüşümde kaybedilenler: renk ve kontur düşer; karaoke düşer. Replik sayısı ve sırası değişmez; kayıp yalnızca yukarıdaki listede adı geçen özelliklerdedir.
Gerçek hayattan bir JSON dosyası, SMI çı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ı
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=0>
<P>First.
<SYNC Start=1000>
<P>
<SYNC Start=1000>
<P>Second.
<SYNC Start=2000>
<P>
<SYNC Start=2000>
<P>Third.
<SYNC Start=3000>
<P>
</BODY>
</SAMI>
Gerçek dosyalar böyle gelir: karışık satır sonları, baştaki BOM, boş alanlar. Soldaki dağınık dosyanın sağda düzenli bir SMI dosyasına dönüştüğünü, anlaşılmayan her şeyin ise raporda sayıldığını görün.
Sık sorulan sorular
JSON → SMI dönüşümünde hangi özellikler aynen geçer?
Replik metni, sırası ve zaman çizelgesi JSON’dan SMI’ya olduğu gibi geçer. Değişen şey sarmalayıcıdır: JSON’da 1,25 saniye 1250 diye yazılır; SAMI’de aynı an <SYNC Start=1250> bloğuyla başlar. Bununla birlikte kalın ve italik dışındaki biçimlendirme düşer (renk, kontur, gölge, kenar boşlukları); karaoke zamanlaması düşer (hece hece vurgulama).
JSON’da zaman kodu SMI’da nasıl yazılır?
JSON’da bir an 1250 diye yazılır; SMI’da aynı an <SYNC Start=1250> olur. SAMI’de replik, bir sonraki <SYNC> bloğuna kadar ekranda kalır.
JSON’da renkler ve konturlar SMI’da kalır mı?
JSON’dan SMI’ya geçişte renkler ve konturlar kalmaz. SMI yalnızca temel biçimlendirmeyi tanır: kalın, italik ve altı çizili metin korunur, ama renk, kontur, gölge ve kenar boşlukları düşer. Metin ve zamanlar bundan etkilenmez.
JSON dosyasını SMI’ya dönüştürdükten sonra onu hangi oynatıcılar açar?
JSON dosyasından üretilen SMI dosyasını şu araçlar açar: SAMI, Windows Media Player ve eski televizyon yazılımlarında yaygındı; bugün VLC ve bazı oynatıcılar da okur.
BOM ve CRLF içeren bir JSON dosyası SMI’ya dönüşürken sorun çıkarır mı?
Çıkarmaz. JSON dosyası okunurken BOM ve karışık satır sonları temizlenir, SMI çı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 SMI’ya 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 SMI çıktıları tek bir ZIP olarak iner. Dosyalar tarayıcıdan çıkmaz, sunucuya hiçbir şey yüklenmez.
SMI dosyasını yeniden JSON’a dönüştürürsem aynı dosyayı elde eder miyim?
JSON → SMI → JSON gidiş-dönüşünde şunlar geri gelmez: renk ve kontur, 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.