Hopp til hovedinnhold
SubtitleMatrix

PGS (.sup) til SRT

MedieinndataBitmapundertekster (PGS / VobSub)

Den første kjøringen laster ned tekstleseren — omtrent 4 MB pluss språkmodellen, servert av dette nettstedet og bufret av nettleseren etterpå. Ingenting lastes opp, og resultatet er maskinlest: korrekturlés det før du bygger på det.

Innstillinger

En bitmapundertekst er et bilde av tekst, så ordene må leses ut av det igjen. Fortell leseren hvilket språk undertekstene er skrevet på – listen dekker alle språkene dette nettstedet publiseres på. Russiske undertekster lest med den engelske modellen kommer ut som støy, ikke som russisk. Bare modellen du velger, lastes ned (de andre aldri), så å bytte koster én nedlasting per språk, bufret etterpå.

En .sup-fil er en PGS-strøm, bildeundertekstformatet Blu-ray-plater bruker. Det finnes ikke et eneste tegn i den: hver undertekst er lagret som et punktbilde, sammen med en palett og øyeblikket den skal vises, og avspilleren legger den over bildet. Å få tekst ut av en slik fil betyr derfor å lese bokstavene i hvert bilde. Denne siden gjør det i fanen med en OCR-motor nettstedet leverer selv, og skriver resultatet som en .srt-fil.

Formatet er en sekvens av segmenter, hver med en tretten byte lang header som bærer et presentasjonstidsstempel i 90 kHz-enheter, en type og en lengde. Fire typer betyr noe: palettdefinisjonen (PDS), som kobler indeksverdier til full RGB via YCbCr; objektdefinisjonen (ODS), som holder ett run-length-kodet punktbilde; presentasjonskomposisjonen (PCS), som sier hvilke objekter som sitter hvor i bildet; og visningssettet som stabler dem. Starttiden til en tekstblokk er tidsstempelet til visningssettet som viser den. En PGS-strøm bærer ingen sluttid i det hele tatt — en undertekst står på skjermen til neste visningssett erstatter den — så slutten på hver tekstblokk her er starten på den neste, som er nøyaktig det en avspiller gjør.

Fordi hver tekstblokk leses av en maskin, er teksten en avlesning og ikke en transkripsjon: en serifskrift i liten størrelse, en uvanlig font eller en tung kontur kan gjøre ett tegn til et annet. Korrekturles filen før du stoler på den. Det forbeholdet er ikke en standardfrase — det er det ene stedet på dette nettstedet der utdataene ikke er utledet fra det filen sa, og siden sier det i stedet for å presentere resultatet som nøyaktig.

Velg språket undertekstene faktisk er skrevet på. Listen dekker alle språkene dette nettstedet publiseres på, og hver modell leser sitt eget skriftsystem. Å kjøre en engelsk modell over japanske undertekster gir støy snarere enn en dårlig oversettelse, fordi gjenkjenneren leter etter former som ikke finnes der. Bare modellen du velger, lastes ned, og den bufres etterpå.

Tekstblokker hvis bilder ikke gir noen tekst i det hele tatt — et toneovergangsbilde, en logo, en svart tekstblokk — utelates og telles i taplisten i stedet for å skrives som tomme linjer. Alt som var et bilde, forblir et bilde i ånden: font, farge, kontur og plassering på skjermen finnes ikke i en .srt, og taplisten sier det én gang for hele filen.

Ofte stilte spørsmål

Hva er det i en .sup-fil som gjør konvertering til SRT til en gjenkjenningsoppgave?

Segmenter, ikke tegn. Hver undertekst i en PGS-strøm er et objekt: et run-length-kodet punktbilde av palettindekser, pluss en palettdefinisjon som gjør indeksene om til RGB. De eneste tekstlignende verdiene i filen er presentasjonstidsstemplene, som er 90 kHz-heltall og ikke noe et menneske leser. Å konvertere det til SRT betyr å legge hvert punktbilde på et lerret og gjenkjenne bokstavene, og det er derfor resultatet må korrekturleses og siden spør hvilket språk undertekstene står på.

Hvorfor slutter den siste underteksten i utdataene et par sekunder senere enn den burde?

Fordi PGS aldri sier når en undertekst slutter. En avspiller viser en komposisjon til den neste kommer eller strømmen tømmes, så den eneste sluttiden som finnes i filen, er «starten på den neste». For den siste tekstblokken finnes ingen neste; siden gir den to sekunder og fører det valget inn i taplisten. Sto den siste linjen faktisk i ti sekunder på platen, er den ærlige rettelsen en forskyvning eller en varighetsendring, ikke en gjetning gjemt i konverteringen.

Hvilken språkmodell bør jeg velge for undertekster med både japanske og engelske linjer?

Den dialogen stort sett er på. Et PGS-bilde kan blande skriftsystemer i én linje — en japansk setning med et engelsk lånord skrevet med latinske bokstaver er vanlig — men gjenkjenneren får én modell per kjøring, og en modell trent på ett skriftsystem leser det andre som søppel. Veksler filen genuint mellom to skriftsystemer, kjører du den to ganger, én per språk, og beholder linjene hver kjøring fikk riktig: utdataene er en vanlig .srt, så å slå de to sammen er en diff, ikke en ny eksport.

Følger fargene på undertekstene med over i SRT-en?

Nei, og de kan ikke. En .sup koder farge tre ganger: i paletten (som er YCbCr med alfakanal, per tekstblokk), i komposisjonen (hvor punktbildet sitter i et 1920×1080-bilde) og i konturen og skyggen som er tegnet inn i selve punktbildet. SRT har ingen av de plassene. Siden leser lysstyrken i hver piksel for å avgjøre hva som er blekk og hva som er bakgrunn, som er alt OCR trenger, og taplisten rapporterer styling én gang for filen i stedet for å late som fargene overlevde.

Noen tekstblokker kom ut tomme eller mangler. Hva skjedde med dem?

Et bilde som ikke ga tekst, ble droppet i stedet for skrevet som en tom undertekst. Det skjer med inn- og uttoningsbilder, med tekstblokker som bare er en logo eller et symbol, og med svært liten tekst under størrelsen gjenkjenneren klarer å løse opp. Hver av dem telles i taplisten, så filen du får, er ikke stille kortere enn filen du ga. Er tallet høyt, er den vanlige årsaken feil språkmodell eller en strøm der punktbildene er uvanlig små.

Lastes .sup-filen eller bildene i den opp noe sted mens den leses?

Nei. Gjenkjenneren kjører i fanen, og arbeideren, WebAssembly-kjernen og språkmodellen leveres alle fra dette nettstedet og bufres av nettleseren. De eneste forespørslene siden gjør, er etter disse filene. Det betyr mer her enn på en tekstside: en PGS-strøm hentet fra en plate er ofte det ene materialet et studio eller en advokat er minst villig til å gi til en tredjepart, og hele poenget med denne siden er at de ikke trenger det.

Relaterte verktøy