Przejdź do treści
SubtitleMatrix

Konwerter napisów VTT na SRT

Albo wklej tekst napisów

Co zmienia ta konwersja

2 rzeczy zostają pominięte albo wymagają decyzji

  • Formatowanie

    całe formatowanie (pogrubienie, kursywa, kolor, obrys, cień)

  • 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 WebVTT do SRT. Wrzuć plik albo wklej tekst, a dostaniesz wersję SRT. Konwersja działa w całości w Twojej przeglądarce: nic nie jest wysyłane, konto nie jest potrzebne, a po wczytaniu strony działa ona dalej z wyłączoną siecią.

Oba formaty trzymają te same napisy, więc tekst, podziały wierszy i czasy przechodzą co do milisekundy. Zmienia się składnia: każdy znacznik VTT w postaci 00:00:01.000 staje się 00:00:01,000, bo SRT pisze przecinek tam, gdzie WebVTT pisze kropkę, a linia nagłówka WEBVTT znika, bo pliki SRT nagłówka nie mają.

Co nie przechodzi, to wszystko, co WebVTT trzyma poza blokami. Linia nagłówka może nieść komentarz, plik może zawierać bloki NOTE, STYLE i REGION, a blok STYLE bywa regułami układu całego dokumentu. Po znaczniku czasu mogą też stać ustawienia, takie jak align:start czy position:10%. SRT nie ma na to miejsca, więc warstwy są odrzucane, a identyfikatory bloków stają się zwykłymi kolejnymi numerami, bo licznik SRT musi być liczbą. Raport powyżej wymienia straty i po wczytaniu pliku mówi, ile ich w nim było.

Zniszczona wejściówka nie jest problemem: brak nagłówka, windowsowe końce wierszy, zbłąkana linia przed znacznikiem czasu albo BOM są czytane bez skargi.

Przykłady

Typowy plik VTT przekonwertowany na SRT

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

1
00:00:01,000 --> 00:00:04,000
Hello there.

2
00:00:04,500 --> 00:00:08,000
Second line with <i>italics</i>.

W tym wyjściu giną: stylowanie globalne 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

1
00:00:01,000 --> 00:00:02,000
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

Czy czasy z WebVTT zmieniają się przy przejściu na SRT?

Nie. WebVTT-owe 00:00:01.250 i SRT-owe 00:00:01,250 to ten sam moment zapisany na dwa sposoby, więc każdy początek i koniec przechodzi co do milisekundy; zmienia się tylko znak między sekundami i milisekundami. VTT dopuszcza też znacznik czasu bez godzin, SRT zawsze wymaga godzin.

Co dzieje się z nagłówkiem WEBVTT oraz blokami NOTE, STYLE i REGION?

Są odrzucane. SRT nie ma linii nagłówka ani składni bloków, więc nie ma ich gdzie zapisać. Najbardziej boli STYLE, który często trzyma reguły układu całego dokumentu: jeśli odtwarzacz na nim polegał, to stylowanie trzeba przenieść gdzie indziej. SRT nie ma tabeli stylów, którą można by wypełnić.

Co dzieje się z ustawieniami align:start i position:10% przy przejściu VTT na SRT?

Też są odrzucane. SRT nie potrafi umieścić bloku nigdzie na ekranie. Jeśli pozycja ma znaczenie w wyjściu, wybierz ASS: tam pozycjonowanie żyje w kodach przesłony, takich jak \an7 i \pos, i podróżuje razem z tekstem. VTT trzyma je w ustawieniach bloku, SRT nie ma żadnego z tych miejsc.

Czy identyfikatory bloków z VTT przetrwają do SRT?

Nie. WebVTT pozwala na dowolne identyfikatory, takie jak intro albo sign-1, przed blokiem, i ten konwerter je czyta, ale licznik SRT jest z konwencji liczbą, więc wyjście jest przenumerowane 1, 2, 3. Ścisłe parsery SRT odrzucają plik z nieliczbowym licznikiem; VTT takiego ograniczenia nie ma.

Czy mogę użyć tej strony do poufnego pliku WebVTT?

Plik nigdy nie opuszcza Twojego komputera. Parsowanie i zapis odbywają się w przeglądarce, żadne żądanie nie niesie napisów, a strona działa też z wyłączoną siecią po wczytaniu. SRT w tym kierunku zachowuje tekst i czasy, ale traci warstwy dokumentu, które VTT trzyma poza blokami.

Powiązane narzędzia