Qu'est-ce que le format de fichier ASS ?
Un fichier avec l'extension .ass contient un script pour créer du texte de sous-titres vidéo formaté selon la norme SubStation Alpha. Les fichiers .ass sont le plus souvent créés et édités dans Aegisub, un outil multiplateforme open-source pour la création et l'édition de sous-titres vidéo. Un fichier .ass est du texte brut UTF-8 divisé en quatre ou cinq sections, qui contiennent :
- *Script Info* - version, auteur, titre et informations générales relatives au format d'écran et à la résolution,
- *V4+ Styles* - informations sur le formatage du texte et les styles, incluant :
- Polices,
- Taille de police,
- Couleurs,
- Positionnement,
- Alignement du texte,
- *Events* - liste des événements et des timings de texte au format
H:MM:SS.cc, ainsi que des attributs supplémentaires par ligne, - *Pictures* - images encodées en UUE (optionnel),
- *Fonts* - données de polices intégrées (optionnel).
Le format .ass est une extension de la norme SubStation Alpha qui suit de près la spécification SSA v4+. Les fichiers conformes à la norme de base SSA v4 utilisent l'extension .SSA. Les scripts de sous-titres .ass sont utilisés pour superposer des sous-titres sur la vidéo dans un processus appelé *hardsubbing*. Les conteneurs multimédias Matroska prennent également en charge les sous-titres .ass, qui peuvent être intégrés en tant que flux séparé - une technique connue sous le nom de *softsubbing*. Comparé à des formats plus simples comme .SRT, le .ass permet des effets de timing karaoké par ligne, le suivi de mouvement (motion tracking) et la transparence du canal alpha.
Sécurité et sûreté
RISQUE : LOWUn fichier .ass est du texte brut et ne peut pas exécuter de code, le fichier est donc sûr à ouvrir. Deux précautions mineures : (1) gardez votre lecteur multimédia à jour - des recherches datant de quelques années (« Subtitle Hell », 2017) ont montré qu'une analyse de sous-titres malformés pouvait être exploitée par certains lecteurs ; (2) l'ASS peut référencer des polices externes, et une mise en page ou un karaoké très lourd peut momentanément solliciter un lecteur peu puissant, mais aucun des deux n'est un risque de sécurité. Enregistrez en UTF-8 pour que les caractères non latins s'affichent correctement.
Détails du format
en brefProgrammes qui ouvrent les fichiers ASS
Détails techniques
spécifications approfondies| Encodage du fichier | Texte brut UTF-8 ; éventuellement précédé d'un BOM UTF-8 (EF BB BF) |
| Type MIME | text/x-ssa |
| Identification du fichier | Pas d'octets magiques binaires ; le fichier commence toujours par l'en-tête de section `[Script Info]` sur la première ligne |
| Sections requises | `[Script Info]`, `[V4+ Styles]`, `[Events]` |
| Sections optionnelles | `[Fonts]` (données de polices intégrées) et `[Graphics]` (images encodées en UUE) |
| Format de timing | `H:MM:SS.cc` - heures, minutes, secondes, centièmes de seconde ; offre une résolution de 10 ms par événement de sous-titre |
| Balises de remplacement en ligne | Remplacements de style entre `{}`, ex: `{\b1}` (gras activé), `{\i1}` (italique), `{\pos(x,y)}` (position absolue), `{\an}` (alignement pavé numérique) |
| Support karaoké | Timing au niveau de la syllabe via les balises `{\k}` (balayage), `{\kf}` (remplissage progressif) et `{\ko}` (contour progressif) |
| Format de couleur | Notation hexadécimale ABGR, ex: `&H00FFFFFF&` ; les canaux de couleur Primaire, Secondaire, Contour et Arrière-plan portent chacun un octet alpha indépendant |
| Balises d'animation | `{\move()}`, `{\fade()}` et `{\t()}` permettent l'animation de position, les transitions en fondu et l'interpolation temporelle de n'importe quel paramètre de style |
| Mode dessin | Rendu de formes vectorielles activé par `{\p1}` ; prend en charge les segments de ligne, les courbes de Bézier et les commandes B-spline pour les graphiques à l'écran |
| Champ de couche (Layer) | Chaque événement `Dialogue:` porte un entier `Layer` ; les valeurs plus élevées s'affichent par-dessus, permettant le compositing multicouche au sein d'un flux de sous-titres |
| Contrôle du retour à la ligne | `WrapStyle` dans `[Script Info]` : 0 = retour intelligent, 1 = saut en fin de ligne, 2 = pas de retour, 3 = retour intelligent inversé |
| Gestion des collisions | La propriété `Collisions` régit les lignes qui se chevauchent - `Normal` pousse les lignes vers le haut pour éviter le chevauchement ; `Reverse` les laisse dans la position déclarée |
| Intégration en conteneur | Stocké nativement comme piste de sous-titres dans les fichiers Matroska (`.mkv`) avec l'ID de codec `S_TEXT/ASS` |
| Publié | Advanced SubStation Alpha (ASS) early 2000s, extending SubStation Alpha (SSA, 1998) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.tcax.org |