Convertir SRT en SMI
Ou collez le texte d'un sous-titre
Ce que cette conversion change
Rien n'est perdu dans ce sens — chaque fonctionnalité du format source a un équivalent dans le format cible.
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 SRT en SMI (SAMI). Le SMI n'écrit pas de numéros de blocs ni de lignes de code temporel : chaque sous-titre est une balise SYNC Start= suivie de son texte dans un élément P, et un bloc vide remet l'écran à zéro.
Rien n'est perdu dans ce sens : la chronologie, les retours à la ligne et le texte survivent. Le SRT écrit un instant sous la forme 00:00:04,126 et le SMI écrit le même instant sous la forme Start=4126, sans arrondi ni décalage.
Un fichier suffit, une saison entière aussi : la file les traite dans l'ordre et rend un seul ZIP. La conversion se fait dans le navigateur.
Exemples
Un fichier SRT typique, converti en SMI
Entrée
1
00:00:01,000 --> 00:00:03,500
Hello there.
2
00:00:03,500 --> 00:00:06,000
<i>Whispering</i> now.
And a second line.
3
00:00:06,000 --> 00:00:09,250
<b>Bold</b> statement.
Sortie
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P>Hello there.
<SYNC Start=3500>
<P>
<SYNC Start=3500>
<P><i>Whispering</i> now.<br>And a second line.
<SYNC Start=6000>
<P>
<SYNC Start=6000>
<P><b>Bold</b> statement.
<SYNC Start=9250>
<P>
</BODY>
</SAMI>
Aucune perte dans ce sens : les deux colonnes se comparent ligne par ligne.
La même conversion sur une entrée mal formée
Entrée
1
0:00:01,00 --> 0:00:03,500
<B>Bold</B> and <I>italic</I>.
2
00:00:03,500 --> 00:00:06,000
3
00:00:08,000 --> 00:00:09,000
Last one.
Sortie
<SAMI>
<HEAD>
<STYLE TYPE="text/css">
<!--
P { text-align: center; font-family: Arial, sans-serif; }
-->
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P><b>Bold</b> and <i>italic</i>.
<SYNC Start=3500>
<P>
<SYNC Start=3500>
<SYNC Start=6000>
<P>
<SYNC Start=8000>
<P>Last one.
<SYNC Start=9000>
<P>
</BODY>
</SAMI>
C'est le genre de dégâts que portent les vrais fichiers : fins de ligne mélangées, espaces parasites, champs vides. Comparez avec l'exemple propre ci-dessus pour voir ce que l'analyseur pardonne.
Questions fréquentes
À quoi ressemble la sortie quand un SRT devient un SMI ?
À du SMI : pas de numéros ni de ligne de code temporel, chaque bloc est une balise SYNC Start= avec son texte dans un P, suivie d'un bloc P vide qui remet l'écran à zéro. Chaque bloc SRT donne un bloc SMI, dans le même ordre.
Les temps du SRT sont-ils exacts dans le fichier SMI ?
Oui, à la milliseconde : le SRT écrit 00:00:04,126 et le SMI écrit Start=4126. Rien n'est arrondi entre les deux formats, et un bloc affiché 2,9 secondes le reste.
Comment un bloc SRT de deux lignes sort-il en SMI ?
Deux lignes séparées par une balise br, qui est la manière dont le SAMI écrit un saut de ligne dur. La paire reste un seul sous-titre dans la sortie SMI.
Les balises d'italique et de gras du SRT passent-elles en SMI ?
Oui : le SMI accepte b, i, u et font color dans le texte, donc les balises en ligne du SRT sont conservées telles quelles. Aucun style global n'est nécessaire pour les transmettre.
Les blocs SRT gardent-ils leur ordre dans le SMI ?
Oui, et ils sont triés par début croissant au passage. Un SRT dont les blocs étaient dans le désordre ressort chronologique, ce qui change la structure du fichier mais pas son contenu.
Que perd le retour SMI vers SRT ?
Le retour a sa propre liste : le style, le positionnement et les constructions propres au SMI. Le SRT ne peut ni placer un bloc ni conserver les attributs du SMI, donc ces informations ne reviennent pas.
Le SMI produit est-il lisible par les navigateurs ?
Oui, c'est un format de sous-titres pour le web ; le fichier produit est en UTF-8, avec des fins de ligne Unix et sans BOM, quel que soit l'encodage du SRT d'origine.