Konwerter napisów SSA na SRT
Albo wklej tekst napisów
Co zmienia ta konwersja
4 rzeczy zostają pominięte albo wymagają decyzji
- Formatowanie
całe formatowanie (pogrubienie, kursywa, kolor, obrys, cień)
- Pozycjonowanie
pozycjonowanie na ekranie (każdy blok wraca do domyślnego położenia)
- Karaoke
czasy karaoke (podświetlanie sylaba po sylabie)
- Treści specyficzne dla formatu
treść, którą format źródłowy trzyma poza blokami (bloki niebędące napisami, tekst nagłówka, ustawienia pojedynczych bloków, zakomentowane zdarzenia) — format docelowy nie ma dla niej miejsca
Ta lista pochodzi z macierzy możliwości tych dwóch formatów, a nie z konkretnego wczytanego pliku. Konkretny plik może stracić więcej, jeśli używa cech, które format dopuszcza, ale macierz ich nie modeluje.
Ta strona zamienia SSA w SRT. SSA to skrypt z tabelą stylów i kodami nadpisań; SRT to numerowane bloki z tekstem między dwoma znacznikami czasu.
Wynik zachowuje słowa, kolejność i czasy co do milisekundy, a kursywa i pogrubienie trafiają do tekstu jako <i> i <b>. Tabela [V4 Styles], pozycje i karaoke nie mają w SRT odpowiednika.
Pliki można podać hurtowo: kolejka idzie po kolei, można ją przerwać, a wynik wraca jako jeden ZIP. Nic nie jest wysyłane.
Przykłady
Typowy plik SSA po konwersji do SRT
Wejście
[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal
[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: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines
Wynik
1
00:00:01,000 --> 00:00:04,000
Hello there.
2
00:00:05,000 --> 00:00:08,000
<i>Italic</i> line.
3
00:00:09,000 --> 00:00:12,000
Two
lines
W tym wyniku odrzucono: style, pozycjonowanie, karaoke i treści specyficzne dla formatu. Kursywa i pogrubienie zostają jako tagi, a reszta zgadza się linia po linii.
Ta sama konwersja na trudnym pliku
Wejście
[Script Info]
Title: Dirty SSA
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
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.Wynik
1
00:00:01,000 --> 00:00:04,000
<b>Bold</b> and <u>underlined</u>.
2
00:00:05,000 --> 00:00:08,000
A soft
break and a {\p1}mystery{\p0} code.
Tak wyglądają prawdziwe pliki – mieszane końce wierszy, zbłąkane spacje, puste pola. Porównaj z czystym przykładem powyżej, żeby zobaczyć, co parser wybacza.
Częste pytania
Czy pogrubienie i kursywa z SSA przetrwają w SRT?
Wyróżnienia tak, tabela [V4 Styles] nie: tagi <i>, <b>, <u> i <font color="…"> trafiają do tekstu SRT, a krój, rozmiar, obrys, cień i marginesy przepadają.
Co dzieje się z pozycją ekranową przy konwersji SSA do SRT?
Kody \pos, \an i \move są odrzucane, bo SRT nie umie wskazać miejsca napisu; bloki wracają na domyślną pozycję odtwarzacza.
Co dzieje się z karaoke z SSA w pliku SRT?
Sylaby zostają, taktowanie znika: kody \k, \kf i \ko nie mają odpowiednika w SRT, więc linia karaoke czyta się jako zwykły tekst.
Co się dzieje z blokiem [Script Info] i resztą skryptu SSA w SRT?
Napisy powstają wyłącznie z Dialogue:. Sekcja [Script Info] z tytułem, tabela stylów, Comment: oraz [Fonts] i [Graphics] są odrzucane.
Jak wygląda wynik, gdy SSA zamienia się w SRT?
Jak SRT: numer nad każdym znacznikiem czasu, licząc od 1, i przecinek przed milisekundami – 00:00:04,130.
Czy czasy z SSA są dokładne w pliku SRT?
Tak, co do milisekundy: 0:00:04.13 to 130 setnych, czyli 4130 ms i 00:00:04,130 w SRT; nic nie jest zaokrąglane.
Jak w SRT wygląda blok SSA z dwiema liniami?
Jako dwie linie jedna pod drugą w jednym bloku; para zostaje zachowana i odtwarzacz pokazuje je razem.
Czy kolejność bloków SSA jest zachowana w SRT?
Tak, po posortowaniu rosnąco po czasie początku; wynik ma porządek zgodny z osią czasu, nawet jeśli plik źródłowy go nie miał.
Czy da się zamienić SRT z powrotem na SSA?
Tak, ale SRT do SSA odrzuca precyzję i dodaje domyślną tabelę stylów, bo SRT nie przechowuje żadnych stylów.
Czy wynik SRT zachowuje kodowanie pliku SSA?
Nie – plik SRT powstały z SSA jest w UTF-8 bez BOM, z uniksowymi końcami wierszy; źródło w UTF-16 jest dekodowane przy wejściu.