Format napisów SSA
Co potrafi wyrazić ten format
- Formatowanie tekstu
- Czcionki, kolor, obrys, cień
- Pozycja na ekranie
- Tak
- Czasy karaoke
- Tak
- Podziały wierszy w bloku
- Tak
- Oś czasu
- Czas początku i końca dla każdego bloku
- Dokładność czasów
- 10 ms
- Czasy zapisane jako numery klatek
- Nie
- Tekst od prawej do lewej
- Tak
Przykłady
Typowy plik SSA i to, co z niego odczytujemy
Plik
[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
Co zawiera
3 cues, 4 lines of text
0:00:01.00 → 0:00:04.00
Hello there.
[Default]
0:00:05.00 → 0:00:08.00
Italic line. [italic ×1]
[Default]
0:00:09.00 → 0:00:12.00
Two
lines
[Default]
Outside the cues:
sections [Script Info], [V4 Styles], [Events]
style table 1 — Default (Arial 20)Prawa strona nie jest przekonwertowanym plikiem – to, co ta strona odczytuje z lewej strony i od czego zaczyna się każda konwersja tego pliku.
Trudny plik SSA i to, co nadal da się z niego odczytać
Plik
[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.Co zawiera
2 cues, 3 lines of text
0:00:01.00 → 0:00:04.00
Bold and underlined. [bold ×1, underline ×1]
[Default]
0:00:05.00 → 0:00:08.00
A soft
break and a {\p1}mystery{\p0} code.
[Default]
Outside the cues:
sections [Script Info], [V4 Styles], [Events]
style table 1 — Default (Arial 20)
events 1 Comment: line — stored, never displayedPrawdziwe pliki przychodzą z BOM, końcami wierszy Windows, zbłąkaną linią przed znacznikiem czasu albo czasem, którego nie da się odczytać. Nic nie rzuca wyjątku: to, czego nie da się zrozumieć, jest zgłaszane, a nie po cichu odrzucane.
Konwertuj SubStation Alpha (SSA) na inny format
Każda z nich działa w całości w Twojej przeglądarce. Etykiety mówią, ile kosztuje dany kierunek, zanim go otworzysz.
W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.
- Formatowanie
- Pozycjonowanie
- Karaoke
- Treści specyficzne dla formatu
- Treści specyficzne dla formatu
- Czasy
- Formatowanie
- Pozycjonowanie
- Karaoke
- Treści specyficzne dla formatu
- Formatowanie
- Pozycjonowanie
- Karaoke
- Liczba klatek
- Treści specyficzne dla formatu
- Formatowanie
- Pozycjonowanie
- Karaoke
- Treści specyficzne dla formatu
- Formatowanie
- Karaoke
- Treści specyficzne dla formatu
- Formatowanie
- Pozycjonowanie
- Karaoke
- Treści specyficzne dla formatu
- Karaoke
- Treści specyficzne dla formatu
- Czasy
- Formatowanie
- Pozycjonowanie
- Karaoke
- Podziały wierszy
- Treści specyficzne dla formatu
- Formatowanie
- Pozycjonowanie
- Karaoke
- Treści specyficzne dla formatu
Konwersja do tego formatu
- SubRip (SRT) → SubStation Alpha (SSA)
- WebVTT (VTT) → SubStation Alpha (SSA)
- Advanced SubStation Alpha (ASS) → SubStation Alpha (SSA)
- YouTube SBV → SubStation Alpha (SSA)
- SAMI (SMI) → SubStation Alpha (SSA)
- LRC Lyrics → SubStation Alpha (SSA)
- MicroDVD → SubStation Alpha (SSA)
- TTML (Timed Text) → SubStation Alpha (SSA)
- SubtitleMatrix JSON → SubStation Alpha (SSA)
- Plain Text (TXT) → SubStation Alpha (SSA)
- CSV Spreadsheet → SubStation Alpha (SSA)
SubStation Alpha (SSA) to jeden z formatów napisów obsługiwanych przez tę stronę, a ta strona jest jego opisem: co potrafi przechować, czego nie potrafi i dokąd można go przekonwertować.
Tabela powyżej to całość – bez ukrytej listy funkcji. Gdy wiersz mówi „nie”, dokładnie to ginie przy konwersji do SSA, a każda strona konwersji mówi o tym, zanim wczytasz plik.
Wszystkie konwersje odbywają się w przeglądarce. Nic nie jest wysyłane i nie trzeba konta, co ma znaczenie przy materiale poufnym: umowie, dokumentacji medycznej czy materiale przed emisją.
Częste pytania
Czym jest plik SSA?
Plik .ssa to starsza nazwa formatu ASS, pochodząca z SubStation Alpha. Czytają go te same narzędzia – Aegisub, mpv, VLC, ffmpeg – a materiały archiwalne nadal trafiają się z tym rozszerzeniem.
Czy SSA przechowuje style?
Tak: tabelę stylów z krojami, rozmiarami, kolorami, obrysami i marginesami oraz kody w tekście, więc jedna linia może być pogrubiona i pokolorowana bez nazwanego stylu. Tabela to [V4 Styles], a styl bloku zapisują nadpisania, np. \i1, w tekście Dialogue:.
Czy każdy blok SSA ma początek i koniec?
Tak; moment czyta się jako 0:00:04.13, czyli setne części sekundy – najdrobniejsza jednostka SSA. Liczba jest dokładna, a bloki mogą się nakładać.
Do których formatów da się przekonwertować SSA bez strat?
Do żadnego w pełni: SSA ma tabelę stylów i pozycje, których formaty tekstowe nie przechowują. Najbliżej jest ASS, ale i tam kolumna OutlineColour wychodzi pusta. Każda strona konwersji wymienia własną listę strat.
Co SSA trzyma poza blokami?
Sekcję [Script Info], tabelę stylów oraz opcjonalnie kroje w [Fonts] i rysunki w [Graphics]. Sekcja zdarzeń może też zawierać linie Comment:, które są przechowywane, ale nigdy nie trafiają na ekran.
Czego w SSA nie ma, a jest w ASS?
Trzech rzeczy strukturalnych: kolumny Layer przy zdarzeniu (SSA pisze Marked), nazwy sekcji [V4+ Styles] z markerem ScriptType: v4.00+ oraz kolumny stylu AlphaLevel. Zamiast niej SSA nazywa kolumnę koloru TertiaryColour tam, gdzie ASS pisze OutlineColour.