Ana içeriğe geç
SubtitleMatrix

ASS geçersiz kılmalarını sil

Metin ve stilBiçimlendirmeyi ve etiketleri sil
Ya da altyazı metnini yapıştırın

Seçenekler

Tek kutu, yedi seçenek ve her seçeneğin kendi sayfası var. İtalik, kalın, altı çizili ve renk o tek aralık türünü kaldırır ve satırın geri kalan biçimlendirmesine dokunmaz. Hepsi, aracın modellediği her aralığı — o dördü artı karaoke zamanlamasını — kaldırır, metindeki diğer her şeye dokunmaz. HTML aynısını yapar ve ardından araç modellemediği için metinde kalan açılı parantez biçimlendirmesini de süpürür; VTT’nin <v Bob> konuşmacı etiketleri ve <c.className> gibi. ASS bunu bunun yerine geçersiz kılma blokları için yapar ve ayrıştırma sırasında tanınmayan {\fad(500,500)} gibi {...} kodlarını temizler. Bu sayfa kutuyu başlığının adlandırdığı seçenekle doldurur ve başkasını listelemez.

Zamanlamaların hangi kare hızında sayıldığı. Format sayfalarında MicroDVD’nin ihtiyaç duyduğu şey budur, çünkü zamanlamayı kare numarası olarak saklar. Kare hızı sayfalarında ise dosyanın hangi hıza göre zamanlandığı — altyazının hazırlandığı sürüm — ve sayfanın ikinci kutusu altyazıyı birlikte kullanacağınız videonun hızını alır. 23,976, 24, 25, 29,97, 30, 50, 59,94 ve 60 yaygın olanlardır. Yanlış vermek tüm zaman çizelgesini kaydırır; kare hızı sayfalarında ise sabit bir miktar yerine bir oran kadar kaydırır.

Bu sayfa bir ASS veya SSA dosyasındaki geçersiz kılma kodlarını temizler: biçimlendirme aralıkları, karaoke zamanlaması, artık kalan efekt blokları ve konumlandırma. Geriye düz, zamanlı metin döner; sözcükler, replik zamanları ve dosyanın kendi yapısı kalır, satırlar adlandırılmış stillerinin onları koyduğu yerde durur.

ASS en çok şey söyleyebilen formattır ve söyleyebildiklerinin çoğu satır metninin içine geçersiz kılma kodu olarak yazılır. Bu kodların bir bölümü aracın modellediği biçimlendirmedir — {\i1}, {\b1}, {\c&H...&}, {\k50} — bir bölümü ise modellediği efektler değildir: solmalar, hareketler, ölçekleme, bulanıklaştırma, hepsi aynı biçimdeki bloklar hâlinde yazılır. Modellenmeyen bu bloklar okuma sırasında bilerek metinde bırakılır, çünkü aracın okuyamadığı işaretlemeyi yemek veri kaybı olurdu. Onları süpüren sayfa bu sayfadır.

Konumlandırma da burada temizlenir ve bu, sayfanın yalnızca işaretleme silmekle kalmayan tek işidir: bir satırın nerede durduğu metnin üzerindeki bir aralık değil bütün repliğin özelliğidir, bu yüzden konumlandırılmış satır adlandırılmış stilinin onu koyduğu yere döner. Çıktıyı gerçekten düz yapan budur. Adlandırılmış stil tablosuna dokunulmaz; stili kalın olan bir replik sonrasında da kalın görünür, çünkü kalınlık metnin değil stilin özelliğidir.

Bir kod yerinde kalır ve sayfa bunu sizin fark etmenizi beklemeden söyler: {\an8} gibi dokuz hücreli bir hizalama yazıldığı gibi korunur. Bu kod dikey yerleşimi yatayla birlikte kodlar; aracın kendi hizalama fikri ise yalnızca sol, orta ve sağdır, dolayısıyla diğer yarıyı saklayacak bir yer yoktur. Yarısını anlamak, gidiş dönüşü bozuk bir dosya demek olurdu. Hiçbir dosya yüklenmez; kaldırılacak bir şeyi olmayan dosya bayt bayt aynı döner.

Örnekler

Biçimlendirme ve artık kalan bir efekt bloğu

Girdi

[Script Info]
Title: fade

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\fad(500,500)}{\i1}hello{\i0}

Çıktı

[Script Info]
Title: fade

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,hello

{\fad(500,500)} oynatıcıdan satırı iki yönde de yarımşar saniyede belirip kaybolmasını ister. Araç onu hiç modellemediği için bu çalıştırma süpürene kadar metinde durdu; yanındaki italik çifti de aynı yola gitti ve geriye satırın kendisi kaldı. Çıktıda solmanın bir zamanlar orada olduğunu kaydeden hiçbir şey yok.

Konumlandırılmış bir satır

Girdi

[Script Info]
Title: position

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\pos(100,200)}hello there

Çıktı

[Script Info]
Title: position

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,hello there

Satıra artık nerede duracağı söylenmiyor, bu yüzden olayda adlandırılan stilin onu koyduğu yere dönüyor. Bu, çalıştırmanın yalnızca işaretleme silmekle kalmayan tek parçası ve sayfayı yalnızca vurgusu alınmış değil gerçekten düz olması gereken bir dosya için doğru sayfa yapan da bu.

Yerinde kalan dokuz hücreli hizalama

Girdi

[Script Info]
Title: alignment

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an8}hello there

Çıktı

[Script Info]
Title: alignment

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,0,0,0,0,100,100,0,0,1,1,1,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an8}hello there

Bu satır değişmeden geri dönüyor ve bu bir kaçırma değil. {\an8} üst ve orta konumunu aynı anda söylerken aracın hizalaması yalnızca sol, orta ve sağı kapsar; dikey yarıyı yaşatacak yer olmadığı için etiket yarım anlaşılmak yerine bütün olarak korunur. Konum kodu silinir, bu kod silinmez.

Sık sorulan sorular

ASS geçersiz kılma etiketlerini temizlemek {\an8} hizalamasını neden koruyor?

Çünkü araç onu tam olarak temsil edemiyor. {\an8} dokuz hücreden birini adlandırır ve yatay konumla dikey konumu aynı anda kodlar; aracın kendi hizalaması ise yalnızca sol, orta ve sağdan oluşur. Yatay yarıyı saklayıp diğerini atmak dosyanın gidiş dönüşünü bozacağı için etiket olduğu gibi korunur. Konum kodu silinir, hizalama kodu silinmez; sayfa da bunu fark etmenizi beklemeden söyler.

{\fad(500,500)} gibi efekt blokları ASS geçersiz kılma temizliğinde neden siliniyor?

Çünkü o blok satırı yarımşar saniyede belirip kaybolmaya çağıran bir talimattır ve araç onu hiç modellemedi; metinde bu çalıştırma süpürene kadar durdu. Aynı satırdaki italik çifti de aynı yola gider ve geriye satırın kendisi kalır. Çıktıda solmanın bir zamanlar orada olduğunu kaydeden hiçbir iz kalmaz.

ASS geçersiz kılma etiketlerini temizlemek zaman kodlarını veya metni değiştirir mi?

Hayır. Sözcükler bayt bayt aynı döner, her replik başlangıcını ve bitişini milisaniyesine kadar korur ve repliklerin sırası dosyanın kendisidir. Replik içindeki satır sonları biçimlendirmenin değil repliğin parçasıdır, bu yüzden dosyanın koyduğu yerde kalır. Değişen şey sözcüklerin çevresindeki talimatlardır ve bazı durumlarda satırın ekrandaki yeridir.

ASS geçersiz kılma kodları silindikten sonra çıktı hâlâ doğru oynar mı?

Evet, üstelik öncekinden daha öngörülebilir biçimde. Bir oynatıcının anlamadığı geçersiz kılma kodu en iyi durumda yok sayılır, en kötü durumda yanlış çözümlenir ve özellikle efekt kodlarında oynatıcılar birbirinden ayrılır. Düz zamanlı metinde böyle bir belirsizlik yoktur. Dosya, altyazıyı çekimdeki belirli bir şeyin üzerine oturtmak için konumlandırmaya güveniyorsa o yerleşim artık yoktur ve satır stilin onu koyduğu yerde durur.

ASS geçersiz kılma temizliği [V4+ Styles] tablosunu da siler mi?

Hayır; stil tablosu ve her repliğin işaret ettiği stil tam olarak olduğu gibi kalır. Sayfa yalnızca satır metninin içine yazılmış kodlar üzerinde çalışır ve adlandırılmış stili kalın olan bir replik sonrasında da kalın görünür, çünkü kalınlık satırın kendi metninden değil stilden gelir. Stil tablosunu temizlemek ayrı bir iştir ve bunun için henüz bir sayfa yok.

SRT dosyasında ASS geçersiz kılma etiketlerini temizleme sayfası ne yapar?

Sayfaya sitenin okuduğu her formatı bırakabilirsiniz. Bir SRT veya WebVTT dosyasında ilk yarı yine işini yapar ve biçimlendirme aralıkları gider; süpürme ise hiçbir şey bulmaz, çünkü süslü parantez blokları o formatlarda geçmez. Ne biçimlendirmesi ne süslü parantez bloğu olan bir dosya bayt bayt aynı döner; bu, yapacak işi olmayan bir çalıştırmanın dürüst sonucudur.

İlgili araçlar