Konwerter napisów SRT na VTT
Albo wklej tekst napisów
Co zmienia ta konwersja
W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.
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.
SRT i WebVTT niosą te same napisy w innym opakowaniu, a ta strona przenosi plik z jednego do drugiego. Oś czasu, tekst bloków, podziały wierszy i formatowanie wewnątrz tekstu przechodzą bez zmian; zmienia się składnia wokół nich. Każdy znacznik SRT w postaci 00:00:01,000 staje się 00:00:01.000, bo WebVTT pisze kropkę tam, gdzie SRT pisze przecinek, a plik dostaje linię nagłówka WEBVTT, której odtwarzacze wymagają na początku.
Numery bloków zostają. WebVTT pozwala na opcjonalny identyfikator przed blokiem i żaden odtwarzacz go nie potrzebuje, ale zachowanie numerów z pliku SRT pozwala czytać obie wersje obok siebie i znaleźć ten sam blok w obu.
Zniszczona wejściówka nie jest problemem: BOM, windowsowe końce wierszy, godzinowe pole z jedną cyfrą albo blok z pustym tekstem są czytane bez skargi, a wyjście zawsze dostaje tę samą uporządkowaną strukturę. Wrzuć jeden plik albo cały sezon; kolejka przetwarza je po kolei, możesz ją zatrzymać w połowie, a wyniki wychodzą razem jako jedno ZIP. Nic nie jest wysyłane — cała konwersja działa w Twojej przeglądarce.
Przykłady
Typowy plik SRT przekonwertowany na VTT
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
WEBVTT
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.
Nic tu nie ginie: porównaj obie strony 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
WEBVTT
1
00:00:01.000 --> 00: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.
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
Czy czasy z SRT przetrwają przejście do WebVTT?
Tak, co do milisekundy. SRT-owe 00:00:01,250 i WebVTT-owe 00:00:01.250 to ten sam moment zapisany na dwa sposoby, więc każdy początek i koniec przechodzi bez przesunięcia; zmienia się tylko znak między sekundami a milisekundami. SRT liczy czas do milisekundy, VTT też, więc żadna strona nie zaokrągla.
Czy numery bloków z SRT zostają w pliku VTT?
Tak, w tych samych miejscach. WebVTT traktuje numer przed blokiem jako identyfikator, więc 1, 2, 3 z pliku SRT pojawiają się jako 1, 2, 3 w wyjściu. Są kosmetyczne, ale ustawiają oba pliki w jednej linii, gdy je porównujesz; VTT dopuszcza też identyfikatory tekstowe, których SRT nie zna.
Co dzieje się z kursywą, pogrubieniem i innymi tagami z SRT w VTT?
Przechodzą bez zmian. SRT i WebVTT oba zapisują formatowanie w nawiasach kątowych, więc fragment kursywy w wejściu jest fragmentem kursywy w wyjściu. Różnica jest poza tekstem: VTT ma nagłówek, komentarze i ustawienia bloku, a SRT żadnej z tych warstw nie ma — dlatego ten kierunek niczego nie gubi.
Dlaczego wyjście zaczyna się od słowa WEBVTT?
Bo to pierwsza linia formatu. Plik, który pod każdym innym względem wygląda jak WebVTT, ale nie zaczyna się od WEBVTT, jest odrzucany przez odtwarzacze — to najczęstszy powód, dla którego ręcznie edytowany .vtt się nie ładuje. Linia jest dodawana za Ciebie, a SRT jej nie potrzebuje i nigdy nie ma.
Czy plik SRT jest gdzieś wysyłany przy konwersji na VTT?
Nie. Plik jest czytany i zapisywany w karcie przeglądarki, więc przez sieć przechodzi tylko sama strona. Nic z napisów — tekst, czasy ani tagi — nie trafia do żądania, a po wczytaniu strony konwersja działa dalej z wyłączoną siecią. VTT zapisuje ten sam model bloku, więc nie ma tu drugiego serwera ani pośrednika.