Dwa formaty, które wyglądają prawie tak samo
SRT i WebVTT przenoszą te same informacje: listę kwestii, z których każda ma czas początku, czas końca i jeden lub więcej wierszy tekstu. Różnice są niewielkie, ale ścisłe, i to przez nie odtwarzacze odrzucają pliki.
SRT (SubRip) wywodzi się z windowsowego programu do zgrywania płyt z około 2000 roku i stał się standardem de facto, bo to zwykły tekst, który każdy może edytować. Każda kwestia zaczyna się od kolejnego numeru, w tajmingach przed milisekundami stoi przecinek, a plik nie ma nagłówka:
100:01:02,500 --> 00:01:05,000Where were you last night?
WebVTT zaprojektowano dla elementu HTML5 <track>. Plik musi zaczynać się od WEBVTT, w tajmingach używa się kropki (00:01:02.500), numery kwestii są opcjonalne, a kwestie mogą zawierać ustawienia pozycji, wyrównania i wiersza oraz bloki stylów. Przeglądarki wczytują w elemencie <track> wyłącznie VTT; plik SRT w tym miejscu po prostu nic nie wyświetli.
Gdzie oczekiwany jest który format:
- SRT: odtwarzacze na komputery, edytory wideo, większość formularzy wysyłania na platformy wideo, odtwarzacze multimedialne w telewizorach czytające pliki z pendrive'a.
- VTT: napisy na własnej stronie internetowej, odtwarzacze HTML5 i wiele platform z kursami online.
- Zwykły tekst: czytanie, cytowanie lub edytowanie słów bez tajmingów.
Co konwersja zachowuje, a co pomija
Wklejasz napisy do pola, a wynik aktualizuje się w trakcie pisania. Parser dzieli dane wejściowe na bloki w miejscach pustych wierszy, w każdym bloku znajduje wiersz z -->, odczytuje oba znaczniki czasu i traktuje wszystko po tym wierszu jako tekst kwestii. Numery kwestii dla SRT są tworzone od zera, więc plik z lukami lub zduplikowanymi numerami wychodzi ponumerowany kolejno 1, 2, 3.
Kilka szczegółów:
- Obsługiwane są windowsowe zakończenia wierszy i znacznik kolejności bajtów (BOM) na początku pliku.
- Bloki bez wiersza z tajmingiem, takie jak bloki VTT
NOTEiSTYLE, są pomijane. - Ustawienia kwestii VTT zapisane po czasie końca (
align:start,position:10%) nie są przenoszone. - Znaczniki czasu VTT bez części z godzinami (
00:01.500) również są odczytywane. - Tekst kwestii jest kopiowany bez zmian, razem z podziałami wierszy.
<i>,<b>i<u>działają w obu formatach i są zachowywane; tagi koloru<font>z SRT są usuwane przy konwersji do VTT, bo odtwarzacze VTT pokazałyby je jako tekst. - Wynik w zwykłym tekście umieszcza każdą kwestię w jednym wierszu, łącząc kwestie wielowierszowe spacją i usuwając wszystkie tagi.
Licznik obok opcji pokazuje, ile kwestii rozpoznano. Jeśli jest niższy, niż się spodziewasz, przyjrzyj się brakującym blokom: zwykle przyczyną jest źle sformatowany wiersz z tajmingiem.
Naprawa napisów, które rozjeżdżają się z obrazem
Pole „Przesuń tajmingi” przesuwa każdą kwestię o tę samą liczbę sekund, z krokiem nawet 0,1. Wartość dodatnia opóźnia napisy; ujemna sprawia, że pojawiają się wcześniej. Kwestie, które przesunęłyby się przed zero, są zatrzymywane na 00:00:00.
Niezawodny sposób na znalezienie właściwego przesunięcia:
- Odtwórz wideo i zanotuj czas, w którym pada charakterystyczna kwestia, np. 00:12:40.
- Znajdź tę kwestię w pliku napisów, np. z czasem 00:12:43.
- Napisy spóźniają się o 3 sekundy, więc wpisz -3.
- Sprawdź drugą kwestię blisko końca wideo.
Jeśli przesunięcie na końcu różni się od przesunięcia na początku, problemem nie jest opóźnienie, lecz dryf. Zdarza się to zwykle, gdy napisy przygotowane do wersji 23,976 kl./s są odtwarzane z wersją 25 kl./s: różnica rośnie w trakcie filmu o około 4%, czyli mniej więcej o 4 minuty na 100 minut. Stałe przesunięcie nie skoryguje dryfu; potrzebne są napisy przygotowane do dokładnie tej wersji wideo.
Praktyczne wskazówki
- Aby przekonwertować plik, otwórz go w dowolnym edytorze tekstu, zaznacz wszystko, skopiuj i wklej. Przycisk pobierania zapisuje wynik jako
subtitles.srt,subtitles.vttlubsubtitles.txt; zmień nazwę na zgodną z plikiem wideo, jeśli Twój odtwarzacz wczytuje napisy automatycznie. - Aby lokalny odtwarzacz sam wczytał napisy, nazwy zwykle muszą się zgadzać:
holiday.mp4iholiday.srtw tym samym folderze. - Jeśli litery z akcentami lub cyrylica wyglądają na zniekształcone po otwarciu starego pliku SRT, został on zapisany w przestarzałym kodowaniu. Przed skopiowaniem otwórz go ponownie w edytorze z właściwym kodowaniem, a przekonwertowany plik zapisz w UTF-8.
- Nie masz jeszcze napisów? Wygeneruj je z dźwięku przez transkrypcję albo wypal je bezpośrednio w obrazie narzędziem Dodaj napisy do wideo.