Przejdź do treści
SubtitleMatrix

Konwerter napisów SSA na ASS

Konwersja formatówSubStation Alpha (SSA)
Albo wklej tekst napisów

Co zmienia ta konwersja

W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.

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 ASS. Dialogi przechodzą bez zmian – kody nadpisań, znaczniki karaoke i zapis czasu są w obu dialektach takie same – a zmienia się nagłówek: typ skryptu, nazwa sekcji stylów i zestaw kolumn w wierszach stylu.

V4+ dodał kolumny, których V4 nie znał: podkreślenie, przekreślenie, skalowanie poziome i pionowe, odstępy między literami oraz kąt. Plik z SSA nie ma tam czego wpisać, więc trafiają tam wartości neutralne, a wspólne ustawienia przechodzą ze swoimi wartościami. Uwaga na jedną stratę: kolumna OutlineColour w wyniku jest pusta, mimo że SSA miało tam wartość TertiaryColour.

Nie ma nic do ustawiania, a plik jest przetwarzany w przeglądarce, nie na serwerze.

Przykłady

Typowy plik SSA po konwersji do ASS

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

[Script Info]
Title: Example SSA
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,,&H00000000,0,0,,,,,,,1,2,2,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:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines

Nie wszystko zostaje: kolumna TertiaryColour w wyniku jest pusta, bo wartość OutlineColour nie przechodzi. Tekst, czasy i pozostałe kolumny zgadzają się co do znaku.

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

[Script Info]
Title: Dirty SSA
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,,&H00000000,0,0,,,,,,,1,2,2,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:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\Nbreak 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

Po co w ogóle konwertować SSA do ASS?

Bo V4+ to dialekt, który zapisują i czytają współczesne narzędzia. Wynik daje plik z ScriptType: v4.00+, który edytor wystylizuje, a enkoder wyrenderuje z zachowaną tabelą stylów; starszy plik SSA w nowym narzędziu często pokazuje tekst i ignoruje style.

Czy kolumny, których nie ma w SSA, wychodzą puste w ASS?

Dostają wartości neutralne – w pliku SSA nie było nic, co można by tam wpisać. Wspólne ustawienia, czyli krój, rozmiar, kolory, pogrubienie, kursywa, wyrównanie i marginesy, przechodzą ze swoimi wartościami.

Gdzie podział się kolor trzeciorzędny przy konwersji SSA do ASS?

W tym konwerterze wartość TertiaryColour nie trafia do kolumny OutlineColour – w wyniku ta kolumna jest pusta. Nagłówek i nazwy kolumn się zmieniają, ale liczby z pliku SSA nie ma w wyniku; pozostałe kolumny zostają.

Czy czasy lub tekst zmieniają się przy konwersji SSA do ASS?

Nie. Oba dialekty zapisują czas tak samo, jako godziny, minuty, sekundy i setne, i oba piszą linie Dialogue: w tej samej postaci, więc słowa i momenty zostają bez zmian.

Czy da się przetworzyć cały folder skryptów SSA i zamienić je w ASS naraz?

Tak. Przeciągnij dowolną liczbę plików; są przetwarzane po kolei, można przerwać w trakcie, a wynik wraca jako jeden ZIP – każdy plik wychodzi jako .ass z tabelą [V4+ Styles].

Powiązane narzędzia