Przejdź do treści
SubtitleMatrix

Format napisów SRT

Co potrafi wyrazić ten format

Formatowanie tekstu
Tylko zwykły tekst
Pozycja na ekranie
Nie
Czasy karaoke
Nie
Podziały wierszy w bloku
Tak
Oś czasu
Czas początku i końca dla każdego bloku
Dokładność czasów
1 ms
Czasy zapisane jako numery klatek
Nie
Tekst od prawej do lewej
Tak

Przykłady

Typowy plik SRT i to, co z niego odczytujemy

Plik

1
00:00:01,000 --> 00:00:03,500
Hello there.

2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.

3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.

Co zawiera

3 cues, 4 lines of text

  00:00:01,000 → 00:00:03,500
    Hello there.
  00:00:03,500 → 00:00:06,000
    Whispering now.   [italic ×1]
    And a second line.
  00:00:06,000 → 00:00:09,250
    Bold statement.   [bold ×1]

Outside the cues:
  nothing — SRT stores cues and nothing else

Prawa strona to nie przekonwertowany plik, lecz to, co ten serwis odczytuje z lewej — i od czego zaczyna się każda konwersja tego pliku.

Zniszczony plik SRT i to, co mimo to z niego odczytujemy

Plik

# exported by some tool

5
00:00:10,000 --> 00:00:12,000
Second in the file, first in time.

2
00:00:02,000 --> 00:00:05,000
First in time, second in the file.

00:00:06,000 --> 00:00:09,500
No index line at all.

# keep this comment
3
00:00:12,000 --> 00:00:14,500 X1:100 X2:200 Y1:300 Y2:400
Positioned cue.

4
00:00:20,000 --> 00:00:19,000
Ends before it starts.

6
00:00:28,000 --> 00:00:33,000
Long one.

7
00:00:31,000 --> 00:00:32,000
Inside the long one.

Co zawiera

7 cues, 7 lines of text

  00:00:02,000 → 00:00:05,000
    First in time, second in the file.
  00:00:06,000 → 00:00:09,500
    No index line at all.
  00:00:10,000 → 00:00:12,000
    Second in the file, first in time.
  00:00:12,000 → 00:00:14,500
    Positioned cue.
  00:00:20,000 → 00:00:20,001
    Ends before it starts.
  00:00:28,000 → 00:00:33,000
    Long one.
  00:00:31,000 → 00:00:32,000
    Inside the long one.

Outside the cues:
  nothing — SRT stores cues and nothing else
  except 1 cue that had a comment line above it — that line stays attached to its cue

Reported while reading — repaired or skipped, never silently:
  1 × blocks with no readable timecode (they were skipped)
  1 × cues using SRT's non-standard X1/Y1 screen coordinate extensions
  1 × cues whose end time was not after their start time (they were given a 1ms duration)

Prawdziwe pliki przychodzą z BOM-em, windowsowymi końcami wierszy, zbłąkaną linią przed znacznikiem czasu albo znacznikiem, którego nie da się odczytać. Nic nie rzuca wyjątku: czego nie da się zrozumieć, trafia do raportu zamiast zniknąć po cichu.

Konwertuj SubRip (SRT) na inny format

Każda z nich działa w całości w Twojej przeglądarce. Etykiety mówią, ile kosztuje dany kierunek, zanim go otworzysz.

SRT → CSV: nic nie ginie w tym kierunku, tekst i czasy zostają.

W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.

SRT → JSON: bez strat — tekst, czasy i kolejność bloków przechodzą w całości.

W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.

SRT → SBV: nic nie ginie, tekst i czasy wchodzą bez zmian.

W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.

SRT → SMI: bez strat, tekst i czasy przechodzą bez zmian.

W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.

SRT → TTML: nic nie ginie w tym kierunku — dostajesz kompletny TTML.

W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.

SRT → VTT: nic nie ginie, tekst i czasy zostają dokładnie takie same.

W tym kierunku nic nie ginie — każda cecha formatu źródłowego ma gdzie trafić w formacie docelowym.

Konwersja do tego formatu

SubRip (SRT) to jeden z formatów napisów obsługiwanych przez ten serwis, a ta strona jest jego punktem odniesienia: co potrafi zapisać, czego nie potrafi i gdzie przekonwertować go dalej.

Tabela powyżej mówi wszystko — nie ma żadnej ukrytej listy funkcji. Gdy wiersz mówi „nie”, dokładnie to tracisz, konwertując do SRT, i każda podlinkowana strona konwersji mówi o tym, zanim otworzysz plik.

Każda z tych konwersji działa w Twojej przeglądarce. Nic nie jest wysyłane i konto nie jest potrzebne — to ma znaczenie przy materiale objętym NDA, dokumentacją pacjenta albo embargiem antenowym.

Częste pytania

Czym jest plik SRT?

.srt to format, który czyta prawie wszystko: VLC, mpv, większość firmware\u2019u telewizorów, YouTube przy wgrywaniu napisów i edytory dołączane do nich. Blok to numer, linia ze znacznikiem czasu i jedna lub dwie linie tekstu. VTT dodaje nagłówek i ustawienia bloku, ale sam model bloku jest ten sam.

Czy SRT przechowuje stylowanie?

Nie — przechowuje bloki, a blok to tekst z dwoma czasami. W plikach SRT z sieci często siedzą <b> i <i> i większość odtwarzaczy je respektuje, ale sam plik nie deklaruje czcionki, koloru ani pozycji. ASS robi to wszystko w tabeli stylów i kodach przesłony.

Czy każdy blok SRT ma początek i koniec?

Tak, a moment w pliku SRT czytamy jako 00:00:04,126. To najdrobniejsza jednostka, jaką SRT zapisuje — milisekunda — i liczba jest dokładna, więc blok może być krótki, długi albo nachodzić na następny, bez ukrytych założeń. VTT zapisuje ten sam moment jako 00:00:04.126, z kropką.

Do których formatów przekonwertuję SRT bez strat?

Do VTT, SBV, SMI, TTML, JSON i CSV — wszystko, co SRT wyraża, one też potrafią. Tak wynika z tabeli powyżej: wiersz z „tak” po obu stronach oznacza cechę, która przetrwa. Każdy inny kierunek coś gubi, a każda z tych stron wymienia własną listę — LRC gubi końce bloków, a MICRODVD wymaga podania fps.

Czy plik SRT otworzę w edytorze tekstu?

Tak. Plik .srt to numer, linia ze znacznikiem czasu i tekst, powtarzane w kółko — a ręcznie najłatwiej pomylić interpunkcję czasu: 00:00:01,250, z przecinkiem. VTT w tym samym miejscu ma kropkę, więc sama podmiana przecinka na kropkę, bez dodania nagłówka WEBVTT, nie zrobi poprawnego pliku VTT.