Przejdź do treści
SubtitleMatrix

Konwerter napisów SSA na SMI

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

Co zmienia ta konwersja

3 rzeczy zostają pominięte albo wymagają decyzji

  • Formatowanie

    całe formatowanie poza pogrubieniem i kursywą (kolor, obrys, cień, marginesy)

  • 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 SMI (SAMI). SSA rysuje napisy przez silnik stylów, a SAMI osadza je w stronie HTML i steruje widocznością przez <SYNC>.

Przechodzą słowa, czasy i wyróżnienia w tekście. Tabela [V4 Styles], pozycjonowanie i karaoke nie mają odpowiednika – \pos i \an nie trafiają do wyniku, a tytuł nie jest wypisywany w <TITLE>.

Pliki są przetwarzane po kolei w przeglądarce, z możliwością przerwania i zbiorczym ZIP-em.

Przykłady

Typowy plik SSA po konwersji do SMI

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

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=5000>
<P><i>Italic</i> line.
<SYNC Start=8000>
<P>&nbsp;
<SYNC Start=9000>
<P>Two<br>lines
<SYNC Start=12000>
<P>&nbsp;
</BODY>
</SAMI>

W tym wyniku odrzucono: tabelę stylów, 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

<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P><b>Bold</b> and <u>underlined</u>.
<SYNC Start=4000>
<P>&nbsp;
<SYNC Start=5000>
<P>A soft<br>break and a {\p1}mystery{\p0} code.
<SYNC Start=8000>
<P>&nbsp;
</BODY>
</SAMI>

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

Które style z SSA przetrwają w SMI?

Wyróżnienia zapisane w tekście: <b>, <i>, <u> i <font color="…">. Tabela [V4 Styles] nie przechodzi – krój, rozmiar, obrys, cień i marginesy przepadają.

Co dzieje się z karaoke z SSA w SMI?

Taktowanie znika, słowa zostają: kody \k, \kf i \ko nie mają odpowiednika w SAMI, więc sylaby wychodzą jako zwykłe znaki.

Co się dzieje z blokiem [Script Info] i resztą skryptu SSA w SMI?

Napisy powstają tylko z Dialogue:. Sekcja [Script Info] z tytułem, którego konwerter nie wypisuje w <TITLE>, tabela stylów, Comment: oraz [Fonts] i [Graphics] są odrzucane.

Jak wygląda wynik, gdy SSA zamienia się w SMI?

Jak SAMI: każdy blok to <SYNC Start=…>, pod nim tekst w <P>, a potem <P>&nbsp;, który czyści ekran przed następnym blokiem.

Czy czasy z SSA są dokładne w pliku SMI?

Tak, co do milisekundy: 0:00:04.13 daje Start=4130 w atrybucie SYNC.

Czy pozycjonowanie z SSA przetrwa w SMI?

Nie – \pos i \an nie są zapisywane w atrybutach SAMI, więc tekst wychodzi na domyślnej pozycji odtwarzacza.

Jak w SMI wygląda blok SSA z dwiema liniami?

Jako dwie linie rozdzielone <br>, w jednym elemencie <P>.

Czy da się zamienić SMI z powrotem na SSA?

Tak, ale SMI do SSA odrzuca precyzję i treści specyficzne dla formatu, bo SAMI nie zna tabeli stylów.

Czy wynik SMI zachowuje kodowanie pliku SSA?

Nie – plik SMI 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