Napisy WebVTT (.vtt)

W3C Standard

Web Video Text Tracks (WebVTT) to oficjalny standard W3C dla napisów, napisów dla niesłyszących i opisów rozdziałów. Jest natywnie zintegrowany z elementem wideo HTML5 (<track>) oraz nowoczesnym strumieniowaniem HTTP na żywo (HLS).

Konwertuj SRT na VTT

Darmowy konwerter z SRT na VTT w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki WebVTT, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki WebVTT, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

57 45 42 56 54 54

REPREZENTACJA ASCII: WEBVTT

Normalizacja: W3C WebVTT Recommendation

Specyfikacja techniczna

Architektura konteneraPlik tekstowy UTF-8 rozpoczynający się od sygnatury „WEBVTT”, po której mogą występować bloki STYLE i NOTE oraz kolejne bloki napisów
KompresjaNieskompresowany tekst; zwykle kompresowany przez Gzip lub Brotli podczas przesyłania przez HTTP
Kolejność bajtów (Endianness)Strumień tekstu UTF-8
Przestrzenie kolorówPełna obsługa modułu kolorów CSS Level 4 w stylach napisów
Kanały i strukturaZnaczniki czasu napisów, poziom pewności rozpoznawania mowy, style CSS i ustawienia położenia na ekranie
Maks. wymiaryNieograniczona liczba kolejnych napisów
PrzezroczystośćPełna obsługa krycia CSS i przezroczystości alfa za pomocą pseudoelementu „::cue”
Streaming i progresywne ładowanieNatywna obsługa strumieniowania w elementach HTML5 <video> oraz manifestach transmisji na żywo HLS/DASH

Techniczna macierz porównawcza: WebVTT a konkurencja

Atrybut technicznyWebVTT (Bieżący)SRTASSSUB
Integracja ze standardem HTML5100% natywny standard (<track>)Wymaga konwersji JSWymaga WebAssemblyWymaga konwersji
Stylizacja CSSPełna natywna stylizacja CSS (::cue)Tylko podstawowe znaczniki HTMLWłasne znaczniki nadpisująceBrak
Transmisja strumieniowa HLS / DASHUniwersalny standard transmisji strumieniowychObsługiwany poprzez multipleksowanieOgraniczona obsługa transmisji strumieniowejBrak
Wymóg nagłówkaDokładny tekst sygnatury „WEBVTT” w pierwszym wierszuBrak wymogu nagłówkaSekcja [Script Info]Brak wymogu nagłówka

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Błąd konsoli przeglądarki: 'Malformed WebVTT file: Missing WEBVTT signature'.

Główna przyczyna: Brak ciągu znaków 'WEBVTT' w linii 1 lub puste linie przed nagłówkiem.

Odzyskiwanie: Dodaj 'WEBVTT\n\n' na samej górze pliku za pomocą konwertera napisów File2File.app.

Analiza bezpieczeństwa i wektory ataku na parser

Analizatory WebVTT w przeglądarkach przetwarzają niezaufane wpisy napisów. Jeśli zostaną one wstawione do drzewa DOM bez oczyszczenia, może dojść do ataku Cross-Site Scripting (XSS).

Znane wektory ataku

  • Wstrzyknięcie XSS przez nieoczyszczoną zawartość HTML wpisu napisów wstawioną do DOM odtwarzacza wideo.
  • Atak typu Server-Side Request Forgery (SSRF) podczas automatycznego generowania miniaturek napisów po stronie serwera.
  • Odmowa usługi wskutek nieprawidłowych selektorów CSS napisów.

Najlepsze praktyki obronne: Korzystaj z natywnego renderowania <track> w przeglądarce i oczyszczaj dane wpisów napisów przed ręcznym wstawieniem ich do DOM.

Pochodzenie historyczne i kamienie milowe

2019W3C oficjalnie podnosi status standardu WebVTT: The Web Video Text Tracks Format do statusu Proposed Recommendation.
2011Zmieniono nazwę z WebSRT na WebVTT, aby ustanowić odrębny standard W3C oddzielony od klasycznego SubRip.
2010WHATWG wprowadza WebVTT w celu rozwiązania problemu natywnych napisów dla znacznika <video> w HTML5.

Główne zalety

  • Natywny standard HTML5: wszystkie przeglądarki obsługują go bezpośrednio przez element <track>, bez zewnętrznych bibliotek.
  • Bogate możliwości stylizacji za pomocą CSS: możesz dostosować kolory, czcionki, tła i pozycje przez natywny pseudoelement CSS „::cue”.
  • Pełna obsługa transmisji na żywo: format jest zintegrowany z manifestami strumieniowania Apple HLS i MPEG-DASH dla napisów telewizyjnych.

Ograniczenia techniczne i wady

  • Ścisły wymóg nagłówka: plik musi zaczynać się od dokładnego tekstu 'WEBVTT' w pierwszej linii, w przeciwnym razie przeglądarki go odrzucą.
  • Separator milisekund w postaci kropki ('00:01:20.500') wymaga konwersji ze starszych plików SRT rozdzielanych przecinkami.
  • Starsze odtwarzacze sprzętowe, które nie działają w przeglądarce (np. tanie odtwarzacze multimedialne podłączane przez USB), często nie obsługują natywnie WebVTT.

Ciekawe informacje techniczne

  • Każdy prawidłowy plik WebVTT musi zaczynać się od dokładnego słowa 'WEBVTT' w pierwszej linii; cokolwiek innego powoduje, że przeglądarki ignorują plik.
  • WebVTT pierwotnie nazywał się 'WebSRT', ponieważ został celowo zaprojektowany tak, aby wyglądać niemal identycznie jak klasyczne napisy SRT.
  • WebVTT może być również używany do rozdziałów wideo i interaktywnych etykiet miniaturek podczas najeżdżania kursorem na paski przewijania wideo.

Często zadawane pytania techniczne

Do czego służy WebVTT?

WebVTT to oficjalny standard internetowy służący do dodawania napisów dialogowych, napisów dla niesłyszących, rozdziałów i opisów do elementów <video> HTML5 na stronach internetowych.

Jak mogę przekonwertować napisy SRT na WebVTT?

Możesz przekonwertować pliki SRT na czyste pliki WebVTT jednym kliknięciem za pomocą File2File.app bezpośrednio w przeglądarce.

Dlaczego napisy WebVTT nie wyświetlają się w przeglądarce?

Upewnij się, że twój plik zaczyna się od 'WEBVTT' w pierwszym wierszu, po którym następuje pusty wiersz, a serwer WWW udostępnia go z nagłówkiem 'Content-Type: text/vtt'.