Forståelse af SRT- og VTT-undertekstformater
Undertekster til videoindhold leveres primært i to udbredte tekstformater: SubRip (SRT) og Web Video Text Tracks (WebVTT eller VTT). Selvom begge formater tjener det formål at vise tekst synkront med lyd og billede, adskiller deres struktur og syntaksregler sig på afgørende punkter.
En standard SRT-undertekstfil er opbygget af nummererede tekstblokke, også kaldet cues. Hver blok indeholder et sekvensnummer, et tidsinterval angivet med start- og sluttidspunkt adskilt af en pil (-->), efterfulgt af selve undertekstteksten og en tom linje. Tidsstempler i SRT anvender komma som decimalseparator til millisekunder (f.eks. 00:01:20,125).
WebVTT-filer begynder altid med tekststrengen WEBVTT i den allerførste linje. Formatet understøtter mere avancerede funktioner end SRT, herunder metadata, specifikke typografier (styles), regioner (regions), noter og indlejrede tidsstempler. Tidsstempler i WebVTT bruger punktum som decimalseparator til millisekunder (f.eks. 00:01:20.125).
Værktøjet til tidsforskydning af undertekster understøtter begge formater, forudsat at filerne er gemt med UTF-8-kodning. Under behandlingen bevares alle cue-identifikatorer, indstillinger, noter, typografier, områder, linjeskift og selve undertekstteksten nøjagtigt, som de er skrevet i kildefilen.
Synkronisering af undertekster og tidsforskydning
Når video og undertekster ikke passer sammen, skyldes det ofte en konstant tidsforskel. Dette kan opstå, hvis videoen er blevet redigeret med en ny intro, eller hvis undertekstfilen stammer fra en anden version af filmen. En tidsforskydning gør det muligt at rykke samtlige tidsstempler i filen frem eller tilbage med en fast værdi.
Tidsforskydningen kan angives på to måder:
- Sekunder: Angives som decimaltal, f.eks.
2.5eller-0.75. - Tidskode: Angives i formatet
H:MM:SS.mmm, f.eks.-00:00:02.500.
En positiv værdi forsinker underteksterne, så de vises senere, mens en negativ værdi rykker dem frem, så de vises tidligere på skærmen.
Begrænsninger ved faste tidsforskydninger
Det er vigtigt at skelne mellem en konstant tidsforskel og progressiv asynkronitet (også kaldet tidsdrift). Hvis underteksterne passer i begyndelsen af videoen, men gradvist kommer mere og mere ud af takt som tiden går, skyldes det typisk en forskel i billedhastigheden (frame rate) eller videoens afspilningshastighed.
En fast tidsforskydning kan ikke løse problemer med tidsdrift, da den anvender nøjagtig den samme tidsændring på alle blokke i hele filen. Hvis afstanden mellem tale og tekst vokser under afspilning, skal underteksternes tidsrate eller de enkelte blokke redigeres i et dedikeret redigeringsprogram.
Validering af tidsstempler og struktur
For at sikre, at den genererede undertekstfil fungerer fejlfrit i videoafspillere, udfører værktøjet en række automatiske kontroller af filens struktur og tidsrækkefølge under behandlingen:
- Kronologisk rækkefølge: Værktøjet afviser filer, hvor en blok begynder før blokken ovenover. Hvis denne regel overtrædes, vises fejlmeddelelsen: "Blok
‹number›begynder før blokken ovenover.". - Varighedskontrol: Hver enkelt blok skal have en logisk varighed. Hvis sluttiden ikke ligger efter starttiden, afvises filen med fejlen: "Blok
‹number›skal slutte efter sin start.". - Indlejrede VTT-tidsstempler: For WebVTT-filer kontrolleres det, at eventuelle indlejrede tidsstempler er i stigende rækkefølge og placeret korrekt. Hvis ikke, vises fejlen: "Blok
‹number›har et indlejret VTT-tidsstempel uden for blokken eller i forkert rækkefølge.". - Tidsstempel-format: Hvis et tidsstempel er formateret forkert, udløses fejlen: "Blok
‹number›har et ugyldigt tidsstempel på linje‹line›.".
Værktøjet tillader dog overlappende blokke samt blokke, der deler nøjagtig samme starttidspunkt, da dette understøttes af de gængse afspilningsstandarder.
Håndtering af grænseværdier og fejl
Når du arbejder med tidsforskydning, skal du være opmærksom på følgende tekniske begrænsninger og regler for fejlhåndtering:
- Filstørrelse og tegnbegrænsning: Den maksimale filstørrelse for uploadede filer er 2 MB. Hvis en fil overskrider dette, vises fejlen: "Vælg en undertekstfil, der højst fylder
‹max›.". Hvis du indsætter tekst direkte i tekstfeltet, og teksten er for lang, vises fejlen: "Denne undertekst er for stor til at behandle her. Hold den under‹max›tegn.". - Filtype og kodning: Kun filer med filtypen
.srteller.vttaccepteres. Hvis du vælger en forkert filtype, vises fejlen: "Vælg en fil med filtypen.srt eller.vtt.". Hvis filen ikke er gemt i UTF-8-kodning, vises fejlen: "Filen er ikke gyldig UTF-8-tekst. Gem den som UTF-8, og prøv igen.". - Grænse ved nul sekunder: En negativ tidsforskydning må aldrig resultere i, at en undertekstblok tvinges til at starte før tidspunktet nul (
00:00:00,000eller00:00:00.000). Hvis en forskydning vil flytte en blok før nul, stoppes processen helt for den pågældende blok, og systemet viser fejlmeddelelsen: "Denne forskydning ville flytte blok‹number›før nul. Brug‹minimum›eller en senere forskydning.". Dette forhindrer, at blokke bliver beskadiget eller slettet under tidsforskydningen.
Behandling af personoplysninger og datafortrolighed
Når du arbejder med undertekster, der kan indeholde fortroligt materiale, uoffentliggjorte manuskripter eller personlige oplysninger, er datasikkerhed afgørende.
Dette værktøj kører udelukkende lokalt i din browser. Når du vælger en fil eller indsætter tekst, sendes der ingen data over internettet. Behandlingen, tidsberegningen og valideringen sker direkte på din egen computer, og intet uploader eller gemmer data på eksterne servere.
Ofte stillede spørgsmål (FAQ)
Hvilke SRT- og VTT-filer understøttes?
Brug UTF-8 SRT-filer med nummererede blokke eller WebVTT-filer, der begynder med WEBVTT. Id’er, indstillinger, noter, typografier, områder, linjeskift og undertekst bevares, som de er skrevet.
Hvad sker der, hvis en negativ forskydning går før nul?
Forskydningen stoppes i stedet for at beskære eller slette blokke. Dermed forbliver hver bloks varighed og den ønskede forskydning nøjagtig; angiv en mindre fremrykning, og prøv igen.
Kan en fast forskydning rette undertekster, der kommer mere og mere ud af takt?
Nej. En fast forskydning retter den samme forsinkelse eller fremrykning i hele filen. Hvis afstanden vokser under afspilning, skal underteksternes tidsrate eller enkelte blokke redigeres.