Trouver les blocs inversés
Ou collez le texte d'un sous-titre
Options
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.
Un bloc qui se termine avant de commencer est un code temporel qui ne peut pas être vrai : 00:00:03,000 --> 00:00:03,000, ou pire, une fin antérieure au début. Cette page signale les fichiers qui en contenaient un, en comptant à partir des réparations que le lecteur a dû faire, car un code temporel de cette forme ne peut pas être conservé en mémoire et il est remplacé par un vrai avant que quoi que ce soit d'autre ne se produise. Ce qui revient est un rapport, jamais un fichier modifié.
C'est pourquoi le rapport commence par ce qui a été perdu pendant la lecture et n'affiche le constat qu'ensuite. Un bloc dont la fin n'est pas postérieure au début reçoit une milliseconde, afin que le reste du fichier puisse être lu, prévisualisé et exporté ; le nombre de ces réparations figure dans l'en-tête du rapport, et le constat en dessous indique une erreur sans numéro de bloc, car les réparations sont comptées au fil de la lecture plutôt que conservées dans une liste. Les deux lignes décrivent le même code temporel cassé sous deux angles, d'où leur présence dans un seul rapport plutôt que dans deux.
Le piège que cette page a dû contourner est qu'un bloc légitime d'une milliseconde ressemble exactement à un bloc réparé. Le contrôle ne regarde donc pas les durées du tout — il regarde le relevé des réparations —, et un bloc qui dure réellement une milliseconde est laissé de côté. Une durée négative et une durée nulle sont le même défaut et sont comptées ensemble. Deux formats ne sont pas acceptés, et pour une fois la raison est la même des deux côtés : LRC déduit chaque heure de fin de l'horodatage suivant, si bien qu'une paire ne peut jamais y sortir à l'envers, et le texte brut n'a aucun temps de bloc. Contrôler l'un ou l'autre produirait un rapport propre sur un champ que le format ne possède pas, la seule sorte de réponse pire qu'une absence de réponse.
Exemples
Un bloc sans durée
Sous-titres
1
00:00:01,000 --> 00:00:02,000
Where were you?
2
00:00:03,000 --> 00:00:03,000
I was working late.
Ce que le rapport constate
Cues ending before they start — 1 found
Lost while reading: Timing × 1
Severity Cues Start End Measured
Error — — — 1 items
Une fin égale au début. Le lecteur donne au bloc une milliseconde pour que le fichier puisse être tenu, enregistre la réparation, et le rapport imprime les deux moitiés : la ligne de perte dans l'en-tête et une erreur en dessous. La réparation est la preuve ; la milliseconde n'est que la forme que prend cette preuve.
Un bloc qui dure vraiment une milliseconde
Sous-titres
1
00:00:01,000 --> 00:00:02,000
Where were you?
2
00:00:03,000 --> 00:00:03,001
I was working late.
Ce que le rapport constate
Cues ending before they start — Nothing found
Cues 2
Checks run 1
Lost while reading Nothing
Écrit à la main comme un bloc d'une milliseconde et non signalé. Ce choix façonne le contrôle : un bloc de durée nulle réparé ressort lui aussi à une milliseconde, si bien qu'une règle signalant les durées courtes ici traiterait chaque fichier au code temporel cassé comme un fichier plein de blocs impossibles.
La fin précède le début
Sous-titres
1
00:00:01,000 --> 00:00:02,000
Where were you?
2
00:00:05,000 --> 00:00:02,000
I was working late.
Ce que le rapport constate
Cues ending before they start — 1 found
Lost while reading: Timing × 1
Severity Cues Start End Measured
Error — — — 1 items
De cinq secondes à deux secondes : le même défaut que la durée nulle, compté par la même règle et rapporté à l'identique. Rien dans le fichier n'est réécrit — les heures réparées existent dans la copie du lecteur pour que le reste du fichier puisse être traité, et elles ne constituent pas une correction proposée par la page.
Questions fréquentes
Qu'est-ce qui compte comme un bloc se terminant avant de commencer ?
Une heure de fin qui n'est pas postérieure à l'heure de début : soit égale, comme de 00:00:03,000 à 00:00:03,000, soit antérieure, comme de 00:00:05,000 à 00:00:02,000. Les deux sont le même défaut et sont comptées ensemble, et toutes deux sont comptées à partir de la réparation effectuée par le lecteur plutôt que du bloc, car un code temporel de cette forme ne peut pas être tenu en mémoire.
Pourquoi le rapport ne nomme-t-il pas les blocs concernés ?
Parce que ces réparations sont comptées pendant la lecture du fichier, et non rassemblées dans une liste. Le rapport donne le compte — une erreur, un élément dans la ligne de perte de l'en-tête — et les deux moitiés sont le même fait vu depuis l'en-tête et depuis les constats. Si vous avez besoin du bloc exact, cherchez le nombre de ses codes temporels dans le fichier plutôt qu'un numéro de bloc.
Un bloc d'une milliseconde est-il un problème ?
Pas ici, et c'est volontaire. Un bloc d'une milliseconde écrit à la main est légal et n'est pas signalé ; ce qui est signalé, c'est un code temporel qui a dû être réparé et qui se trouve stocké comme une milliseconde ensuite. Contrôler les durées au lieu des réparations signalerait chaque fichier contenant un bloc de durée nulle comme un fichier plein de blocs impossibles, ce qui est le mauvais constat à double titre.
Cette page corrige-t-elle les codes temporels qu'elle trouve ?
Non. Les heures réparées n'existent que dans le navigateur, afin que le reste du fichier puisse être lu et rapporté. Le fichier que vous avez déposé ou téléchargé est inchangé, et cette page ne permet pas d'enregistrer la version réparée : remplacer un code temporel cassé est une opération dont la sortie est un fichier de sous-titres, pas un contrôle.
Quels formats de sous-titres peuvent être contrôlés pour les blocs se terminant avant de commencer ?
Dix des douze : SRT, WebVTT, ASS, SSA, SBV, SMI, MicroDVD, TTML, JSON et CSV. Deux manquent et aucun par oubli. LRC stocke une heure par ligne et le lecteur déduit chaque fin de l'horodatage suivant, si bien qu'une paire ne peut jamais y être à l'envers — le contrôle jugerait un champ que le format ne possède pas. Le texte brut n'a aucun temps de bloc. Si votre fichier est dans l'un de ces deux formats, convertissez-le d'abord.
Ces codes temporels cassés viennent-ils d'endroits particuliers ?
Ils sont presque toujours produits plutôt que saisis. Une conversion de fréquence d'images qui arrondit dans le mauvais sens, un décalage appliqué deux fois au même bloc, un export de tableur où la colonne de fin est restée vide et a été lue comme zéro, et un sous-titre extrait d'un fichier en texte minuté avec un marqueur qui n'avait aucune durée au départ.
Plusieurs fichiers peuvent-ils être contrôlés en une exécution ?
Oui. Déposez autant de fichiers que vous voulez : ils sont lus l'un après l'autre, chacun produisant son propre rapport, et les rapports se téléchargent ensemble dans une archive. La file affiche la progression par fichier, l'exécution peut être annulée en cours de route et aucun fichier n'est envoyé à un moment quelconque.