Naar de hoofdinhoud
SubtitleMatrix

Twee ondertitels samenvoegen

Tekst en stijlTwee sporen samenvoegen tot één tweetalig bestand
Of plak ondertiteltekst
Of plak de tekst van het tweede bestand

Opties

Twee ondertitels zijn zelden blok voor blok gelijk, en deze keuze bepaalt wat er gebeurt overal waar ze verschillen. Overal waar een blok in het ene bestand een blok in het andere overlapt, worden de twee als hetzelfde moment behandeld en samen gedragen, waarbij de overlap bepaalt hoe lang het resultaat in beeld blijft. De rest is deze keuze. Beide bestanden behouden voegt elk niet-passend blok als eigen regel toe, zodat geen woord uit een van beide invoeren ontbreekt — en de timing van het tweede bestand blijft niet behouden, want een niet-passend blok moet toch ergens op de tijdlijn van het eerste bestand staan. De tijdlijn van het eerste bestand behouden doet het omgekeerde: de blokken van het eerste bestand behouden precies de begin- en eindtijden waarmee ze binnenkwamen, er wordt niets nieuws ingevoegd, en elk blok in het tweede bestand dat nergens bij past, valt weg. Het rapport na een run noemt altijd hoeveel dat er waren.

Zodra twee blokken als hetzelfde moment worden behandeld, moeten hun teksten het scherm delen. Twee regels onder elkaar is hoe tweetalige ondertitels normaal worden uitgezonden en hoe de meeste spelers ze verwachten: de regel van het eerste bestand staat boven die van het tweede, en het blok wordt een tweeregelig blok. Dat vereist dat het blok een regeleinde toestaat, daarom is elk formaat dat een blok als één regel opslaat helemaal van deze pagina uitgesloten in plaats van hier stil samengevoegd. In één regel samengevoegd zet beide talen op één regel, gescheiden door wat je in het veld hieronder typt, wat je wilt wanneer lezers eerst de vertaling moeten zien en het origineel terzijde — een vertalersondertitel in plaats van een tweetalige uitzendondertitel.

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 voegt twee ondertitelbestanden samen tot één. Het eerste bestand levert de tijdlijn en het formaat; het tweede levert tekst die naast de zijne komt te staan. Gekoppeld wordt op tijd: een blok uit het tweede bestand hoort bij het blok uit het eerste waarvan het tijdsbereik overlapt, hoe de twee bestanden ook zijn genoemd of genummerd.

Twee dingen kies je, en ze staan los van elkaar. De eerste keuze gaat over de tijdlijn: bewaar je de blokken van beide bestanden, of alleen die van het eerste? Bewaar je beide, dan komen blokken uit het tweede bestand die nergens bij passen als eigen blok in de uitvoer, opnieuw genummerd vanaf 1. Bewaar je alleen de eerste tijdlijn, dan worden die wezen weggegooid en geteld. De tweede keuze gaat over de tekst: twee regels, of één regel met een scheidingsteken ertussen.

De uitvoer staat in het formaat van het eerste bestand, en de tekst uit het tweede bestand erft de opmaak van het eerste. Dat is met opzet: het eerste bestand is degene die je hebt uitgekozen als degene die de presentatie bepaalt, dus een cursief uit het tweede bestand wordt geen tweede opmaakstelsel in je uitvoer. De tijden van de blokken die worden samengevoegd zijn die van het eerste bestand; het tweede bestand bepaalt alleen welke tekst erbij hoort.

Niet elk formaat kan meedoen aan de tweede kant. MicroDVD werkt met frames in plaats van tijd en heeft één framerate voor het hele bestand, dus een tweede bestand in een andere framerate zou zijn eigen tijden verkeerd laten uitvallen; LRC en platte tekst hebben geen blokken met begin- en eindtijden om op te koppelen. De negen formaten die wel kunnen zijn SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON en CSV. Alles draait in je browser, ook met twee bestanden van een paar megabyte, en er wordt niets geüpload.

Voorbeelden

Twee talen op één tijdlijn

Invoer

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

Uitvoer

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?

Het eerste bestand had twee blokken, het tweede ook, en ze overlappen allebei, dus de uitvoer heeft twee blokken met de tekst van de eerste boven en die van de tweede eronder. De tijden zijn die van het eerste bestand, en de opmaak van de tweede regel is die van de eerste — het tweede bestand leverde alleen de woorden. De scheiding tussen de twee talen is de regeleinde, geen leesteken, wat de standaardkeuze is.

Een blok in het tweede bestand dat nergens bij past

Invoer

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

Uitvoer

1
00:00:01,000 --> 00:00:03,000
Good morning. / 早上好。

2
00:00:05,000 --> 00:00:07,000
How are you? / 你好吗?

Het tweede blok van het tweede bestand valt in een gat in de tijdlijn van het eerste bestand. Omdat de tijdlijn van beide bestanden wordt bewaard, verschijnt het als eigen blok, opnieuw genummerd vanaf 1, en er wordt niets over gemeld — het is geen verlies maar een blok dat alleen in de tweede taal bestaat. Kies je in plaats daarvan alleen de eerste tijdlijn, dan zou dit blok verdwijnen en in het rapport als wees worden geteld.

Eén regel met een scheidingsteken

Invoer

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

Uitvoer

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:03,000 --> 00:00:04,500
(敲门声)

3
00:00:05,000 --> 00:00:07,000
How are you?

Dezelfde twee bestanden, maar met de tekst van beide talen op één regel en ` / ` ertussen. Dat is de tweede keuze, en ze is onafhankelijk van de eerste: je kunt de tijdlijn van beide bestanden bewaren en toch de tekst op één regel zetten. De twee regels in het eerste voorbeeld en de ene regel hier hebben dezelfde tijden en dezelfde woorden; alleen de indeling verschilt.

Veelgestelde vragen

Hoe worden de blokken van twee ondertitelbestanden aan elkaar gekoppeld?

Op overlappend tijdsbereik. Elk blok uit het tweede bestand wordt gezocht bij het blok uit het eerste bestand waarvan de tijd overlapt, ongeacht de bloknummers of de bestandsnamen. Daardoor maakt het niet uit of het tweede bestand een andere nummering heeft of met een andere starttijd begint, zolang de twee maar voor dezelfde video zijn gemaakt. Blokken zonder overlap zijn wezen, en wat ermee gebeurt hangt van je eerste keuze af.

Wat is het verschil tussen de tijdlijn van beide bestanden bewaren en alleen die van het eerste?

Bij beide bewaren worden blokken uit het tweede bestand die nergens bij passen als eigen blok in de uitvoer gezet, opnieuw genummerd vanaf 1, en blijft de tijdlijn van de tweede taal volledig aanwezig. Bij alleen het eerste bewaren wordt de uitvoer nooit breder dan de tijdlijn van het eerste bestand: die tijden blijven precies, en wezen uit het tweede bestand worden weggegooid en geteld. Het eerste is voor een vertaling die haar eigen extra regels heeft, het tweede voor een vertaling die de timing van het origineel volgt.

Waarom erft de tekst uit het tweede bestand de opmaak van het eerste?

Omdat het eerste bestand de presentatie bepaalt. Wanneer het tweede bestand cursief of kleur meebrengt, zou de uitvoer twee opmaakstelsels bevatten die elkaar op dezelfde regel tegenspreken, en de kijker zou een mengeling zien die geen van beide bestanden bedoelde. De pagina neemt daarom de woorden over en laat de opmaak van het eerste bestand gelden. Wil je de opmaak van het tweede bestand behouden, bewerk het dan eerst als het eerste bestand in de uitvoer.

Kan ik twee ondertitelbestanden met verschillende framerates samenvoegen?

Niet met MicroDVD aan de tweede kant. Dat formaat werkt met frames in plaats van tijd en heeft één framerate voor het hele bestand, dus een tweede bestand in een andere framerate zou zijn eigen tijden verkeerd laten uitvallen en de koppeling zou willekeurig zijn. De negen andere formaten werken in tijd en kunnen zonder problemen worden gekoppeld, ook wanneer het ene bestand een andere framerate declareert; die framerate raakt alleen de weergave van dat bestand, niet de koppeling.

Wat gebeurt er met de bloknummers in de samengevoegde uitvoer?

Ze worden opnieuw genummerd vanaf 1 in de volgorde van de tijdlijn van de uitvoer. De nummers van de invoerbestanden zijn administratie, geen inhoud: twee onafhankelijk gemaakte bestanden kunnen beide met 1 beginnen en hetzelfde nummer voor verschillende blokken gebruiken. Wat bewaard blijft zijn de tijden en de tekst; de nummering wordt opnieuw opgebouwd zodat ze opeenvolgend is in de uitvoer.

Welke formaten kan ik samenvoegen en welke vallen af?

SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON en CSV kunnen allemaal, als eerste of als tweede bestand. MicroDVD valt af als tweede bestand omdat het frames gebruikt en één framerate voor het hele bestand heeft; LRC en platte tekst vallen af omdat ze geen blokken met begin- en eindtijden hebben om op te koppelen. De uitvoer staat in het formaat van het eerste bestand, ongeacht wat het tweede was.

Gerelateerde hulpmiddelen