Gå till huvudinnehållet
SubtitleMatrix

Konvertera non-drop till drop-frame

TidskodTidskod med drop-frame
Eller klistra in undertexttext

Inställningar

30 fps non-drop och 29,97 drop-frame skriver samma klocka olika, och det här fältet avgör åt vilket håll filen läses och åt vilket håll den skrivs tillbaka. Ett textblock en timme in läses 01:00:00,000 under den ena och 01:00:03,600 under den andra – de två skiljer sig 3,6 sekunder per timme, inte ett avrundningsfel. Sidans titel namnger en riktning, och det här fältet erbjuder bara den, så filen du får är den sidan handlar om. Inget i texten ändras: inget textblock tidsätts om mot videon, ingen bildfrekvens konverteras, och ett textblock inom första minuten av en timme kommer tillbaka exakt som det gick in, eftersom ingen bildrutebeteckning släpps där.

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.

Den här sidan skriver om tidscoderna i en undertextfil från non-drop-frame till drop-frame. Ange en fil vars tider räknas utan överhoppade etiketter, och konverteringen re-labellerar klockan så att samma bildruta får det värde drop-frame ger den. Vid en timme skiljer konventionerna exakt 3 600 ms, och det är den skillnaden som är hela operationen.

Drop-frame är lösningen på att 29,97 bilder i sekunder inte går jämnt upp i sextio. Utan överhoppade etiketter skulle klockan hamna ungefär 3,6 sekunder efter bilderna på en timme, så drop-frame hoppar över 108 etiketter per timme. Konverteringen lägger tillbaka den förskjutningen i klockan: en tid som löd 01:00:00,000 i non-drop blir 01:00:03,600 i drop-frame.

Skillnaden är inte ett fel och inte en förskjutning av filen. Den är olika stor vid olika tidpunkter – 333 ms vid fem minuter, 600 ms vid tio minuter, 3 600 ms vid en timme – eftersom antalet överhoppade etiketter växer med tiden. Båda kanterna i varje block flyttas lika mycket, så blockets längd bevaras.

Under den första minuten av varje timme hoppas ingen etikett över, så där skriver konventionerna samma sak och blocket lämnas orört. Drop-frame-klockan är en approximation av verklig tid och går ungefär 0,108 bilder per timme snabbare än väggklockan, men den ligger mycket närmare bilderna än non-drop gör. SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON och CSV tas emot, och inget laddas upp.

Exempel

En fil fem minuter in

Indata

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:05:00,333 --> 00:05:02,333
The room is dark.

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

De två blocken flyttas inte lika mycket, och det är hela operationen: fem minuter in har drop-frame hoppat över tio etiketter, så klockan läses 333 ms senare; tio minuter in har arton hoppats över, så den läses 600 ms senare. Bara de två klockvärdena per block skrivs om.

Samma fil en timme in

Indata

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

Resultat

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

Vid en timme ligger konventionerna 3,6 sekunder isär, vilket är 108 överhoppade etiketter. Läs första raden i resultatet och den ska ligga exakt 3 600 ms efter första raden i indata. Båda kanterna flyttas, så blocket behåller sin längd.

Ett block inne i den första minuten

Indata

1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.

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

Resultat

1
00:00:02,000 --> 00:00:04,000
Nothing to re-label yet.

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

Det första blocket kommer tillbaka byte för byte och det andra flyttas, i samma körning. Under den första minuten av en timme hoppas ingen etikett över, och 00:00:02,000 ligger redan på en bildruta i 30 fps, så inget ändras.

Vanliga frågor

Vad betyder det att tidscoderna skrivs om från non-drop-frame till drop-frame?

Att klockan re-labelleras så att samma bildruta får det värde drop-frame ger den, med de etiketter som konventionen hoppar över inräknade. Bildrutorna är oförändrade; det är klockvärdet som ändras. Vid en timme skiljer konventionerna 3 600 ms, vilket är 108 överhoppade etiketter.

Varför ökar skillnaden mellan non-drop och drop-frame med tiden?

Därför att drop-frame hoppar över etiketter i en takt som ger 108 stycken per timme. Vid fem minuter har tio etiketter hoppats över, vilket motsvarar 333 ms; vid tio minuter arton, alltså 600 ms; vid en timme 108, alltså 3 600 ms. Skillnaden är alltså inte ett fast belopp utan en funktion av tiden.

Är drop-frame-klockan exakt lika med verklig tid?

Nej, den är en approximation. Drop-frame hoppar över 108 etiketter per timme, vilket kompenserar nästan hela skillnaden mellan 29,97 bilder i sekunden och 30, men inte exakt: klockan går ungefär 0,108 bilder per timme snabbare än väggklockan. Det är försumbart för undertexter, men det är skälet till att skillnaden mellan konventionerna beskrivs som en omskrivning och inte som en exakt tidskorrigering.

Varför lämnas ett textblock i den första minuten orört?

Därför att drop-frame inte hoppar över någon etikett under den första minuten av varje timme. Där stavar de två konventionerna samma sextio sekunder, så en tid som 00:00:02,000 är identisk i båda. Först från den första minutgränsen och framåt börjar etiketterna hoppas över och skillnaden växa.

Behåller textblocken sin längd när non-drop konverteras till drop-frame?

Ja. Båda kanterna flyttas lika mycket, så längden i millisekunder bevaras och läshastigheten är oförändrad. Det är en re-labellering av tiderna, inte en skalning eller förskjutning, så varken blockens längd eller avståndet mellan dem ändras. Bara själva klockvärdet skiljer sig.

Är den här konverteringen samma sak som en bildfrekvenskonvertering?

Nej. En bildfrekvenskonvertering ändrar hur många bilder som passerar per sekund och skalar därför hela tidslinjen. Den här konverteringen behåller bildrutorna och ändrar bara vilket klockvärde de bär, så en tid kan flyttas 3 600 ms vid en timme utan att någon bildruta byts ut. Inget av de tolv formaten lagrar vilken konvention en tidscode följer.

Relaterade verktyg