Jak przesunąć znaczniki czasu w napisach SRT i przekonwertować je na WebVTT (VTT)
Spis treści
1. Problem desynchronizacji napisów w materiałach wideo
Oglądanie materiałów wideo z rozjechanymi napisami – gdy dialog pojawia się pół sekundy za wcześnie lub za późno względem głosu aktora – jest jednym z najbardziej irytujących doświadczeń w odbiorze multimediów. Desynchronizacja powstaje najczęściej w wyniku różnic w klatkażu wideo (np. konwersja między 23.976 fps a 25 fps PAL), usunięcia planszy wstępnej lub opóźnień w strumieniowaniu internetowym.
Zamiast edytować każdy znacznik czasu ręcznie, wystarczy zastosować matematyczny algorytm globalnego przesunięcia czasowego (Time Shifting).
2. Algorytm przesunięcia czasowego (+500 ms)
Narzędzie napisów w GoToolstack wykonuje precyzyjną korektę każdego bloku dialogowego. Jeśli napisy spóźniają się względem dźwięku, odejmujemy odpowiednią wartość; jeśli pojawiają się zbyt wcześnie, dodajemy przesunięcie, na przykład +500 ms (0,500 sekundy do przodu).
Kluczowe reguły algorytmu przesunięcia:
- Ochrona punktu zerowego: Czas początkowy żadnego bloku nie może spaść poniżej
00:00:00,000. Ujemne wartości są automatycznie obcinane do zera. - Zachowanie czasu trwania: Czas ekspozycji napisu na ekranie (różnica między czasem końcowym a początkowym) pozostaje nienaruszony.
- Zero nakładania się (No Overlap): Algorytm weryfikuje, czy przesunięcie nie powoduje kolizji kolejnych bloków dialogowych.
3. Anatomia formatów: SubRip (.SRT) vs. WebVTT (.VTT)
Dla wideo publikowanego w sieci na stronach HTML5 z użyciem tagu <track>, tradycyjny format SubRip (.SRT) nie jest bezpośrednio obsługiwany przez przeglądarki. Wymagany jest standard WebVTT (.VTT).
Główne różnice składniowe:
- Nagłówek pliku: Format WebVTT bezwzględnie wymaga pierwszej linii o treści
WEBVTT. Pliki SRT nie posiadają nagłówka. - Separator dziesiętny: W formacie SubRip milisekundy są oddzielane przecinkiem (np.
00:00:01,000), podczas gdy w WebVTT operatorem jest kropka (np.00:00:01.500). - Formatowanie i style CSS: WebVTT pozwala na definiowanie klas stylów, pozycjonowanie tekstu na ekranie oraz wyróżnienia barwne.
4. Ważne wyjaśnienie dotyczące funkcji narzędzia (Brak silnika ASR)
Podkreślamy z całą stanowczością: narzędzie GoToolstack nie jest automatycznym systemem rozpoznawania mowy (ASR) ani chmurową usługą transkrypcji mowy (Speech-to-Text). Narzędzie służy do precyzyjnej obróbki matematycznej, przesunięcia czasowego, czyszczenia znaczników i konwersji istniejących plików tekstowych napisów w pamięci przeglądarki użytkownika bez obciążania zewnętrznych serwerów.
5. Interfejs Studia Napisów GoToolstack