Convertir MicroDVD en JSON
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.
Ce que cette conversion change
1 élément perdu ou à décider
- Fréquence d'images
la source stocke les temps en numéros d'image — chaque code temporel dépend de la fréquence d'images que vous fournissez
Ce rapport de pertes vient de la matrice de capacités de ces deux formats, pas du fichier particulier que vous avez chargé. Un fichier précis peut perdre davantage s'il utilise des fonctionnalités que le format autorise mais que la matrice ne modélise pas.
Cette page convertit un fichier MicroDVD en JSON. La sortie contient une version, le champ fps utilisé pour le calcul et un tableau cues dont chaque entrée porte start, end et lines. Les temps sont des millisecondes entières, obtenues en divisant les numéros d’images par la fréquence.
Le champ fps du JSON vaut la fréquence appliquée pendant la conversion : celle du champ de la page, sinon la déclaration du fichier, sinon 25. Il permet à un autre outil de retrouver les images d’origine par multiplication, puisque les numéros d’images eux-mêmes ne sont pas recopiés dans les blocs.
Une barre verticale devient une entrée distincte du tableau lines, et un bloc sans texte produit une ligne vide. La déclaration {1}{1}23.976 de la source n’est pas écrite comme un cue : elle sert de réglage, pas de sous-titre. La conversion reste dans le navigateur.
Exemples
Un fichier MicroDVD typique, converti en JSON
Entrée
{1}{1}25
{100}{150}The quick brown fox jumps over the lazy dog.
{200}{260}Faster than|the last one.
Sortie
{
"version": 1,
"fps": 25,
"cues": [
{
"start": 4000,
"end": 6000,
"lines": [
"The quick brown fox jumps over the lazy dog."
]
},
{
"start": 8000,
"end": 10400,
"lines": [
"Faster than",
"the last one."
]
}
]
}
Le champ fps enregistre la fréquence employée et le bloc de deux lignes devient deux entrées dans lines.
La même conversion sur une entrée abîmée
Entrée
{1}{1}23.976
{0100}{0150}Leading zeros in the frame numbers.
[INFORMATION]
{300}{340}An unrecognized line above was kept in place.
{400}{450}Trailing spaces are kept.
Sortie
{
"version": 1,
"fps": 25,
"cues": [
{
"start": 4000,
"end": 6000,
"lines": [
"Leading zeros in the frame numbers."
]
},
{
"start": 12000,
"end": 13600,
"lines": [
"An unrecognized line above was kept in place."
]
},
{
"start": 16000,
"end": 18000,
"lines": [
"Trailing spaces are kept. "
]
}
]
}
La déclaration du fichier est consommée comme réglage ; le champ de la page reste prioritaire et la ligne inconnue ne produit pas de cue.
Questions fréquentes
À quoi sert le champ fps du JSON ?
Il note la fréquence avec laquelle les numéros d’images ont été convertis en millisecondes. Sans lui, un outil qui relit le JSON ne saurait pas quelle multiplication appliquer pour retrouver les images. La valeur affichée est celle réellement utilisée, pas nécessairement celle déclarée dans le fichier.
Comment les blocs sont-ils calculés en millisecondes ?
Chaque numéro d’image est divisé par la fréquence puis multiplié par 1 000, et le résultat est arrondi. À 25 fps, {100}{150} donne 4000 et 6000 ms. À 23,976 fps, les mêmes images donnent environ 4171 et 6256 ms.
Le JSON conserve-t-il les numéros d’images d’origine ?
Non, seules les millisecondes apparaissent dans les blocs. Le champ fps permet de retrouver une valeur approchée des images, mais l’original exact n’est pas stocké. Si le numéro d’image importe, gardez le fichier MicroDVD source à côté du JSON.
Que devient la déclaration {1}{1}23.976 du fichier ?
Elle est lue comme une déclaration de fréquence, pas comme un sous-titre, et n’apparaît donc pas dans cues. Le calcul utilise le champ de la page s’il est rempli ; la déclaration ne sert que si ce champ est vide. À défaut, 25 fps s’applique.
Les barres verticales du texte deviennent-elles des sauts de ligne ?
Oui. Un texte comme Faster than|the last one. donne deux chaînes dans le tableau lines du même bloc. Le JSON ne stocke pas la barre elle-même : la séparation en lignes est déjà faite, ce qui évite au consommateur de connaître la convention du format.
Le JSON est-il plus précis que l’ASS pour ces fichiers ?
Oui pour la restitution des temps : le JSON écrit des millisecondes entières, alors que l’ASS arrondit au centième. Le JSON ne gagne pas pour autant la précision d’origine, qui reste limitée par la grille d’images de la source et par la fréquence choisie.