Tri datoteke podnapisov ena ob drugi, isto besedilo, različna sintaksa.
Tehnika3 min čitanja

SRT, VTT, .sbv: kateri format podnapisov zahteva YouTube in zakaj

Trije standardi, dva načina zapisa časa, ena platforma, ki sprejema vse. Kratek referenčni vodnik in kdaj kateri uporabljati.

Kratek odgovor. Za nalaganje na YouTube uporabite SRT. Za lasten spletni player uporabite VTT. Za prenos iz YouTube Studia boste dobili .sbv, nato pretvorite v SRT.

YouTube sprejema šest formatov. Trije so v široki uporabi: SRT, VTT in .sbv. Razlike so sintaktične. Besedilo, ki ga gledalec vidi, je enako. A ko pišete lasten pipeline ali debug-irate čuden rendering, začnejo majhne podrobnosti boleti.

SRT (SubRip)

Najstarejši in najbolj razširjen. Naredil ga je program SubRip za rip podnapisov z DVD-jev.

1
00:00:01,200 --> 00:00:04,500
Dober dan in dobrodošli v podcastu.

2
00:00:04,500 --> 00:00:07,800
Danes se pogovarjamo o eni temi.

Sintaksa:

  • Numerični indeks od 1.
  • Čas: HH:MM:SS,mmm. Milisekunde ločene z vejico, ne s piko.
  • Puščica --> med začetkom in koncem.
  • Besedilo v eni ali več vrsticah.
  • Prazna vrstica med segmenti.

Kaj podpira:

  • Plain text, osnovni HTML tagi <b>, <i>, <u>.
  • Barve prek <font color="..."> (zastarel slog, a deluje).
  • UTF-8 encoding (obvezen za slovenske šumnike. Brez njega č postane ?).

Česa NE podpira:

  • Pozicije na zaslonu.
  • CSS stiliranja.
  • Več govorcev v istem segmentu z različnim oblikovanjem.

YouTube sprejema. Večina playerjev (VLC, mpv, spletni playerji) sprejema. Titlomat eksport.

VTT (WebVTT)

Razvil ga je W3C kot spletni standard. Predvideno je bilo, da nadomesti SRT na spletu, a v praksi soobstajata.

WEBVTT

00:00:01.200 --> 00:00:04.500
Dober dan in dobrodošli v podcastu.

00:00:04.500 --> 00:00:07.800
Danes se pogovarjamo o eni temi.

Razlike od SRT-ja:

  • Obvezna WEBVTT glava na vrhu.
  • Čas: HH:MM:SS.mmm. Milisekunde s piko, ne z vejico.
  • Indeks segmentov je opcijski (in se običajno izpusti).
  • Podpira NOTE komentarje, ki se ne renderirajo.
  • CSS-style pozicioniranje in razredi (align:left, line:80%).

Kdaj VTT raje:

  • <track> element v HTML5 video tagu sprejme samo VTT.
  • Streaming protokoli (HLS, DASH) uporabljajo VTT kot standard.
  • Besedilo, ki ga je treba pozicionirati izven spodnjega središča (npr. dialog zgoraj-levo).

YouTube sprejema. Naš pipeline eksportira na zahtevo.

.sbv (YouTube SubViewer)

YouTubov interni format. Najpreprostejša sintaksa od treh:

00:00:01.200,00:00:04.500
Dober dan in dobrodošli v podcastu.

00:00:04.500,00:00:07.800
Danes se pogovarjamo o eni temi.

Razlike:

  • Čas začetka in konca na isti vrstici, ločen z vejico.
  • Brez indeksa, brez header-ja.
  • Brez podpore za oblikovanje, pozicioniranje ali tage.

Kdaj ima smisel: prenos iz YouTube Studia (privzeti eksport YouTuba je .sbv), hitre tekstovne intervencije. Večina drugih playerjev ga ne bere.

Praktične pasti

Slovenski šumniki

Encoding mora biti UTF-8 brez BOM-a. Excel-eksportirane CSV datoteke pogosto preklopijo v Windows-1250 ali UTF-8 z BOM-om. YouTube takrat renderira č kot Ä?. Preverite v urejevalniku, ki prikazuje encoding (VS Code, spodnji desni kot).

Pike in vejice v času

SRT uporablja vejico za milisekunde, VTT piko. Mnogi parserji so tolerantni, a strožji pipelini padejo na napačnem ločilu. Če gradite lasten SRT in se ne renderira, preverite, ali je vejica.

Prekrivajoči segmenti

Čas začetka segmenta N+1 ne sme biti manjši od časa konca segmenta N. Sicer YouTube prikaže oba vzporedno (redko želen učinek) ali zavrne upload. Naš pipeline ima sanity check; ročni eksport ga redko ima.

Maksimalna dolžina segmenta

Industrijska norma: ≤ 42 znakov na vrstico, ≤ 2 vrstici na segment. YouTube ne zavrne daljših, a rendering postane grd na mobilnem. Naš writer trenutno wrappa na 40 znakov pred dodajanjem SPEAKER_NN: prefiksa, kar včasih potisne prelom čez 42. Spremljam v backlog-u.

Kaj izbrati v praksi

  • Upload na YouTube: SRT. Najvarnejši default.
  • Lasten spletni player: VTT (zaradi <track> taga).
  • Prenos z YouTuba za editing: .sbv (lažje parsiranje), a pretvoriti v SRT pred naslednjo fazo.

Titlomat eksportira SRT privzeto in VTT na zahtevo. Pretvorbe vam ni treba početi. Če gledalec klikne CC, vidi podnapis brez razlike v formatu.

Imate lasten pipeline?

Če pišete pipeline, ki ustvarja SRT iz zvoka, je custom dictionary post-processor skoraj vedno zmaga. Še posebej v slovenščini. Podrobno, kako napisati slovar. Ali povežite Titlomat in preskočite celotno pipeline-engineering vejo. Poskusite brezplačno.