Przejdź do treści
SubtitleMatrix

Konwerter napisów VTT na LRC

Albo wklej tekst napisów

Co zmienia ta konwersja

4 rzeczy zostają pominięte albo wymagają decyzji

  • Czasy

    czasy końca bloków (format docelowy zapisuje tylko, kiedy blok się zaczyna)

  • Formatowanie

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

  • 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 LRC. Wrzuć plik albo wklej tekst, a dostaniesz wersję LRC. 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: czas końca, stylowanie, precyzja i treść specyficzna dla VTT nie mają gdzie trafić w LRC. 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. LRC zapisuje czas w setnych sekundy, a VTT w milisekundach, więc każdy znacznik jest zaokrąglany.

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 LRC

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

[00:01.00]Hello there.
[00:04.50]Second line with italics.

W tym wyjściu giną: czasy końca, stylowanie, precyzja i warstwy dokumentu VTT. Zostają słowa z czasem początku.

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

[00:01.00]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

Co dzieje się z czasem końca bloku VTT w LRC?

LRC zapisuje tylko moment rozpoczęcia linii — odtwarzacz tekstów trzyma ją do następnej, więc koniec byłby zbędny. Każdy koniec jest odrzucany, a każdy początek VTT zostaje bez zmian. VTT ma oba czasy, LRC tylko początek.

Co dzieje się z pogrubieniem, kursywą i kolorem z VTT w LRC?

LRC nie przechowuje żadnego stylowania, więc wszystko to przepada: <b> albo <i> w tekście bloku, reguła w bloku STYLE — nic nie ma gdzie trafić, a każda linia jest zapisana jako czysty tekst. Same słowa zostają nietknięte. VTT przynajmniej trzyma wyróżnienia w tekście, LRC nie ma nawet tego.

Dlaczego znaczniki czasu zmieniają się z VTT na LRC?

LRC zapisuje czas jako [00:04.12], 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 LRC?

Są odrzucane. Plik WebVTT może nieść nagłówek, komentarze, blok stylów, definicje regionów i ustawienia bloku, a LRC nie ma na nie miejsca — przechowuje bloki, nie dokument. Same bloki, tekst i czasy przechodzą w całości, o ile mieszczą się w modelu LRC. VTT ma warstwy dokumentu, LRC tylko linie z czasem.

Jak wygląda wyjście, gdy VTT staje się LRC?

Jak LRC: bez numerów bloków, każda linia niesie własny znacznik w nawiasach kwadratowych. Każdy blok VTT staje się jednym blokiem LRC w tej samej kolejności, z tym samym tekstem. VTT zapisuje nagłówek i ewentualne ustawienia; LRC ich nie zna.

Jak blok VTT z dwiema liniami wychodzi w LRC?

Jako dwie linie ze znacznikiem tego samego czasu — tak LRC mówi „te dwie należą do siebie”. Parowanie zostaje: dwie linie VTT nadal należą do jednego bloku. W VTT były to dwie linie w jednym bloku; w LRC to dwie osobne linie z identycznym czasem.

Czy bloki VTT zachowują kolejność w pliku LRC?

Tak, po drodze są sortowane po czasie rozpoczęcia. Jeśli plik VTT miał bloki poza kolejnością, LRC je uporządkuje; to zmiana struktury, nie treści. VTT czyta się po czasie, więc uporządkowanie jest świadome.

Czy mogę przekonwertować LRC z powrotem na VTT?

Tak, i ten kierunek ma własną listę: LRC na VTT gubi brakujące czasy końca, więc koniec każdego bloku jest dopisywany, a nie odtwarzany. Ta lista różni się od powyższej, bo VTT ma oba czasy, a LRC tylko początek.

Czy wyjściowy LRC 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; LRC z tej strony zawsze wychodzi bez niego.

Powiązane narzędzia