Lange ondertitels splitsen
Of plak ondertiteltekst
Opties
Geteld in tekens zoals een lezer ze ziet, niet in bytes of UTF-16-eenheden, dus een letter met een accent telt als één. Elk blok met meer dan dit aantal wordt in stukken van hoogstens dit aantal tekens geknipt. De knip valt op een spatie, aan het einde van een regel of tussen Chinese en Japanse tekens; alleen een enkele ononderbroken reeks zonder een van die, zoals een lange URL, wordt midden in een woord geknipt. Elk stuk krijgt een aandeel in de tijd van het blok, naar verhouding van de hoeveelheid tekst.
In welke beeldsnelheid de tijden worden geteld. Op de formaatpagina’s is dit wat MicroDVD nodig heeft, want het slaat tijden op als framenummers. Op de beeldsnelheidspagina’s is het de snelheid waartegen het bestand getimed is — de versie waarvoor de ondertitels gemaakt zijn — en het tweede vak op de pagina neemt de snelheid van de video die je gaat gebruiken. 23,976, 24, 25, 29,97, 30, 50, 59,94 en 60 zijn de gebruikelijke. Een verkeerde waarde verschuift de hele tijdlijn, en op de beeldsnelheidspagina’s verschuift ze die met een verhouding in plaats van met een vast bedrag.
Deze pagina knipt elk blok dat meer tekst houdt dan je limiet in stukken die elk passen. De limiet wordt geteld in tekens zoals een lezer ze ziet, en begint bij 42 — het plafond per regel waarop ondertitelstijlgidsen zijn uitgekomen, en het getal waartegen een omroep of streamingplatform je bestand controleert. Een blok van 56 tekens komt er als twee blokken uit; de tekst wordt op de dichtstbijzijnde spatie verdeeld, en elk teken dat erin ging komt er weer uit.
De stukken delen de tijd van het oorspronkelijke blok naar verhouding van hoeveel tekst elk draagt. Dat is de tweede helft van hetzelfde idee: een lange regel is niet alleen te veel om in één keer te lezen, hij heeft ook langer nodig op het scherm, en leessnelheid is waar de limiet echt over gaat. De span als geheel beweegt niet — het eerste stuk begint waar het blok begon, het laatste eindigt waar het eindigde, en niets anders in het bestand verschuift een milliseconde.
De knip valt op een spatie, aan het einde van een regel, of naast een Chinees of Japans teken. Alleen een ononderbroken reeks zonder een van die — een lange URL, een reeks cijfers — wordt midden in het woord geknipt, omdat de limiet een hard plafond is en er niets op het paneel is dat „dit ene kon niet worden verdeeld” kan uitdrukken. Schriften zonder spaties en zonder ideografische tekens, zoals Thai of Khmer, vallen in hetzelfde geval.
Eén ding om te weten voordat je het laat lopen: splitsen verandert hoeveel blokken het bestand houdt, en een bestand waarvan het aantal blokken veranderde, wordt in tijdvolgorde uitgeschreven met nieuwe nummering vanaf 1. Draagt een blok een stijl of een positie — een ASS-bestand, een WebVTT met styling — dan blijft die informatie bij het eerste stuk, en de stukken die het gereedschap maakt hebben er geen; het verslag telt ze zodat je weet hoeveel er geraakt zijn. Alles draait in dit browsertabblad: geen bestand wordt geüpload, en SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON en CSV worden allemaal op dezelfde manier gelezen.
Voorbeelden
Een regel van 56 tekens met de limiet op 42
Invoer
1
00:00:01,000 --> 00:00:04,000
She walked into the room and closed the door behind her.
Uitvoer
1
00:00:01,000 --> 00:00:03,127
She walked into the room and closed the
2
00:00:03,127 --> 00:00:04,000
door behind her.
Twee stukken van 39 en 16 tekens, en de drie seconden worden 2127 tegen 873 verdeeld. De knip valt op de spatie voor „door” in plaats van precies bij het 42e teken, zodat geen woord wordt gebroken. Had dit blok een stijl, dan zou het eerste stuk die houden en zou het verslag zeggen dat er één nieuw blok zonder stijl uitkwam.
Chinese tekst, waar geen spaties zijn om op te breken
Invoer
1
00:00:01,000 --> 00:00:04,000
我们今天下午三点在会议室开会讨论明年的计划。
Uitvoer
1
00:00:01,000 --> 00:00:02,364
我们今天下午三点在会
2
00:00:02,364 --> 00:00:03,727
议室开会讨论明年的计
3
00:00:03,727 --> 00:00:04,000
划。
Met een limiet van 10 komen de 22 tekens er als 10, 10 en 2 uit. Een breuk naast een ideografisch teken telt als breekpunt, dus Chinese en Japanse bestanden verdelen op hun eigen voorwaarden; elk ideografisch teken telt als één teken, dus de limiet betekent hier hetzelfde als in het Nederlands.
Een bestand dat al binnen de limiet valt
Invoer
1
00:00:01,000 --> 00:00:02,000
A short one.
2
00:00:03,000 --> 00:00:04,000
And another.
Uitvoer
1
00:00:01,000 --> 00:00:02,000
A short one.
2
00:00:03,000 --> 00:00:04,000
And another.
Niets hier is langer dan 100 tekens, dus niets wordt verdeeld en de uitvoer is de invoer byte voor byte, nummers inbegrepen. Dit is de run om eerst te maken wanneer je niet zeker weet wat er in een bestand zit: een limiet die te hoog staat kan alleen niets doen.
Veelgestelde vragen
Waar komt de limiet van 42 tekens op deze pagina vandaan?
Het is het plafond per regel waarop de meeste ondertitelstijlgidsen en omroepspecificaties uitkomen, en het komt uit leesgedrag en niet uit één document: een kijker volgt op normale kijkafstand ongeveer 42 tekens comfortabel in één regel. Twee zulke regels zijn het gebruikelijke maximum voor één blok, en daarom begint dit veld bij 42. Verhoog het voor een bestand dat je alleen op een computer leest, en verlaag het voor materiaal dat op een telefoon op armlengte wordt bekeken.
Verandert het splitsen van een regel wanneer de ondertitel op het scherm verschijnt?
Het blok als geheel verschijnt en verdwijnt op precies dezelfde momenten: het eerste stuk begint waar het origineel begon, het laatste eindigt waar het origineel eindigde. Binnen die span nemen de stukken om de beurt, naar verhouding van hoeveel tekst elk houdt, dus een stuk met twee keer zoveel tekst blijft ongeveer twee keer zo lang staan. Dat aandeel wordt uit de tekentellingen berekend en niet uit iets in het bestand, omdat het bestand alleen ooit zei wanneer de hele regel in beeld was.
Nummert het gereedschap het bestand na het splitsen opnieuw?
Ja, en het is de moeite waard te weten waarom. Een bestand waarvan het aantal blokken veranderde, wordt in tijdvolgorde geschreven en vanaf 1 genummerd, zodat de nummers een telling blijven van wat er in het bestand zit en geen labels met gaten erin. Het praktische gevolg is dat een bestand dat je splitste niet meer blok voor blok op de nummerlijn met het origineel te vergelijken is — vergelijk ze op de tijdasvoorbeeld, of houd het origineel ernaast.
Kan splitsen tekst verliezen of een blok met stijl breken?
Er gaat geen teken verloren: elk stuk is een doorlopende reeks van de oorspronkelijke tekst, inclusief eventuele regeleinden erin, en alleen de witruimte aan de twee knipranden wordt weggehaald. Wat verandert, is dat een stijl, een positie of een karaoketiming bij het blok hoort waarop hij is geschreven, dus hij blijft bij het eerste stuk en de stukken die erna worden gemaakt hebben er geen. Het verslag telt de blokken die zo hun opmaak verloren, en je kunt het zien voordat je downloadt.
Wat gebeurt er met een woord dat langer is dan de limiet?
Het wordt midden door geknipt, en dat is het enige geval waarin het gereedschap een woord breekt. Het alternatief zou zijn het stuk voorbij de limiet te laten lopen, en de limiet is waar je hem voor instelde, dus de knip wint. Lange URL’s, hashes en reeksen cijfers zijn de gebruikelijke boosdoeners. Zet de limiet boven de langste ononderbroken reeks in het bestand als je die liever heel houdt, en bedenk dat Thai of Khmer hier als een lange URL werkt — het heeft geen spaties en geen ideografische tekens om naast te breken.
Moet ik deze pagina gebruiken of die op duur splitst?
Vraag waar de lezer op stukloopt. Staat een regel lang genoeg in beeld maar houdt hij te veel om in één keer te lezen, dan is het probleem tekens en is dit de pagina. Houdt een regel een comfortabele hoeveelheid tekst maar blijft hij staan nadat iedereen hem al gelezen heeft, dan is het probleem seconden en is de duurpagina degene. Een blok dat zowel te lang als te traag is heeft beide runs nodig, en deze eerst laten lopen is de veiligere volgorde: hij kan de stukken alleen korter maken, terwijl het verhogen of verlagen van een duurlimiet tijden verandert die je misschien al had ingesteld.