Convertir TTML en MicroDVD
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
4 éléments perdus ou à décider
- Style
tout le style (gras, italique, couleur, contour, ombre)
- Positionnement
le positionnement à l'écran (chaque bloc revient à la position par défaut)
- Fréquence d'images
ce format stocke les temps en numéros d'image — les minutages dépendent de la fréquence d'images que vous fournissez
- Contenu propre au format
le contenu que le format source garde hors de ses blocs (blocs hors sous-titres, texte d'en-tête, réglages par bloc, événements commentés) — le format cible n'a nulle part où le mettre
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 TTML en MicroDVD. Le TTML date ses paragraphes en heures, en offsets ou en images ; le MicroDVD ne connaît que des numéros d’images. Chaque borne est donc multipliée par la fréquence d’images choisie sur la page, puis arrondie à l’image la plus proche.
La fréquence du champ affiché prime. La valeur ttp:frameRate du document sert uniquement à lire les timecodes qui l’utilisent, pas à fixer la fréquence de sortie : le MicroDVD produit reçoit sa propre déclaration {1}{1}25. Un paragraphe sans end reçoit 2 000 ms avant conversion, et une ligne de deux textes devient une barre verticale.
Les styles nommés, les couleurs, les régions et le prologue XML ne sont pas repris. Le rapport signale donc une perte de mise en forme, de position, de fréquence et de contenu propre au format. Le fichier produit commence toujours par une déclaration de fréquence, même si le TTML n’en avait aucune.
Exemples
Un fichier TTML typique, converti en MicroDVD
Entrée
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en">
<head>
<styling>
<style xml:id="s1" tts:color="#FFFF00" tts:fontWeight="bold"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 20%"/>
</layout>
</head>
<body>
<div>
<p begin="00:00:01.000" end="00:00:03.500" region="bottom" style="s1">Hello <span tts:fontStyle="italic">there</span>.</p>
<p begin="00:00:03.500" end="00:00:06.000" region="bottom">How are you?<br/>Fine, thanks.</p>
</div>
</body>
</tt>
Sortie
{1}{1}25
{25}{88}Hello there.
{88}{150}How are you?|Fine, thanks.
Les paragraphes deviennent des paires d’images à 25 fps, et le paragraphe de deux lignes utilise une barre verticale.
La même conversion sur une entrée abîmée
Entrée
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:frameRate="25" xml:lang="en">
<body>
<div>
<p begin="1.5s" dur="2s">Loaded from an offset and a duration.</p>
<p begin="4s" end="00:00:06.50">A coarser clock spelling.</p>
<p begin="00:00:07:00" end="00:00:08:12">Frames, at 25fps.</p>
<p begin="9s"><span tts:color="#FF0000">Half-open</span> and Tom & Jerry.</p>
</div>
</body>
</tt>
Sortie
{1}{1}25
{38}{88}Loaded from an offset and a duration.
{100}{163}A coarser clock spelling.
{175}{212}Frames, at 25fps.
{225}{275}Half-open and Tom & Jerry.
Les offsets et durées sont convertis en images ; le paragraphe sans end reçoit 2 000 ms et les styles sont abandonnés.
Questions fréquentes
Pourquoi la fréquence d’images de la page compte-t-elle pour un TTML horloge ?
Parce que le MicroDVD ne sait pas écrire une heure : il lui faut un numéro d’image. Même un TTML entièrement exprimé en heures doit donc être multiplié par une fréquence de sortie. Cette valeur est un choix de conversion, pas une donnée du document source.
Le ttp:frameRate du fichier fixe-t-il la fréquence du MicroDVD produit ?
Non. Il sert à lire les timecodes exprimés en images, comme 00:00:07:12 ou 36f. La fréquence d’écriture est celle du champ de la page, et à défaut 25 fps. Le fichier produit déclare toujours sa propre valeur en première ligne.
Où va un paragraphe TTML de deux lignes dans le MicroDVD ?
Dans une seule paire d’images, avec une barre verticale entre les deux textes. Le MicroDVD n’a pas de bloc multi-lignes au sens XML, mais sa barre joue le même rôle et le lecteur affiche les deux lignes ensemble.
Les styles et les positions TTML sont-ils conservés ?
Non. Le MicroDVD ne contient que des numéros d’images et du texte : ni police, ni couleur, ni région d’affichage. Les tables <style> et <layout> et les balises <span> sont donc perdues, et les éventuels codes de contrôle ne sont pas fabriqués.
Comment le MicroDVD traite-t-il un paragraphe sans attribut end ?
Il reçoit 2 000 ms avant d’être converti en images. Le TTML autorise un paragraphe ouvert, mais le MicroDVD exige deux bornes : la fin est ajoutée, puis arrondie à l’image correspondante, et le rapport de pertes le mentionne.
Que perd la précision dans cette conversion ?
Le passage des millisecondes aux images. À 25 fps, une image dure 40 ms : un temps de 8 480 ms tombe sur l’image 212, mais un temps intermédiaire est arrondi à l’image la plus proche. La précision finale est donc celle de la grille d’images.