JSON’dan SSA’ya dönüştürücü
Ya da altyazı metnini yapıştırın
Bu dönüşüm neyi değiştirir
1 şey atılır ya da bir karar gerektirir
- Hassasiyet
zamanlama hassasiyeti — çıktının saati daha kaba, bu yüzden her zaman damgası en yakın 10 ms’e yuvarlanır
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 sayfa JSON dosyasını SSA dosyasına dönüştürür. JSON’da 1,25 saniye 1250 diye yazılır; SSA’da aynı an 0:00:01.25 olur. Hedefin saati salise hassasiyetinde olduğu için değer en yakın 10 ms’ye yuvarlanır. Metin, replik sayısı ve replik sırası olduğu gibi kalır.
İki biçim aynı şeyleri saklamaz. Bu dönüşümde zaman hassasiyeti düşer; hedefin saati daha kaba olduğu için her zaman damgası en yakın 10 ms’ye yuvarlanır. SSA çıktısında tek bir Default stil yazılır (Arial, 20 punto, beyaz metin, koyu kontur); kaynakta stil yoksa görünüm budur.
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ı, SSA’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ı
[Script Info]
Title: Fixture: typical
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,,,,0,0,,,,,,,,,
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:02.00,Default,,0,0,0,,{\pos(100,200)}Hello world.\NSecond line.
Dialogue: 0,0:00:02.50,0:00:04.00,Default,,0,0,0,,Plain line.\N{\i1}Styled{\i0} line.
Dialogue: 0,0:00:04.50,0:00:06.00,Default,,0,0,0,,Roger: I am here.
Bu dönüşümde kaybedilenler: 10 ms’ye yuvarlanır. Replik sayısı ve sırası değişmez; kayıp yalnızca yukarıdaki listede adı geçen özelliklerdedir.
Dağınık bir JSON dosyası, yine de SSA çı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ı
[Script Info]
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,First.
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,Second.
Dialogue: 0,0:00:02.00,0:00:03.00,Default,,0,0,0,,Third.
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 SSA dosyasına dönüştüğünü, anlaşılmayan her şeyin ise raporda sayıldığını görün.
Sık sorulan sorular
JSON’dan SSA’ya dönüşümde ne korunur, ne değişir?
Replik metni, sırası ve zaman çizelgesi JSON’dan SSA’ya olduğu gibi geçer. Değişen şey sarmalayıcıdır: JSON’da 1,25 saniye 1250 diye yazılır; SSA’da aynı an 0:00:01.25 olur. Hedefin saati salise hassasiyetinde olduğu için değer en yakın 10 ms’ye yuvarlanır. Bununla birlikte zaman hassasiyeti düşer; hedefin saati daha kaba olduğu için her zaman damgası en yakın 10 ms’ye yuvarlanır.
JSON’da zaman kodu SSA’da nasıl yazılır?
JSON’da bir an 1250 diye yazılır; SSA’da aynı an 0:00:01.25 olur. Hedefin saati salise hassasiyetinde olduğu için değer en yakın 10 ms’ye yuvarlanır.
JSON’dan SSA’ya geçerken zamanlar neden 10 ms’ye yuvarlanıyor?
JSON’dan SSA’ya geçerken saat salise adımlarıyla ilerler: 00:00:01,234 gibi bir değer 0:00:01.23 olarak yazılır. Bu, her zaman damgasında en fazla 5 ms’lik bir kayma demektir; replik sınırları ve metin değişmez.
JSON dosyasını SSA’ya dönüştürdükten sonra onu hangi oynatıcılar açar?
JSON dosyasından üretilen SSA dosyasını şu araçlar açar: VLC, mpv ve Aegisub SSA dosyasını okur; yeni oynatıcıların çoğu ASS’yi tercih eder ama SSA’yı da açar.
BOM ve CRLF içeren bir JSON dosyası SSA’ya dönüşürken sorun çıkarır mı?
Çıkarmaz. JSON dosyası okunurken BOM ve karışık satır sonları temizlenir, SSA çı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 SSA’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 SSA çıktıları tek bir ZIP olarak iner. Dosyalar tarayıcıdan çıkmaz, sunucuya hiçbir şey yüklenmez.
SSA dosyasını yeniden JSON’a dönüştürürsem aynı dosyayı elde eder miyim?
JSON → SSA → JSON gidiş-dönüşünde şunlar geri gelmez: 10 ms hassasiyet. 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.