Przejdź do treści
SubtitleMatrix

Konwerter napisów SRT na SSA

Albo wklej tekst napisów

Co zmienia ta konwersja

1 rzecz zostaje pominięta albo wymaga decyzji

  • Dokładność

    dokładność czasów — zegar wyniku jest grubszy, więc każdy znacznik czasu jest zaokrąglany do najbliższych 10 ms

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 konwertuje SRT do SSA. Wrzuć plik albo wklej tekst, a dostaniesz wersję SSA. Konwersja działa w całości w Twojej przeglądarce, więc nic nie jest wysyłane i konto nie jest potrzebne.

Te dwa formaty nie przechowują tego samego: SSA liczy czas w setnych sekundy, więc precyzja SRT nie ma gdzie trafić. Lista powyżej bierze się z tego, co oba formaty potrafią wyrazić, a nie z Twojego pliku, więc odpowiedź jest taka sama przed wczytaniem czegokolwiek. SSA potrzebuje też nagłówka i tabeli stylów, których SRT nie ma; konwerter dopisuje jeden styl Default i wskazuje na niego każdą linię Dialogue.

Jeden plik wystarczy, cały sezon też: kolejka przetwarza je po kolei, a wyniki wychodzą razem jako jedno ZIP.

Przykłady

Typowy plik SRT przekonwertowany na SSA

Wejście

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

Wynik

[Script Info]
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
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,{\i1}Whispering{\i0} now.\NAnd a second line.
Dialogue: 0,0:00:06.00,0:00:09.25,Default,,0,0,0,,{\b1}Bold{\b0} statement.

W tym wyjściu ginie: precyzja. Reszta zgadza się linia po linii.

Ta sama konwersja na zniszczonym wejściu

Wejście

1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.


2
00:00:03,500 --> 00:00:06,000


3
00:00:08,000 --> 00:00:09,000
Last one.

Wynik

[Script Info]
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
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,{\b1}Bold{\b0} and {\i1}italic{\i0}.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,
Dialogue: 0,0:00:08.00,0:00:09.00,Default,,0,0,0,,Last one.

To typowe uszkodzenia prawdziwych plików — 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

Dlaczego znaczniki czasu zmieniają się z SRT na SSA?

SSA zapisuje czas jako 0:00:04.13, a SRT jako 00:00:04,126 — setna część sekundy kontra tysięczna — więc każdy znacznik czasu jest zaokrąglany do najbliższych 10 ms. 00:00:04,126 wychodzi jako 4,13 sekundy; nic nie jest rozciągane ani przestawiane, a blok nie przesuwa się o więcej niż 5 ms.

Jak wygląda wyjście, gdy SRT staje się SSA?

Jak SSA: bez numerów bloków, każdy blok to linia Dialogue: w sekcji [Events], z polem Marked tam, gdzie SRT trzyma numer. Każdy blok SRT staje się jednym blokiem SSA w tej samej kolejności, z tym samym tekstem. SSA potrzebuje też tabeli stylów, której SRT nie ma.

Jak blok SRT z dwiema liniami wychodzi w SSA?

Jako dwie linie z \N między nimi — tak SSA zapisuje twardy podział wiersza. Parowanie zostaje: dwie linie SRT nadal należą do jednego bloku i odtwarzacz pokaże je razem. W SRT ten sam podział to zwykły znak nowej linii.

Czy bloki SRT zachowują kolejność w pliku SSA?

Tak, po drodze są sortowane po czasie rozpoczęcia — najwcześniejsze pierwsze. Jeśli plik SRT miał bloki poza kolejnością, SSA je uporządkuje; to zmiana struktury, nie treści. SRT czyta się w podanej kolejności, więc porządek nie jest w nim wymuszony.

Czy mogę przekonwertować SSA z powrotem na SRT?

Tak, ale ten kierunek ma własną listę: SSA na SRT gubi stylowanie, pozycjonowanie, karaoke i treść specyficzną dla formatu. Ta lista różni się od powyższej, bo oba formaty przechowują różne rzeczy — SSA ma pełny model stylów, SRT tylko tekst z dwoma czasami.

Czy wyjściowy SSA zachowuje kodowanie pliku SRT?

Nie — wyjście jest w UTF-8, z uniksowymi końcami wierszy i bez BOM. Plik w UTF-16 albo windowsowym kodowaniu jednobajtowym jest dekodowany na wejściu, o czym mówi panel wyniku. SRT bywa w różnych kodowaniach; SSA z tej strony zawsze wychodzi taki sam.

Powiązane narzędzia