Konwerter napisów VTT na SMI
Albo wklej tekst napisów
Co zmienia ta konwersja
1 rzecz zostaje pominięta albo wymaga decyzji
- 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 SMI. Wrzuć plik albo wklej tekst, a dostaniesz wersję SMI. 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: treść specyficzna dla VTT nie ma gdzie trafić w SMI. Lista powyżej bierze się z tego, co oba formaty potrafią wyrazić, a nie z Twojego pliku. Warto wiedzieć, że ustawienia pozycji z VTT, takie jak align:start i position:10%, również nie trafiają do wyjścia — lista strat pokazuje je jako treść specyficzną dla formatu, ale w praktyce oznacza to utratę położenia bloku. SMI nie dostaje żadnego atrybutu położenia.
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 SMI
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
<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>
<SYNC Start=4500>
<P>Second line with <i>italics</i>.
<SYNC Start=8000>
<P>
</BODY>
</SAMI>
W tym wyjściu giną: warstwy dokumentu VTT oraz pozycjonowanie z ustawień bloku. Tagi i czasy zostają.
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
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>No header, two lines before the timecode.
<SYNC Start=2000>
<P>
</BODY>
</SAMI>
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
Co dzieje się z blokami NOTE, STYLE i REGION z VTT w SMI?
Są odrzucane. WebVTT może nieść nagłówek, komentarze, blok stylów, definicje regionów i ustawienia bloku, a SMI nie ma na nie miejsca — przechowuje bloki, nie dokument. Same bloki, tekst i czasy przechodzą w całości. VTT trzyma ustawienia przy znaczniku czasu, SMI tylko znacznik <SYNC>.
Jak wygląda wyjście, gdy VTT staje się SMI?
Jak SMI: bez numerów bloków i bez linii znacznika czasu. Każdy blok to <SYNC Start=…> z tekstem w <P> pod nim, a zaraz po nim <P> , który czyści ekran. Każdy blok VTT staje się jednym blokiem SMI w tej samej kolejności; VTT zapisuje czas jako 00:00:04.126, SMI jako Start=4126.
Czy czasy VTT są dokładne w pliku SMI?
Tak, co do milisekundy. VTT zapisuje moment jako 00:00:04.126, a SMI ten sam moment jako Start=4126; nic nie jest zaokrąglane ani przesuwane. Blok widoczny przez 2,9 sekundy nadal tyle trwa, a SMI liczy milisekundy od początku pliku.
Co dzieje się z pozycjonowaniem VTT w SMI?
Ustawienia takie jak align:start i position:10% nie mają odpowiednika w wyjściu SMI z tej strony, więc pozycja bloku przepada — nawet jeśli lista strat pokazuje tylko treść specyficzną dla formatu. VTT trzyma je w linii czasu, SMI nie dostaje żadnego atrybutu położenia. Jeśli pozycja jest krytyczna, wybierz format, który ją zapisuje, na przykład ASS.
Jak blok VTT z dwiema liniami wychodzi w SMI?
Jako dwie linie z <br> między nimi — tak SAMI zapisuje twardy podział wiersza. Parowanie zostaje: dwie linie VTT nadal należą do jednego bloku. W VTT były dwiema liniami w jednym bloku, w SMI są dwiema liniami pod jednym <SYNC>.
Czy bloki VTT zachowują kolejność w pliku SMI?
Tak, po drodze są sortowane po czasie rozpoczęcia. Jeśli plik VTT miał bloki poza kolejnością, SMI je uporządkuje; to zmiana struktury, nie treści. VTT czyta się po czasie, więc uporządkowanie jest świadome.
Czy wyjściowy SMI 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; SMI z tej strony zawsze wychodzi bez niego.