Przejdź do treści
SubtitleMatrix

Konwerter napisów SSA na SRT

Konwersja formatówSubStation Alpha (SSA)
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.

Powiązane narzędzia