VTT til LRC
Eller lim inn underteksttekst
Hva denne konverteringen endrer
4 ting slippes eller trenger en avgjørelse
- Tider
tekstblokkenes sluttider (resultatformatet registrerer bare når en tekstblokk starter)
- Formatering
all formatering (fet, kursiv, farge, kontur, skygge)
- Presisjon
tidspresisjon — resultatets klokke er grovere, så hvert tidsstempel rundes av til nærmeste 10 ms
- Formatspesifikt innhold
innhold som kildeformatet oppbevarer utenfor tekstblokkene (blokker utenom tekstblokkene, topptekst, innstillinger per tekstblokk, kommenterte hendelser) — målformatet har ingen plass til det
Denne listen kommer fra egenskapsmatrisen for disse to formatene, ikke fra den bestemte filen du lastet inn. En bestemt fil kan miste mer hvis den bruker egenskaper formatet tillater, men matrisen ikke modellerer.
Denne siden konverterer VTT til LRC: slipp inn en fil eller lim inn teksten, og du får LRC-versjonen tilbake med tekstblokkene fra VTT i behold.
Det er en reell forskjell på VTT og LRC: sluttidene forsvinner, fordi LRC bare lagrer når en linje starter — spilleren holder linjen oppe til neste linje begynner; farge, omriss, skygge og marger forsvinner, og fet og kursiv finnes ikke som tagger i LRC, så bare teksten står igjen; den siste desimalen forsvinner, fordi klokken i LRC runder hvert tidsstempel til nærmeste 10 ms; LRC har ingen plass til innholdet VTT oppbevarer utenfor tekstblokkene.
Listen over filboksen er regnet ut fra hva VTT og LRC kan uttrykke, ikke fra filen din, så svaret er det samme før du laster opp noe.
En hel sesong med VTT-filer går gjennom LRC-konverteringen i én kjøring: hver fil behandles for seg, du kan avbryte underveis, og resultatene lastes ned som én ZIP.
Fordi VTT-til-LRC-konverteringen kjører lokalt i nettleseren, forlater filen din aldri maskinen.
Eksempler
En typisk VTT-fil konvertert til LRC
Inndata
WEBVTT
intro
00:00:01.000 --> 00:00:04.000
Hello there.
00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.
Resultat
[00:01.00]Hello there.
[00:04.50]Second line with italics.
Dette går tapt i utdataen: sluttidene, formatering, tidspresisjon og metadata. Starttidene beholdes med hundredels presisjon; sluttidene utledes fra neste linje.
Samme VTT-til-LRC-konvertering med vanskelig inndata
Inndata
a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.
Resultat
[00:01.00]No header, two lines before the timecode.
Slik ser skader på ekte filer ut — blandede linjeskift, løse mellomrom, tomme felt. Sammenlign med det ryddelige eksempelet over for å se hva VTT-parseren tilgir.
Ofte stilte spørsmål
Hva går tapt når VTT blir LRC?
Dette: sluttidene forsvinner, fordi LRC bare lagrer når en linje starter — spilleren holder linjen oppe til neste linje begynner; farge, omriss, skygge og marger forsvinner, og fet og kursiv finnes ikke som tagger i LRC, så bare teksten står igjen; den siste desimalen forsvinner, fordi klokken i LRC runder hvert tidsstempel til nærmeste 10 ms; LRC har ingen plass til innholdet VTT oppbevarer utenfor tekstblokkene. På kildesiden har VTT tekstblokker med start- og sluttid og grunnleggende innebygde tagger; på målsiden har LRC bare starttider med hundredels presisjon, og derfor kommer de nevnte tingene ikke med. Teksten og rekkefølgen kommer over.
Hvordan skrives tidsstemplene om fra VTT til LRC?
En tid i VTT ser slik ut: `00:00:04.126` — punktum foran millisekundene. I LRC skrives den som `[00:04.12]` — hundredeler, og bare starttiden. LRC lagrer bare starttiden, så det finnes ingen sluttid i filen; spilleren holder linjen oppe til neste linje begynner. Rekkefølgen er den samme, og ingen tekstblokk flyttes mer enn avrundingen tilsier.
Hvordan får en tekstblokk fra VTT en sluttid i LRC?
LRC har ingen sluttid: en spiller holder linjen oppe til neste linje begynner. Derfor skrives VTT-tekstblokken som en starttid med hundredels presisjon, og sluttiden kastes — den er en opplysning VTT har som LRC ikke kan lagre.
Hva skjer med formateringen fra VTT i LRC?
Det som går tapt, er det VTT kan uttrykke ut over de innebygde taggene — klasser, regioner og stilblokker. Selve taggene for fet, kursiv og farge faller også bort, fordi LRC skriver rå tekst.
Hvordan ser en LRC-fil ut når den er laget fra VTT?
LRC har metadata-tagger som `[ti:]` og `[ar:]`, deretter én tidsstemplet linje per sanglinje. Konverteringen fra VTT fyller den formen: hver tekstblokk blir én LRC-blokk, i samme rekkefølge, med VTT-ens tekst delt i de samme linjene.
Kan jeg konvertere LRC tilbake til VTT, og hva går tapt da?
Ja, og den veien har sin egen tap-liste: sluttidene blir genererte, fordi LRC ikke lagrer dem — de utledes fra neste linjes starttid. Det er ikke den samme listen som VTT → LRC, fordi de to formatene beholder ulike ting.
Beholder LRC plasseringen som VTT beskriver?
VTT kan ha `align:`- og `position:`-innstillinger etter tidsstemplet, men de hører til utenfor tekstblokkmodellen og forsvinner som en del av VTT-ens egne konstruksjoner, ikke som en plassering i tekstblokken. Verken VTT eller LRC har en posisjonsmodell, så det er ingenting å miste: hver tekstblokk havner der spilleren setter den.
Hva gjør LRC med en tekstblokk fra VTT som har flere linjer?
Den beholder linjene. VTT og LRC uttrykker begge flere linjer per tekstblokk, og konverteringen skriver linjeskiftet som flere tidsstemplede linjer med samme starttid i stedet for å slå sammen teksten.
Hva skjer med kommentarer og metadata i VTT når filen blir LRC?
VTT kan ha `NOTE`-, `STYLE`- og `REGION`-blokker samt innstillinger på tekstblokken som `align:` og `position:` utenfor tekstblokkene. LRC har metadata-taggene i hodet: tittel, artist, lengde og offset; derfor registreres dette som tap, og det er tekstblokkene som kommer med videre.