Convertir SMI en SBV
Ou collez le texte d'un sous-titre
Ce que cette conversion change
3 é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)
- 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 SAMI (`.smi`) en SBV, le format des sous-titres YouTube. Le SAMI place ses blocs dans un document HTML et efface l’écran avec un `<SYNC>` vide ; le SBV écrit deux horodatages sur une ligne, puis le texte.
Trois familles se perdent : le style, la position et les constructions propres à SAMI. Le rapport affiché en haut de page vient des capacités déclarées par chaque format, pas de votre fichier : il ne change donc pas selon ce que vous déposez, et il nomme chaque famille de données qui n’a pas de place dans la sortie.
Le résultat est une suite de blocs SBV, avec les mêmes instants à la milliseconde et le même texte. Tout se passe dans le navigateur, sans envoi ni compte. Plusieurs fichiers peuvent être déposés ensemble : la file les traite l’un après l’autre, l’annulation est possible, et les résultats arrivent dans une archive ZIP.
Exemples
Un fichier SAMI courant converti en SBV
Entrée
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial; }
.ENCC { Name: English; lang: en-US; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello there.
<SYNC Start=3000>
<P Class=ENCC>
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>
</BODY>
</SAMI>
Sortie
0:00:01.000,0:00:03.000
Hello there.
0:00:03.500,0:00:06.000
How are you?
Fine, thanks.
Perdus dans cette sortie : le style, la position et la structure SAMI. Les couples de temps et le texte restent, à la milliseconde.
La même conversion sur une entrée abîmée
Entrée
<SAMI>
<HEAD>
<TITLE>Episode 1</TITLE>
<STYLE TYPE="text/css">
<!--
.ENCC { Name: English; }
-->
</STYLE>
</HEAD>
<BODY>
<sync start="00:00:02,500">
<P Class=ENCC>Line one<br>Line two
<sync start=9000>
<P Class=ENCC>Tom & Jerry
<SYNC Start=12000>
<P Class=ENCC>
</BODY>
</SAMI>
Sortie
0:00:02.500,0:00:09.000
Line one
Line two
0:00:09.000,0:00:12.000
Tom & Jerry
SYNC orphelins, entités non décodées et blocs sans texte : les blocs valides sortent en SBV, les autres sont écartés et comptés.
Questions fréquentes
À quoi ressemble la sortie quand un SAMI devient un SBV ?
À du SBV : une ligne `0:00:04.126,0:00:06.250`, puis le texte, puis une ligne vide. Chaque bloc SAMI donne un bloc SBV, dans le même ordre et avec le même contenu textuel ; les balises HTML ne sont pas recopiées.
Comment le SBV calcule-t-il la fin d’un bloc SAMI ?
Le SAMI n’écrit aucune fin : elle est donnée par le `<SYNC>` suivant, qui remplace l’écran. La conversion prend donc cet instant comme fin, et pour le dernier bloc, fabrique une durée à partir du texte. Le SBV exige ce couple, même si le document d’origine ne l’écrivait pas.
Que deviennent le bloc STYLE et les attributs Class du SAMI dans le SBV ?
Ils disparaissent. Le SBV ne stocke que du texte : ni feuille de style, ni classe, ni position. Un `<P Class=ENCC>` devient donc une ligne de texte ordinaire, et l’apparence que le lecteur SAMI appliquait n’est plus décrite nulle part.
Comment un paragraphe SAMI sur deux lignes sort-il en SBV ?
En deux lignes successives dans le même bloc SBV. Le `<br>` est traduit en saut de ligne, et les deux lignes restent groupées : le lecteur les affiche ensemble, comme le faisait le lecteur du document SAMI d’origine.
Les blocs SAMI conservent-ils leur ordre dans le SBV produit ?
Oui, et ils sont triés par heure de début au passage. Un fichier SAMI dont les `<SYNC>` se chevauchaient ressort rangé par début croissant, ce qui est nécessaire pour que les blocs SBV s’enchaînent sans ambiguïté.
Le retour du SBV vers le SAMI est-il sans perte ?
Non : le SBV vers SAMI redonne un document minimal, sans `<STYLE>`, sans `<TITLE>` et sans classes, parce que le SBV ne contient rien de tel. La direction de cette page perd de même le style et la position, mais conserve les instants au millième.