Aller au contenu principal
SubtitleMatrix

Convertir SMI en VTT

Ou collez le texte d'un sous-titre

Ce que cette conversion change

2 éléments perdus ou à décider

  • 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 WebVTT, le format des sous-titres HTML5. Le SAMI est un document HTML synchronisé par `<SYNC>` et `<P Class=…>` ; le WebVTT est une suite de blocs avec deux timecodes et une flèche, sous un en-tête `WEBVTT`.

Deux familles se perdent : 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 texte, les sauts de ligne et les instants au millième sont conservés. 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 WebVTT

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>&nbsp;
<SYNC Start=3500>
<P Class=ENCC>How are you?<br>Fine, thanks.
<SYNC Start=6000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Sortie

WEBVTT

00:00:01.000 --> 00:00:03.000
Hello there.

00:00:03.500 --> 00:00:06.000
How are you?
Fine, thanks.

Perdus dans cette sortie : la position et la structure SAMI. Les blocs passent en VTT avec le même texte et les mêmes instants.

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 &amp; Jerry
<SYNC Start=12000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>

Sortie

WEBVTT

00:00:02.500 --> 00:00:09.000
Line one
Line two

00:00:09.000 --> 00:00:12.000
Tom &amp; Jerry

BOM, entités HTML et SYNC sans paragraphe : le WebVTT produit reste valide, et les blocs réparés ou écartés sont signalés.

Questions fréquentes

À quoi ressemble la sortie quand un SAMI devient un WebVTT ?

À du WebVTT : l’en-tête `WEBVTT`, puis un bloc par sous-titre avec `00:00:04.126 --> 00:00:06.250` et le texte. Un bloc SAMI donne un bloc VTT, dans le même ordre, et les balises HTML du document d’origine ne sont pas recopiées.

Que devient la position dans un SAMI converti en WebVTT ?

Elle est perdue. Le SAMI la décrit dans son bloc `<STYLE>` et ses classes ; le WebVTT a ses propres réglages de position sur chaque bloc, mais ils ne sont pas déduits d’une feuille CSS. Les blocs sortent donc sans placement explicite, et c’est le lecteur qui décide de l’emplacement.

Comment le WebVTT calcule-t-il la fin d’un bloc SAMI ?

Le SAMI ne fournit pas de fin : le `<SYNC>` suivant remplace l’écran et termine le bloc. La conversion reprend cet instant comme second timecode, et génère une durée pour le dernier bloc. Le WebVTT a besoin de cette borne pour écrire sa flèche et son couple de temps.

Comment un paragraphe SAMI sur deux lignes sort-il en WebVTT ?

En deux lignes dans le même bloc VTT, l’une sous l’autre : le `<br>` est traduit en saut de ligne dur. Les deux lignes restent un seul sous-titre et ne deviennent pas deux blocs, ce qui reproduit le regroupement du paragraphe d’origine.

Les blocs SAMI conservent-ils leur ordre dans le WebVTT produit ?

Oui, et ils sont triés par heure de début au passage. Un fichier dont les `<SYNC>` se chevauchaient ressort chronologique ; le WebVTT se lit dans l’ordre du document, cet ordre doit donc être cohérent avec les temps.

Que perd le retour du WebVTT vers le SAMI ?

Le WebVTT vers SAMI perd les réglages `NOTE`, `STYLE` et `REGION` ainsi que les identifiants de bloc, qu’un SAMI ne modélise pas. Cette page-ci, dans le sens SAMI vers WebVTT, perd la position et la structure SAMI, mais conserve le texte et les instants.

Outils associés