Gå til hovedindholdet
SubtitleMatrix

Konverter drop-frame til non-drop

TimecodeDrop-frame-timecode
Eller indsæt underteksttekst

Indstillinger

30 fps non-drop og 29,97 drop-frame skriver den samme klokke forskelligt, og denne boks vælger, hvilken vej filen læses, og hvilken vej den skrives tilbage. En tekstblok en time inde læses som 01:00:00,000 under den ene og 01:00:03,600 under den anden – de to er 3,6 sekunder fra hinanden pr. time, ikke en afrundingsfejl. Sidens titel nævner én retning, og denne boks tilbyder kun den ene, så den fil, du får, er den fil, siden handler om. Intet ved teksten ændres: ingen tekstblok re-times mod videoen, ingen billedhastighed konverteres, og en tekstblok inden for det første minut af en time kommer tilbage præcis, som den kom ind, fordi intet billedmærke droppes der.

Hvilken billedhastighed tiderne tælles i. På formatsiderne er det, hvad MicroDVD har brug for, fordi formatet gemmer tider som billednummer. På siderne om billedhastighed er det den hastighed, filen blev timet efter – den version, underteksterne blev lavet til – og sidens anden boks tager hastigheden for den video, du skal bruge dem med. 23,976, 24, 25, 29,97, 30, 50, 59,94 og 60 er de almindelige. Tager man fejl, forskydes hele tidslinjen, og på siderne om billedhastighed forskydes den med et forhold i stedet for et fast beløb.

Denne side skriver en undertekstfil om fra drop-frame til non-drop. Det er den modsatte vej af den anden side i denne gruppe: de samme billeder bliver de samme billednumre, men de får non-drop-labels, og efter en time læser den samme sekvens 01:00:00,000 i non-drop, hvor drop-frame skrev 01:00:03,600. De 3,6 sekunder er navnet på de 108 labels, drop-frame sprang over, og de er selve operationen, ikke en fejl.

Drop-frame findes, fordi 29,97 fps ikke er præcis 30, og et ur, der tæller 30 billeder i sekundet, ellers ville løbe langsommere end den virkelige tid. Ved at springe to labels over ved begyndelsen af hvert minut undtagen hvert tiende holdes timecode tæt på uret. Non-drop gør ikke det og tæller alle labels med. Konverteringen flytter ikke billederne; den skriver dem om i den anden konvention.

Vær opmærksom på den kendte afvigelse: drop-frame er en tilnærmelse og løber omkring 0,108 billede for hurtigt i timen, cirka 2,6 billeder over et døgn. Siden skriver derfor ikke, at drop-frame er det virkelige ur, men at det holder timecode tæt på det. Det betyder også, at en fil, der er konverteret til non-drop, ikke automatisk er synkron med billedet – den er bare skrevet i en konvention, der tæller alle labels.

Det første minut af hver time er identisk i de to konventioner, og en blok, der ligger der, kommer byte for byte tilbage. En cue, der er kortere end et billede, kan få begge sine grænser lagt på samme label og fjernes. Der er også en lille gruppe labels, der ikke findes i drop-frame – de to labels ved begyndelsen af hvert sprangt minut – og de bliver lagt tilbage på det nærmeste lovlige label, 67 ms tidligere. SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON og CSV læses som det, de er, og alt kører lokalt i browseren.

Eksempler

En fil fem minutter inde

Input

1
00:05:00,000 --> 00:05:02,000
The room is dark.

2
00:10:00,000 --> 00:10:03,000
A cold night.

Resultat

1
00:04:59,667 --> 00:05:01,667
The room is dark.

2
00:09:59,400 --> 00:10:02,400
A cold night.

Rettelsen er ikke ét tal, der lægges på filen: efter fem minutter går uret 333 ms tilbage, og efter ti minutter går det 600 ms tilbage, fordi drop-frame har sprunget ti labels over inden det første mærke og atten inden det andet. Det er derfor, konverteringen læser hver label og ikke bare flytter filen med et fast beløb.

Den samme rettelse ved en time

Input

1
01:00:03,600 --> 01:00:06,600
An hour into the programme.

Resultat

1
01:00:00,000 --> 01:00:03,000
An hour into the programme.

Ved en time er drop-frames 01:00:03,600 det, non-drop kalder 01:00:00,000 – 108 sprangte labels, 3600 ms. Det er det tal, du kan kontrollere siden imod: den første linje i resultatet skal være præcis 3,6 sekunder tidligere end i input. Forskellen er ikke en fejl, men definitionen af, hvad de to konventioner kalder de samme billeder.

En cue inde i det første minut

Input

1
00:00:04,000 --> 00:00:06,000
Still early in the file.

2
00:05:00,000 --> 00:05:02,000
This one does move.

Resultat

1
00:00:04,000 --> 00:00:06,000
Still early in the file.

2
00:04:59,667 --> 00:05:01,667
This one does move.

I løbet af det første minut af en time springes ingen labels over, så de to konventioner staver de tres sekunder ens, og den første cue lades urørt. Den anden cue, der ligger på fem minutter, flytter sig. En cue uden for det første minut bliver altså ikke nødvendigvis uændret, selv om den første gør.

Ofte stillede spørgsmål

Hvorfor bliver min fil 3,6 sekunder kortere, når jeg konverterer fra drop-frame?

Fordi drop-frame har sprunget 108 labels over i timen, og de labels er navnet på de samme billeder i non-drop. Konverteringen skriver de samme billeder om i en konvention, der tæller alle labels, så det, der var 01:00:03,600 i drop-frame, bliver 01:00:00,000 i non-drop. De 3,6 sekunder er ikke tabt tid, men forskellen i optællingen.

Er non-drop det samme som det virkelige ur?

Nej. Non-drop tæller alle 30 labels i sekundet, men 29,97 fps betyder, at det virkelige billede kommer en anelse senere end labelen antyder. Drop-frame blev lavet for at rette den afvigelse, men det er selv en tilnærmelse. Ingen af de to konventioner er det virkelige ur; de er to måder at skrive de samme billeder på, og forskellen er, hvor tæt de ligger på den faktiske tid.

Hvad sker der med de labels, der ikke findes i drop-frame?

Ved begyndelsen af hvert sprangt minut findes der to labels i drop-frame, som ikke har nogen frame bag sig. De bliver lagt tilbage på det nærmeste lovlige label, hvilket er 67 ms tidligere, altså 00:00:59,933 i stedet for 00:01:00,000. Det er en sjælden grænse, men den er rapporteret, fordi den er en ægte egenskab ved konventionen og ikke støj, der kan ignoreres.

Hvorfor sker der ingenting i det første minut?

Fordi drop-frame ikke springer nogen labels over i det første minut af hver time. Der er de to konventioner identiske, og en cue, der ligger der, kommer byte for byte tilbage. Det er ikke en fejl i konverteringen, men en egenskab ved standarden – og det er derfor, en testfil bør have mindst én cue efter det første minut, hvis du vil se en forskel.

Bliver nogle tekstblokke fjernet under konverteringen?

Kun hvis en blok er kortere end et billede, omkring 33 ms, hvor begge grænser kan lande på samme label og efterlade en blok uden varighed. Det tælles med i resultatet. En normal undertekst er aldrig så kort, men reglen findes, fordi en fil med beskadigede tider ellers kunne producere en blok, der ikke kan skrives.

Kan jeg bruge denne side til at synkronisere en fil mod en video?

Nej. Konverteringen ændrer kun skrivemåden og flytter ikke billederne, så en fil, der var ude af synkronisering før, er lige så ude bagefter. Skal filen flyttes i forhold til billedet, er det en forskydning eller en synkronisering, du skal bruge; denne side handler om, hvilke labels de samme billeder får, ikke om hvor de ligger.

Relaterede værktøjer