Gå til hovedindholdet
SubtitleMatrix

Konverter SUP (PGS) til SRT

MedieinputBitmapundertekster (PGS / VobSub)

Den første kørsel downloader tekstlæseren – cirka 4 MB plus sprogmodellen, leveret af dette websted og cachet af browseren bagefter. Intet uploades, og resultatet er maskinlæst: korrekturlæs det, før du stoler på det.

Indstillinger

En bitmap-undertekst er et billede af tekst, så ordene skal læses tilbage ud af det. Fortæl tekstlæseren, hvilket sprog underteksterne er skrevet på – listen dækker alle de sprog, denne side udgives på. Russiske undertekster læst med den engelske model kommer ud som støj, ikke som russisk. Kun den model, du vælger, downloades (de andre aldrig), så at skifte koster én download pr. sprog, cachet bagefter.

En .sup-fil er en PGS-strøm, det billedundertekstformat, Blu-ray-disks bruger. Der er ikke ét eneste tegn i den: hver undertekst er gemt som et bitmap sammen med en palette og det øjeblik, den skal vises, og en afspiller lægger den oven på videoen. At få tekst ud af en sådan fil betyder derfor at læse bogstaverne i hvert billede. Denne side gør det i fanen med en OCR-motor, som stedet selv leverer, og skriver resultatet som en .srt-fil.

Formatet er en sekvens af segmenter, hver med en tretten byte lang header, der bærer et præsentationstidsstempel i 90 kHz-enheder, en type og en længde. Fire typer betyder noget: palettedefinitionen (PDS), som oversætter indeksværdier til fuld RGB gennem YCbCr; objektdefinitionen (ODS), som rummer ét run-length-kodet bitmap; præsentationskompositionen (PCS), som siger, hvilke objekter der sidder hvor i billedet; og det display-set, der stabler dem. En bloks start er tidsstemplet for det display-set, der viser den. En PGS-strøm bærer slet ingen sluttid – en undertekst bliver på skærmen, indtil det næste display-set erstatter den – så slutningen på hver blok her er starten på den næste, hvilket er præcis, hvad en afspiller gør.

Fordi hver blok læses af en maskine, er teksten en aflæsning og ikke en transskription: en serif-skrift i lille størrelse, en usædvanlig skrifttype eller en kraftig kontur kan gøre et tegn til et andet tegn. Korrekturlæs filen, før du stoler på den. Den advarsel er ikke standardtekst – det er det ene sted på dette sted, hvor outputtet ikke er udledt af, hvad filen sagde, og siden siger det frem for at præsentere resultatet som nøjagtigt.

Vælg det sprog, underteksterne faktisk er skrevet på. Listen dækker alle de sprog, denne side udgives på, og hver model læser sit eget skriftsystem. At køre en engelsk model over japanske undertekster giver støj frem for en dårlig oversættelse, fordi genkenderen leder efter former, der ikke er der. Kun den model, du vælger, downloades, og den caches bagefter.

Blokke, hvis billeder slet ikke giver tekst – et fade-billede, en logo, en sort blok – udelades og tælles i tablisten frem for at blive skrevet som tomme linjer. Alt, der var et billede, forbliver et billede i ånden: skrifttype, farve, kontur og placering på skærmen findes ikke i en .srt, og tablisten siger det én gang for hele filen.

Ofte stillede spørgsmål

Hvad er der inde i en .sup-fil, som gør konvertering til SRT til en genkendelsesopgave?

Segmenter, ikke tegn. Hver undertekst i en PGS-strøm er et objekt: et run-length-kodet bitmap af paletteindeks plus en palettedefinition, der gør de indeks til RGB. De eneste tekstlignende værdier i filen er præsentationstidsstemplerne, som er 90 kHz-heltal frem for noget, et menneske læser. At konvertere det til SRT betyder at sætte hvert bitmap på et lærred og genkende bogstaverne, hvilket er grunden til, at resultatet skal korrekturlæses, og til at siden spørger, hvilket sprog underteksterne er på.

Hvorfor slutter den sidste undertekst i outputtet et par sekunder senere, end den burde?

Fordi PGS aldrig siger, hvornår en undertekst slutter. En afspiller viser en komposition, indtil den næste ankommer, eller strømmen ryddes, så den eneste sluttid, der findes i filen, er »starten på den næste«. For den sidste blok findes der ingen næste; siden giver den to sekunder og registrerer det valg i tablisten. Hvis disken faktisk lod sin sidste linje stå i ti sekunder, er den ærlige rettelse en forskydning eller en varighedsændring, ikke et gæt skjult i konverteringen.

Hvilken sprogmodel skal jeg vælge til undertekster med både japanske og engelske linjer?

Den, som størstedelen af dialogen er på. Et PGS-billede kan blande skriftsystemer på en enkelt linje – en japansk sætning med et engelsk låneord skrevet med latinske bogstaver er almindelig – men genkenderen får én model pr. kørsel, og en model trænet på ét skriftsystem læser det andet som volapyk. Skifter filen oprindeligt mellem to skriftsystemer, så kør den to gange, én pr. sprog, og behold de linjer, hver kørsel fik rigtige: outputtet er en almindelig .srt, så at flette de to er en diff, ikke en ny eksport.

Følger underteksternes farver med over i SRT'en?

Nej, og det kan de ikke. En .sup koder farve tre gange: i paletten (som er YCbCr med en alfakanal, pr. blok), i kompositionen (hvor bitmappet sidder i et 1920×1080-billede) og i den kontur og skygge, der er tegnet ind i selve bitmappet. SRT har ingen af de pladser. Siden læser luminansen af hver pixel for at afgøre, hvad der er blæk, og hvad der er baggrund, hvilket er alt, OCR har brug for, og tablisten rapporterer stil én gang for filen frem for at foregive, at farverne overlevede.

Nogle blokke kom ud tomme eller mangler. Hvad skete der med dem?

Et billede, der ikke gav tekst, blev droppet frem for at blive skrevet som en tom undertekst. Det sker med fade-ind- og fade-ud-billeder, med blokke, der kun er en logo eller et symbol, og med meget lille tekst under den størrelse, genkenderen kan opløse. Hver af dem tælles i tablisten, så filen, du får, ikke lydløst er kortere end den, du gav. Er antallet højt, er den sædvanlige årsag den forkerte sprogmodel eller en strøm, hvis bitmaps er usædvanligt små.

Bliver .sup-filen eller dens billeder uploadet nogen steder hen?

Nej. Genkenderen kører i fanen, og dens worker, WebAssembly-kerne og sprogmodel leveres alle fra dette sted og caches af browseren. De eneste forespørgsler, siden laver, er efter de filer. Det betyder mere her end på en tekstside: en PGS-strøm, der er hentet ud af en disk, er ofte det ene stykke materiale, et studie eller en advokat er mindst villig til at give til en tredjepart, og hele pointen med denne side er, at de ikke behøver.

Relaterede værktøjer