Aller au contenu principal
SubtitleMatrix

Décaler par nombre d'images

SynchronisationDécaler d’une valeur fixe
Ou collez le texte d'un sous-titre

Options

Nombre entier d'images à déplacer, converti par la fréquence d'images ci-dessous. À utiliser quand la source est un .sub MicroDVD, ou quand la note de travail compte en images plutôt qu'en secondes.

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 décale un fichier d’un nombre d’images, avec la fréquence d’images comme second terme du calcul. Douze images à 25 fps valent 480 ms ; à 24 fps, 500 ms ; à 23,976 fps, 500,5 ms. Les deux bornes de chaque bloc bougent ensemble, donc aucune durée ne change.

La fréquence n’est pas un détail ici : elle transforme le compte en millisecondes pour tous les formats, y compris ceux qui n’en déclarent pas. Se tromper de fréquence ne provoque aucune erreur visible ; le fichier glisse simplement d’une proportion, ce qui peut représenter des minutes sur un long métrage. Les valeurs usuelles sont proposées à côté du champ.

Un décalage qui tombe entre deux millisecondes est arrondi une seule fois, avant toute autre opération, parce qu’aucun format de sous-titres ne stocke de fraction de milliseconde. Tout le reste du calcul travaille ensuite en millisecondes entières, ce qui garantit que l’aperçu et le fichier téléchargé décrivent la même timeline.

Un bloc poussé avant le début voit son début fixé à 00:00:00,000 tandis que sa fin continue de bouger ; un bloc dont la fin tombe à zéro ou avant est supprimé. SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON et CSV sont lus selon leur contenu réel, sans envoi, et la file d’attente accepte une saison entière.

Exemples

Douze images à 25 fps

Entrée

1
00:00:01,000 --> 00:00:03,000
Hello there.

2
00:00:05,500 --> 00:00:08,000
Second line.

Sortie

1
00:00:01,480 --> 00:00:03,480
Hello there.

2
00:00:05,980 --> 00:00:08,480
Second line.

Douze images à 25 fps valent 480 ms. Une fréquence entière donne un résultat entier, ce qui rend ce cas facile à contrôler contre la timeline d’où viennent les images.

Les mêmes douze images à 23,976 fps

Entrée

1
00:00:01,000 --> 00:00:03,000
Twenty-three point nine seven six.

Sortie

1
00:00:01,501 --> 00:00:03,501
Twenty-three point nine seven six.

500,5 ms sont arrondis à 501 ms une seule fois, avant d’appliquer le décalage. Rien ne reste à une demi-milliseconde près.

Un nombre d’images négatif

Entrée

1
00:00:00,200 --> 00:00:02,000
Starts almost immediately.

2
00:00:05,000 --> 00:00:06,000
Later.

Sortie

1
00:00:00,000 --> 00:00:01,600
Starts almost immediately.

2
00:00:04,600 --> 00:00:05,600
Later.

Moins dix images à 25 fps valent 400 ms plus tôt. Le bloc 1 commencerait 200 ms avant zéro : son début y est fixé pendant que sa fin recule des 400 ms complets.

Questions fréquentes

Pourquoi la page exige-t-elle un champ fps en plus de offsetFrames ?

Parce qu’un nombre d’images ne devient une durée qu’avec la fréquence. La valeur saisie sert au calcul pour tous les formats, pas seulement pour MicroDVD. Sans elle, la page refuse de démarrer plutôt que de deviner un taux.

Que vaut offsetFrames = 12 selon la fréquence choisie ?

480 ms à 25 fps, 500 ms à 24 fps et 500,5 ms à 23,976 fps, arrondi à 501 ms avant application. Un taux entier donne un résultat entier ; un taux fractionnaire introduit cet arrondi unique, puis plus rien ne bouge.

Un décalage en images peut-il tomber entre deux millisecondes ?

Le calcul le peut, et le résultat est arrondi au milliseconde le plus proche une seule fois, avant d’être appliqué. Répéter l’arrondi à chaque horodatage ferait dériver les blocs les uns par rapport aux autres.

Puis-je saisir une demi-image dans offsetFrames ?

Non, le champ n’accepte que des entiers. Une demi-image n’est une position que peu de lecteurs savent atteindre, et l’accepter obligerait la page à arrondir en silence une valeur que vous croyiez exacte.

Que se passe-t-il si le champ fps est vide ?

La page ne lance pas le traitement. Deviner une fréquence ou ne rien faire produirait dans les deux cas un fichier qui semble traité sans l’être. Le champ est donc requis, et les taux courants sont listés à côté.

Un offsetFrames négatif peut-il faire disparaître un bloc ?

Oui, dans deux cas déjà connus des autres décalages. Un début ramené avant zéro est fixé à 00:00:00,000 et le bloc raccourcit ; un bloc dont la fin tombe à zéro ou avant est supprimé. Les deux compteurs sont reportés.

Outils associés