Przejdź do treści
SubtitleMatrix

Konwerter napisów VTT na CSV

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 VTT do CSV. Wrzuć plik albo wklej tekst, a dostaniesz wersję CSV. 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: stylowanie globalne i treść specyficzna dla VTT nie mają gdzie trafić w CSV. 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. Tagi wyróżnień w tekście zostają, bo CSV przechowuje tekst bloku w całości.

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 CSV

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

start,end,text
00:00:01.000,00:00:04.000,Hello there.
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. Tagi w tekście 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

start,end,text
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 pogrubienie i kursywa przetrwają z VTT do CSV?

Wyróżnienia tak, tabela stylów nie. Formatowanie należące do fragmentu tekstu — pogrubienie, kursywa, podkreślenie, kolor — jest zapisywane w CSV jako tagi (<i>, <b>, <u>, <font color="…">). Ginie wszystko, co VTT mówił globalnie: czcionka, rozmiar, obwódka, cień i marginesy, a także blok STYLE.

Co dzieje się z blokami NOTE, STYLE i REGION z VTT w CSV?

Są odrzucane. Plik WebVTT może nieść nagłówek, komentarze, blok stylów, definicje regionów i ustawienia bloku, a CSV nie ma na nie miejsca — przechowuje bloki, nie dokument. Same bloki, tekst i czasy przechodzą w całości. VTT trzyma warstwy dokumentu, CSV tylko trzy kolumny.

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

Jak CSV: wiersz nagłówka start,end,text, a potem jeden wiersz na blok. Każdy blok VTT staje się jednym wierszem CSV w tej samej kolejności, z tym samym tekstem. VTT zapisuje czas z kropką, CSV robi to samo, więc w tej kolumnie nie ma żadnej zmiany.

Czy czasy VTT są dokładne w pliku CSV?

Tak, co do milisekundy — to najdrobniejsza jednostka obu formatów. Oba zapisują moment tak samo, 00:00:04.126, więc znaczniki czasu wychodzą znak w znak takie, jakie weszły. VTT ma dodatkowo ustawienia bloku po znaczniku czasu; CSV ich nie zna.

Jak blok VTT z dwiema liniami wychodzi w CSV?

Jako dwie linie w jednej komórce text, ujętej w cudzysłów tak, jak wymaga CSV. Parowanie zostaje: dwie linie VTT nadal należą do jednego bloku. VTT trzyma je jako dwie linie w tekście bloku, CSV jako podział wiersza w polu.

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

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

Czy mogę przekonwertować CSV z powrotem na VTT?

Tak, i ten kierunek nic nie kosztuje: CSV trzyma mniej niż VTT potrafi, więc nic więcej nie ginie. To, co zginęło w tę stronę, zostaje jednak stracone — stylowania i treści specyficznej dla VTT nie da się odbudować z CSV, bo nic w nim nie zapisuje, czym były.

Czy wyjściowy CSV 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 zapisany w UTF-8 z BOM-em; CSV z tej strony zawsze wychodzi bez niego.

Powiązane narzędzia