Sous-titre WebVTT (.vtt)

Recommandation Standard

Web Video Text Tracks (WebVTT) est la norme web officielle du W3C pour les sous-titres, les sous-titres pour sourds et malentendants et les descriptions de chapitres, intégrée nativement aux éléments vidéo HTML5 (<track>) et à la diffusion en direct HTTP moderne (HLS).

Convertir SRT en VTT

Outil de conversion gratuit de SRT vers VTT dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.

Inspection et métadonnées

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers WebVTT en inspectant leur séquence initiale d'octets binaires :

Sélectionnez ou déposez des fichiers ici

Privé - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet envoyé vers des serveurs externes. Tout le traitement a eu lieu localement dans le bac à sable de votre navigateur.

Signature d'en-tête au niveau des octets (octets magiques)

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers WebVTT en inspectant leur séquence initiale d'octets binaires :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

57 45 42 56 54 54

REPRÉSENTATION ASCII : WEBVTT

Normalisation : Recommandation WebVTT du W3C

Spécifications techniques

Architecture de conteneurFichier texte UTF-8 commençant par la signature 'WEBVTT', suivie de blocs STYLE et NOTE optionnels et de blocs de repères séquentiels
CompressionTexte brut non compressé (généralement compressé sur HTTP via Gzip ou Brotli)
Ordre des octetsFlux de texte UTF-8
Espaces colorimétriquesPrise en charge complète du module de couleurs CSS niveau 4 dans les styles de repères
Canaux et structureRepères temporels, niveau de confiance de la reconnaissance vocale, style CSS et paramètres de position à l'écran
Dimensions maximalesRepères séquentiels illimités
TransparenceOpacité CSS complète et transparence alpha prises en charge via le pseudo-élément '::cue'
Prise en charge du traitement en continuDiffusion en continu native dans les éléments HTML5 <video> et les manifestes vidéo en direct HLS / DASH

Matrice de comparaison technique : WebVTT face aux concurrents

Attribut techniqueWebVTT (Actuel)SRTASSSUB
Intégration web HTML5Standard 100 % natif (<track>)Nécessite une conversion JSNécessite WebAssemblyNécessite une conversion
Styles CSSStyles CSS natifs complets (::cue)Balises HTML de base uniquementBalises de contournement propriétairesAucune
Diffusion en continu HLS / DASHFormat universel de sous-titres pour la diffusion en continuPris en charge via le multiplexagePrise en charge limitée de la diffusion en continuAucune
Exigence d'en-têtePremière ligne strictement égale à « WEBVTT »Aucun en-tête requisSection [Script Info]Aucun en-tête requis

Modes de corruption courants et guide de restauration hexadécimale

Erreur de la console du navigateur : 'Fichier WebVTT mal formé : signature WEBVTT manquante'.

Cause initiale: Absence de la chaîne 'WEBVTT' sur la ligne 1, ou présence de lignes vides avant l'en-tête.

Récupération: Ajoutez 'WEBVTT\n\n' au tout début du fichier à l'aide du convertisseur de sous-titres File2File.app.

Analyse de sécurité et vecteurs d'attaque de l'analyseur

Les analyseurs WebVTT des navigateurs web traitent des repères non sécurisés qui peuvent entraîner des failles de type scripts intersites (XSS) s'ils sont affichés sans nettoyage dans le DOM.

Vecteurs d’attaque connus

  • Injection XSS via des contenus de repères HTML non nettoyés insérés dans le DOM du lecteur vidéo web.
  • Falsification de requête côté serveur (SSRF) lors de la génération automatisée de miniatures de sous-titres côté serveur.
  • Déni de service par le biais de sélecteurs de repères CSS mal formés.

Bonnes pratiques de défense: Appuyez-vous sur le rendu natif de l'élément <track> par le navigateur et assainissez le contenu des repères avant toute insertion manuelle dans le DOM.

Origines historiques et jalons

2019Le W3C fait officiellement passer WebVTT (Web Video Text Tracks) au stade de projet de recommandation.
2011Renommé de WebSRT en WebVTT pour établir un standard W3C distinct du SubRip classique.
2010Le WHATWG introduit WebVTT pour permettre le sous-titrage natif des vidéos HTML5 avec la balise <video>.

Principaux avantages

  • Standard web HTML5 natif : pris en charge directement par tous les navigateurs web dans l'élément <track> sans bibliothèques externes.
  • Riche prise en charge des styles CSS : personnalisez les couleurs, les polices, les arrière-plans et les positions à l'aide du pseudo-élément CSS natif '::cue'.
  • Prise en charge avancée de la diffusion en direct : intégration aux manifestes de diffusion en continu Apple HLS et MPEG-DASH pour les sous-titres de diffusion.

Limites techniques

  • Exigence d'en-tête stricte : le fichier doit commencer par le texte exact 'WEBVTT' sur la toute première ligne, sous peine d'être rejeté par les navigateurs.
  • Le séparateur de millisecondes par point ('00:01:20.500') nécessite une conversion à partir de fichiers SRT hérités séparés par des virgules.
  • Les anciens lecteurs matériels non intégrés aux navigateurs (comme les boîtiers multimédias USB bon marché) manquent souvent d'une prise en charge native de WebVTT.

Faits intéressants

  • Tout fichier WebVTT valide doit commencer par le mot exact « WEBVTT » à la première ligne ; sinon, les navigateurs l’ignorent.
  • WebVTT s'appelait à l'origine 'WebSRT' car il a été délibérément conçu pour ressembler presque à s'y méprendre aux sous-titres SRT classiques.
  • WebVTT peut aussi servir à définir des chapitres vidéo et des infobulles avec miniatures interactives lorsque l’on survole la barre de lecture.

Foire aux questions techniques

À quoi sert WebVTT ?

WebVTT est le format standard web officiel pour l'ajout de sous-titres, de sous-titres codés, de chapitres et de descriptions aux éléments vidéo HTML5 (<video>) sur les sites web.

Comment convertir un sous-titre SRT en WebVTT ?

Vous pouvez convertir des fichiers SRT en fichiers WebVTT propres en un seul clic à l'aide de File2File.app directement dans votre navigateur.

Pourquoi mes sous-titres WebVTT ne s'affichent-ils pas dans le navigateur ?

Vérifiez que le fichier commence par « WEBVTT » à la ligne 1, qu’une ligne vide le suit et que le serveur Web le transmet avec l’en-tête « Content-Type: text/vtt ».