Konwerter napisów VTT na SSA
Albo wklej tekst napisów
Co zmienia ta konwersja
2 rzeczy zostają pominięte albo wymagają 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
- 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 konwertuje VTT 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: precyzja i treść specyficzna dla VTT nie mają gdzie trafić w SSA. 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 liczy czas w setnych sekundy, więc każdy znacznik VTT jest zaokrąglany do najbliższych 10 ms, i dopisuje tabelę stylów, której VTT nie ma.
Jeden plik wystarczy, cały sezon też: kolejka przetwarza je po kolei, a wyniki wychodzą razem jako jedno ZIP.
Przykłady
Typowy plik VTT przekonwertowany na SSA
Wejście
WEBVTT
intro
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.
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:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,Second line with {\i1}italics{\i0}.
W tym wyjściu giną: precyzja i warstwy dokumentu VTT. Reszta zgadza się linia po linii.
Ta sama konwersja na zniszczonym wejściu
Wejście
a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.
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:02.00,Default,,0,0,0,,No header, two lines before the timecode.
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 VTT na SSA?
SSA zapisuje czas jako 0:00:04.13, a VTT 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.
Co dzieje się z blokami NOTE, STYLE i REGION z VTT w SSA?
Są odrzucane. Plik WebVTT może nieść nagłówek, komentarze, blok stylów, definicje regionów i ustawienia bloku, a SSA nie ma na nie miejsca — przechowuje bloki, nie dokument. Same bloki, tekst i czasy przechodzą w całości. VTT trzyma warstwy dokumentu, SSA ma własną tabelę stylów.
Jak wygląda wyjście, gdy VTT 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 VTT staje się jednym blokiem SSA w tej samej kolejności. VTT nie ma tabeli stylów; SSA dopisuje jedną, Default.
Jak blok VTT z dwiema liniami wychodzi w SSA?
Jako dwie linie z \N między nimi — tak SSA zapisuje twardy podział wiersza. Parowanie zostaje: dwie linie VTT nadal należą do jednego bloku. W VTT były dwiema liniami w tekście bloku, w SSA są jawnym kodem w jednej linii Dialogue.
Czy bloki VTT zachowują kolejność w pliku SSA?
Tak, po drodze są sortowane po czasie rozpoczęcia. Jeśli plik VTT miał bloki poza kolejnością, SSA je uporządkuje; to zmiana struktury, nie treści. VTT czyta się po czasie, więc uporządkowanie jest świadome.
Czy mogę przekonwertować SSA z powrotem na VTT?
Tak, i ten kierunek ma własną listę: SSA na VTT gubi stylowanie, pozycjonowanie, karaoke i treść specyficzną dla formatu. Ta lista różni się od powyższej, bo SSA ma pełny model stylów, a VTT tylko podstawowe wyróżnienia w tekście.
Czy wyjściowy SSA zachowuje kodowanie pliku VTT?
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. VTT bywa w UTF-8 z BOM-em; SSA z tej strony zawsze wychodzi bez niego.