Aller au contenu principal
SubtitleMatrix

Imposer un écart minimal entre blocs

SynchronisationAllonger les blocs courts
Ou collez le texte d'un sous-titre

Options

Millisecondes d'écran vide à laisser entre la fin d'un bloc et le début du suivant. 80 ms représentent deux images à 25 fps et suffisent à empêcher deux blocs d'être lus comme un seul ; les diffuseurs demandent souvent quelques images. Quand une paire est plus proche que cela, le bloc précédent est raccourci pour ouvrir l'écart — il ne descend jamais sous une milliseconde, et une paire qui ne peut pas être séparée du montant complet est signalée plutôt que forcée.

Le vide entre deux blocs a deux bords : la fin du bloc précédent et le début du suivant. Fin déplace la fin du bloc précédent : combler un trou l'allonge et l'élargir le raccourcit ; le bloc suivant garde son minutage à la milliseconde près. Début déplace plutôt le début du bloc suivant et laisse le précédent intact. Choisissez celui dont vous faites le plus confiance au minutage — généralement le bloc dont le texte est prononcé en dernier, car un sous-titre ne doit pas apparaître avant que sa réplique soit entendue.

La fréquence d'images dans laquelle les temps sont comptés. Sur les pages de format, c'est ce dont MicroDVD a besoin, car il stocke les temps sous forme de numéros d'image. Sur les pages de fréquence d'images, c'est la cadence à laquelle le fichier a été minuté — la version pour laquelle les sous-titres ont été faits — et le second cadre de la page prend la cadence de la vidéo avec laquelle vous allez les utiliser. 23,976, 24, 25, 29,97, 30, 50, 59,94 et 60 sont les valeurs courantes. Se tromper décale toute la chronologie et, sur les pages de fréquence d'images, ce décalage est un rapport, pas un montant fixe.

Cette page impose un plancher à l’écran noir entre deux blocs : donnez un nombre de millisecondes et deux sous-titres ne sont jamais laissés plus proches que cela. Quand un couple est trop serré, le bloc précédent cède le temps — il finit plus tôt — et le suivant garde chaque milliseconde que le fichier lui donnait. Avec le plancher à 80 ms, la valeur initiale de minGapMs, deux lignes qui se confondaient redeviennent deux choses distinctes.

C’est la demande inverse du comblement de trous, et les deux ne peuvent pas cohabiter. L’une demande au plus N millisecondes d’écran noir, l’autre au moins N : une page portant les deux produirait un fichier dépendant de l’ordre des contraintes pendant que le panneau annoncerait autre chose. Ce sont donc deux pages, et les métiers diffèrent : combler les trous traite le clignotement, celle-ci traite deux répliques qui se mélangent.

Quatre-vingts millisecondes ne sont pas arbitraires : c’est deux images à 25 fps, la plus courte pause que la plupart des spectateurs perçoivent comme une pause. Si votre exigence est écrite en images, mettez la fréquence dans le champ fps et multipliez : quatre images à 24 fps valent 167 ms, deux images à 29,97 valent 67 ms. La fréquence sert aussi à lire et écrire les timecodes en numéros d’images de MicroDVD.

La borne qui bouge est un vrai choix, réglé par gapStrategy. end, par défaut, recule la fin du bloc précédent, qui quitte l’écran un peu plus tôt sans que le texte soit tronqué. start repousse l’apparition du suivant, ce qui préserve le précédent mais fait arriver la ligne après qu’elle a été entendue. Rien n’est envoyé : SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON et CSV sont acceptés.

Exemples

Deux blocs à dix millisecondes d’écart

Entrée

1
00:00:01,000 --> 00:00:02,000
First line.

2
00:00:02,010 --> 00:00:03,000
Second line.

3
00:00:03,400 --> 00:00:04,000
Third line.

Sortie

1
00:00:01,000 --> 00:00:01,930
First line.

2
00:00:02,010 --> 00:00:03,000
Second line.

3
00:00:03,400 --> 00:00:04,000
Third line.

Le premier couple est séparé de 10 ms : la première ligne finit à 1 930 au lieu de 2 000, et l’écart devient exactement 80. Le second couple est à 400 ms, bien au-dessus du plancher, et aucun de ces deux blocs ne bouge d’une milliseconde. Le second bloc est intact dans les deux couples : seul le bloc à gauche d’un écart trop serré perd du temps.

Un écart de exactement 80, et un écart de 79

Entrée

1
00:00:01,000 --> 00:00:02,000
First.

2
00:00:02,080 --> 00:00:02,500
Second.

3
00:00:02,579 --> 00:00:03,000
Third.

Sortie

1
00:00:01,000 --> 00:00:02,000
First.

2
00:00:02,080 --> 00:00:02,499
Second.

3
00:00:02,579 --> 00:00:03,000
Third.

Le plancher est un minimum, pas une cible : un écart de exactement 80 ms le satisfait déjà et reste tel quel, tandis qu’un écart de 79 ms est une milliseconde trop court et le second bloc cède exactement cette milliseconde. Les deux côtés de la frontière sont dans le même fichier pour que le test se voie : c’est ce qui fait qu’un fichier dont tous les écarts sont sur le nombre ressort intact.

Choisir la borne qui bouge

Entrée

1
00:00:01,000 --> 00:00:02,000
First.

2
00:00:02,010 --> 00:00:03,000
Second.

Sortie

1
00:00:01,000 --> 00:00:02,000
First.

2
00:00:02,080 --> 00:00:03,000
Second.

Le même couple que le premier passage, avec start choisi : la seconde ligne commence maintenant à 2 080 au lieu de 2 010, et le premier bloc garde chaque milliseconde qu’il avait. Ces 70 ms supplémentaires se voient comme une seconde ligne qui arrive un peu en retard, le prix à payer pour faire confiance au minutage du bloc antérieur — prenez cette borne quand c’est lui qui a été vérifié sur l’audio.

Questions fréquentes

D’où vient la valeur initiale de 80 ms dans minGapMs ?

De deux images à 25 fps. En dessous, un écart entre deux sous-titres se lit comme un seul bloc de deux lignes plutôt que comme un passage de relais, ce qui est exactement la confusion que le plancher doit supprimer. Une exigence en images se convertit avec le champ fps.

Quel est l’effet de gapStrategy = start plutôt que end ?

start repousse le début du bloc tardif, donc c’est le second qui perd du temps et le premier qui garde le sien. end, par défaut, recule la fin du bloc antérieur. Le premier préserve le minutage vérifié du bloc précédent ; le second garde toutes les paroles couvertes.

Cette page peut-elle aussi combler les trous ?

Non, et c’est volontaire. Elle ne fait qu’ouvrir des écarts : un couple déjà plus éloigné que votre nombre reste tel quel. Demander à la fois au plus N et au moins N serait contradictoire, d’où deux pages séparées.

Que se passe-t-il si un bloc est trop court pour céder le temps demandé ?

Il est laissé en place et le couple reste plus serré que demandé. Un bloc d’un milliseconde ne peut pas en céder 80, et le réduire à rien produirait un bloc qu’aucun lecteur n’affiche. La page signale alors un changement nul au lieu de forcer la valeur.

Un écart de exactement minGapMs est-il modifié ?

Non : le plancher est un minimum, pas une cible. Un écart de 80 ms avec minGapMs à 80 est déjà conforme ; un écart de 79 ms est à un milliseconde du seuil et le second bloc cède exactement ce milliseconde.

La page peut-elle pousser un bloc au-delà du suivant ?

Non. Avec end, seule la fin du bloc antérieur bouge, et seulement vers l’arrière : au pire elle rejoint son propre début. Avec start, le début du suivant est repoussé, jamais avancé au-delà de sa fin. Aucun chevauchement n’est créé.

Outils associés