Napisy WebVTT (.vtt)
W3C StandardWeb 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:
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 54REPREZENTACJA ASCII: WEBVTT
Normalizacja: W3C WebVTT Recommendation
Specyfikacja techniczna
| Architektura kontenera | Plik tekstowy UTF-8 rozpoczynający się od sygnatury „WEBVTT”, po której mogą występować bloki STYLE i NOTE oraz kolejne bloki napisów |
| Kompresja | Nieskompresowany tekst; zwykle kompresowany przez Gzip lub Brotli podczas przesyłania przez HTTP |
| Kolejność bajtów (Endianness) | Strumień tekstu UTF-8 |
| Przestrzenie kolorów | Pełna obsługa modułu kolorów CSS Level 4 w stylach napisów |
| Kanały i struktura | Znaczniki czasu napisów, poziom pewności rozpoznawania mowy, style CSS i ustawienia położenia na ekranie |
| Maks. wymiary | Nieograniczona liczba kolejnych napisów |
| Przezroczystość | Pełna obsługa krycia CSS i przezroczystości alfa za pomocą pseudoelementu „::cue” |
| Streaming i progresywne ładowanie | Natywna obsługa strumieniowania w elementach HTML5 <video> oraz manifestach transmisji na żywo HLS/DASH |
Techniczna macierz porównawcza: WebVTT a konkurencja
| Atrybut techniczny | WebVTT (Bieżący) | SRT | ASS | SUB |
|---|---|---|---|---|
| Integracja ze standardem HTML5 | 100% natywny standard (<track>) | Wymaga konwersji JS | Wymaga WebAssembly | Wymaga konwersji |
| Stylizacja CSS | Pełna natywna stylizacja CSS (::cue) | Tylko podstawowe znaczniki HTML | Własne znaczniki nadpisujące | Brak |
| Transmisja strumieniowa HLS / DASH | Uniwersalny standard transmisji strumieniowych | Obsługiwany poprzez multipleksowanie | Ograniczona obsługa transmisji strumieniowej | Brak |
| Wymóg nagłówka | Dokładny tekst sygnatury „WEBVTT” w pierwszym wierszu | Brak wymogu nagłówka | Sekcja [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
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'.
Powiązane pary konwersji WebVTT
Konwersja plików SubRip Text do formatu WebVTT przekształca zwykłe napisy tekstowe w nowoczesne ścieżki czasowe zgodne z HTML5 dla odtwarzaczy wideo w sieci.
Konwersja plików WebVTT do formatu SubRip Text umożliwia bezproblemowe odtwarzanie napisów wideo HTML5 w starszych stacjonarnych odtwarzaczach i leciwym sprzęcie do edycji.