Gå till huvudinnehållet
SubtitleMatrix

Hitta undertexter som slutar före start

KvalitetskontrollIcke-monoton tidskodning
Eller klistra in undertexttext

Inställningar

Vilken bildfrekvens tiderna räknas i. På formatsidorna är det här vad MicroDVD behöver, eftersom formatet lagrar tider som bildnummer. På bildfrekvenssidorna är det den frekvens som filens tider byggdes för – den version som undertexterna gjordes för – och sidans andra fält tar frekvensen för den video du ska använda dem med. 23,976, 24, 25, 29,97, 30, 50, 59,94 och 60 är de vanligaste. Blir det fel förskjuts hela tidslinjen, och på bildfrekvenssidorna förskjuts den med ett förhållande i stället för med ett fast belopp.

Ett block som slutar före det börjar är en tidsstämpel som inte kan vara sann: 00:00:03,000 --> 00:00:03,000, eller värre, ett slut före starten. Den här sidan rapporterar filer som innehöll ett sådant, räknat från de reparationer läsaren måste göra, eftersom en tidsstämpel av den formen inte alls kan hållas i minnet och ersätts med en riktig innan något annat händer. Det som kommer tillbaka är en rapport, aldrig en ändrad fil.

Det är därför rapporten börjar med vad som förlorades vid läsningen och först därefter visar träffen. Ett block vars slut inte är efter dess start får en millisekund, så att resten av filen alls kan läsas, förhandsvisas och exporteras; antalet sådana reparationer står i rapporthuvudet, och träffen under säger ett fel utan blocknummer, eftersom reparationerna räknas medan filen läses i stället för att sparas i en lista. Båda raderna beskriver samma trasiga tidsstämpel från två håll, och därför hör de hemma i samma rapport i stället för i två.

Fällan sidan måste skrivas runt är att ett legitimt enmillisekundsblock ser exakt ut som ett reparerat. Så kontrollen tittar inte på varaktigheter alls – den tittar på bokföringen av reparationer – och ett block som verkligen varar en millisekund lämnas i fred. En negativ varaktighet och en nollängd räknas som samma fel och summeras tillsammans. Två format tas inte emot alls, och för en gångs skull är skälet detsamma på båda sidor: LRC härleder varje sluttid från nästa tidsstämpel, så ett par där kan aldrig bli bakvänt, och ren text har inga blocktider alls. Att kontrollera någon av dem skulle ge en ren rapport om ett fält formatet inte har, vilket är det enda slags svar som är värre än inget svar.

Exempel

Ett block utan varaktighet

Undertexter

1
00:00:01,000 --> 00:00:02,000
Where were you?

2
00:00:03,000 --> 00:00:03,000
I was working late.

Vad rapporten hittar

Cues ending before they start — 1 found

Lost while reading: Timing × 1

Severity   Cues   Start   End   Measured
Error      —      —       —     1 items

Ett slut lika med starten. Läsaren ger blocket en millisekund så att filen kan hållas, bokför reparationen, och rapporten skriver båda halvorna: förlustraden i huvudet och ett fel under. Reparationen är beviset; millisekunden är bara den form beviset tar.

Ett block som verkligen varar en millisekund

Undertexter

1
00:00:01,000 --> 00:00:02,000
Where were you?

2
00:00:03,000 --> 00:00:03,001
I was working late.

Vad rapporten hittar

Cues ending before they start — Nothing found

Cues                2
Checks run          1
Lost while reading  Nothing

Skrivet för hand som ett enmillisekundsblock och inte rapporterat. Det beslutet är det som formar kontrollen: ett reparerat nollängdsblock kommer också ut som en millisekund, så en regel som flaggade korta varaktigheter här skulle kalla varje fil med en trasig tidsstämpel för en fil full av omöjligt korta block.

Slutet ligger före starten

Undertexter

1
00:00:01,000 --> 00:00:02,000
Where were you?

2
00:00:05,000 --> 00:00:02,000
I was working late.

Vad rapporten hittar

Cues ending before they start — 1 found

Lost while reading: Timing × 1

Severity   Cues   Start   End   Measured
Error      —      —       —     1 items

Fem sekunder till två sekunder: samma fel som nollängdsfallet, räknat av samma regel och rapporterat identiskt. Ingenting i filen skrivs om – de reparerade tiderna finns i läsarens kopia så att resten av filen kan bearbetas, och de är inte en fix som sidan erbjuder.

Vanliga frågor

Vad räknas som ett block som slutar före det börjar?

En sluttid som inte är senare än starttiden: antingen lika med den, som 00:00:03,000 till 00:00:03,000, eller tidigare, som 00:00:05,000 till 00:00:02,000. Båda är samma fel och räknas tillsammans, och båda räknas från reparationen läsaren gör snarare än från blocket, eftersom en tidsstämpel av den formen inte kan hållas i minnet.

Varför namnger rapporten inte blocken?

Eftersom reparationerna räknas medan filen läses, inte samlas i en lista. Rapporten ger antalet – ett fel, en post i huvudets förlustrad – och de två halvorna är samma faktum sett från huvudet och från träffarna. Behöver du det exakta blocket söker du i filen efter antalet tidsstämplar i stället för efter ett blocknummer.

Är ett block som varar en millisekund ett problem?

Inte här, och det är avsiktligt. Ett handskrivet enmillisekundsblock är lagligt och rapporteras inte; det som rapporteras är en tidsstämpel som måste repareras, och som råkar lagras som en millisekund efteråt. Att kontrollera varaktigheter i stället för reparationer skulle flagga varje fil med ett nollängdsblock som en fil full av omöjligt korta block, vilket är fel träff två gånger om.

Fixar sidan tidsstämplarna den hittar?

Nej. De reparerade tiderna finns bara inuti webbläsaren så att resten av filen kan läsas och rapporteras. Filen du laddade ner eller släppte in är oförändrad, och det finns inget sätt att spara den reparerade versionen från den här sidan – att ersätta en trasig tidsstämpel är en operation med en undertextfil som resultat, inte en kontroll.

Vilka undertextformat kan kontrolleras för block som slutar före de börjar?

Tio av de tolv: SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON och CSV. Två saknas och ingen av dem är en förbiseende. LRC lagrar en tid per rad och läsaren härleder varje slut från nästa tidsstämpel, så ett par där kan aldrig vara bakvänt – kontrollen skulle döma ett fält formatet inte har. Ren text har inga blocktider alls. Är filen i något av de två konverterar du den först.

Kommer de här trasiga tidsstämplarna från något särskilt håll?

De produceras nästan alltid i stället för att skrivas för hand. En bildfrekvenskonvertering som avrundar åt fel håll, en förskjutning som applicerats två gånger på samma block, en kalkylbladesxport där slutkolumnen lämnats tom och lästs som noll, och en undertext som extraherats ur en tidsstämplad fil med en markör som saknade varaktighet från början.

Kan flera filer kontrolleras i en körning?

Ja. Släpp in hur många du vill och de läses efter varandra, var och en med sin egen rapport, och rapporterna laddas ner tillsammans som en zip. Kön visar förloppet per fil, körningen kan avbrytas på vägen, och ingen fil laddas upp någon gång.

Relaterade verktyg