Naar de hoofdinhoud
SubtitleMatrix

SUB/IDX (VobSub) naar SRT

Media-invoerBitmapondertitels (PGS / VobSub)

De eerste run downloadt de tekstlezer — ongeveer 4 MB plus het taalmodel, door deze site geleverd en daarna door de browser gecachet. Niets wordt geüpload, en het resultaat is machinaal gelezen: lees het proef voordat je erop vertrouwt.

Opties

Een bitmapondertitel is een afbeelding van tekst, dus de woorden moeten er weer uit worden gelezen. Vertel de lezer in welke taal de ondertitels zijn geschreven — de lijst dekt elke taal waarin deze site verschijnt. Russische ondertitels met het Engelse model gelezen komen er als ruis uit, niet als Russisch. Alleen het model dat je kiest wordt gedownload (de andere nooit), dus wisselen kost één download per taal, daarna uit de cache.

VobSub verdeelt één ondertiteltrack over twee bestanden, en beide zijn nodig. Het .sub-bestand bevat de beelden: een keten MPEG-programmastroompakketten, elk met een bitmap die met een run-lengthcode van twee bits is gecomprimeerd. Het .idx-bestand bevat al het andere: het palet van zestien kleuren, de framemaat en één regel per ondertitel met zijn starttijd en de byte-offset in het .sub-bestand waar zijn beeld begint. Alleen de .sub erin slepen betekent dat er geen manier is om te weten hoeveel ondertitels er zijn; alleen de .idx betekent dat er geen beeld is om te lezen. Deze pagina neemt het paar en schrijft een .srt.

Elk pakket wordt via die byte-offset gevonden, dus de index is geen gemak — het is de kaart. Binnen het pakket geven twee headerwoorden de maat en de positie van een controlereeks; die reeks zet het weergavegebied, kiest welke vier paletvermeldingen de pixels gebruiken en wijst naar de gecomprimeerde bitmap. De decoder loopt de run-lengthcode daarna twee keer door, één keer voor de even regels en één keer voor de oneven regels, omdat VobSub de twee velden van een geïnterlinieerd frame apart opslaat. Dat detail is waarom een naïeve decoder een beeld oplevert waarin elke tweede regel ontbreekt.

De tijdstempels komen uit de .idx, de enige plek waar ze in bruikbare vorm bestaan. Een blok eindigt waar het volgende begint; het laatste blok krijgt twee seconden, en het verliesoverzicht legt dat vast. Ondertitels waarvan de beelden geen leesbare tekst opleveren worden weggelaten en geteld, niet als lege regels geschreven.

De tekst zelf komt uit tekstherkenning (OCR), wat betekent dat het een lezing is en geen transcriptie. Hier zijn dvd-ondertitels het lastigst: ze zijn gemaakt in kleine bitmaplettertypen met cursieve tags voor stemmen buiten beeld, en een herkenner weet niet dat een anders hellend woord hetzelfde woord is. Proeflees het bestand. Kies de taal waarin de ondertitels staan — het model wordt per pagina gekozen, één keer gedownload en daarna door de browser gecacht.

Er wordt niets geüpload. Het paar wordt in deze tab geparseerd en herkend; de enige netwerkverzoeken zijn voor de bestanden van de herkenner zelf, die deze site serveert.

Veelgestelde vragen

Waarom heeft deze pagina twee bestanden nodig terwijl elke andere tool hier er één nodig heeft?

Omdat VobSub één track ontwerpt in twee bestanden, niet omdat de tool twee invoer wil. De .sub bevat de bitmaps; de .idx bevat het palet van zestien kleuren, de framemaat en de offset van elk beeld samen met zijn starttijd. Geen van beide kan alleen de vraag beantwoorden hoeveel ondertitels er zijn en wat ze zeggen. Heb je een .sub zonder .idx, dan is dat paar ergens gesplitst en moet de index uit de brondisc worden hersteld voordat OCR mogelijk is.

Waar wijzen de filepos-getallen in het .idx-bestand naar?

Naar een byte-offset in het .sub-bestand, op het begin van een MPEG-programmastroompakket waarvan de stroom-id het als privéstroom markeert — het soort dat dvd-spelers voor ondertitels gebruiken. De offset is geen ondertitelnummer, en op een ongewone disc is hij niet noodzakelijk monotoon met de tijdstempels, en daarom sorteert deze pagina de vermeldingen op hun tijdstempel in plaats van de volgorde van de regels in het bestand te vertrouwen.

Waarom komen sommige regels met de verkeerde letters maar de juiste lengte eruit?

Omdat zowel het palet als de vormen uit het beeld komen, en OCR vormen op een vaste maat herkent. Dvd-ondertitels zijn vaak in een klein, sterk hellend of sterk vet lettertype gemaakt; een woord in cursief — gebruikt voor dialoog buiten beeld en voor songteksten — is het gebruikelijke slachtoffer, want een hellende versie van een letter is voor een mens geen andere letter maar voor een herkenner een andere vorm. Komen de lengtes overeen en de letters niet, dan is proeflezen de oplossing, niet een andere tool.

Blijft de positie van de ondertitel op het scherm bewaard in de SRT?

Nee, en er is nergens om die op te slaan. VobSub bewaart positie als een rechthoek van het weergavegebied in twaalfbitscoördinaten binnen elk pakket, en SRT heeft helemaal geen positionsyntaxis. De pagina gebruikt de rechthoek om te weten waar de inkt zit — wat OCR helpt goed bij te snijden — en laat hem daarna vallen. Heeft je speler gepositioneerde ondertitels nodig, dan is ASS het formaat dat de informatie kan dragen; een SRT met positiemarkeringen is een afspraak die sommige spelers respecteren en andere letterlijk printen.

De tool zegt dat hij de .idx nodig heeft — ik heb alleen een .sub. Kan de index opnieuw worden opgebouwd?

Niet uit de .sub alleen, en niet betrouwbaar uit de beelden. De offsets zijn in principe te vinden door naar privéstroompakketten te scannen, maar de tijdstempels zijn niet te herstellen: die leven in de .idx en nergens anders in het paar. Een index opnieuw opbouwen betekent teruggaan naar de disc of het VOB-bestand waaruit het paar is geëxtraheerd, of de oorspronkelijke .idx gebruiken als die nog naast een andere track staat. Tijden gokken levert een bestand op dat er correct uitziet en tegen de video wegdrijft, wat erger is dan geen bestand.

Wordt het paar bestanden ergens naartoe gestuurd terwijl het wordt gelezen?

Nee. Beide bestanden worden in deze tab in het geheugen gelezen, hier gedecodeerd en hier herkend. De enige download is de tekstherkenner, geserveerd vanaf deze site en daarna door de browser gecacht. Je kunt het netwerkpaneel bekijken terwijl een paar wordt verwerkt: geen enkel verzoek draagt een van beide bestanden. Dit is in het bijzonder voor VobSub belangrijk, omdat deze bestanden meestal van een disc komen die iemand bezit en precies het soort materiaal zijn dat niet aan een conversiedienst moet worden gegeven.

Gerelateerde hulpmiddelen