C7 - Balises Texte de QuickTime
Pierre-Alain Dorange - juillet 2002 - mise à jour décembre 2004
Les pistes textes de QuickTime permettent d’ajouter à une séquence vidéo et/ou audio des titres, des sous-titres, des crédits, un générique déroulant…
les pistes textes servent aussi de support aux fonctions Chapitres (accès direct à une scène) et HRef (liens internet).

Les pistes textes présentent l’avantage de n’occuper que très peu de bande passante et donc ne pénalise quasiment pas le débit de votre séquence. De plus les textes affichés sont vectoriels et seront donc toujours net et précis à n’importe quelle dimension.

Les pistes texte peuvent être adaptés à vos besoins en choississant la police, la couleur, des effets d’ombre ou de transparence

Par contre le rendu est lié aux polices utilisé pour le texte et si à l'autre bout l'utilisateur ne possède pas la police originale, le rendu sera aléatoire… C'est pourquoi il est préférable d'exporter vos pistes textes complexes (comme un générique) en piste vidéo. Pour les sous-titres si vous vous contentez des polices classiques de MacOS ou de Windows (Arial, Times, Courrier et Verdana) vous n'aurez pas ou peu de problèmes de rendu.

Pour créer une piste texte vous pouvez utilisez des logiciels dédiés (voir exercice E8) mais aussi vous servir simplement d’un éditeur de texte brute (SimpleText, BBEdit ou TextEdit en prenant soin d'enregistrer au format texte brut .txt et pas rtf).
QuickTime Player Pro incorpore les pistes texte par l’import de fichier texte correctement formattés.
QuickTime Player Pro peut aussi exporter une piste texte vers un fichier texte.

La syntaxe d’un fichier texte pour créer une piste texte, commence toujours par la balise {QTText} et comprend au début des balises de paramétrage puis des marqueurs temporelles entre lesquels est indiqué le texte à afficher.

Rien ne vaut un exemple

Voici un extrait de la piste texte construire dans l’exercice E8 :

{QTtext}
{font:Gill Sans Condensed Bold}{justify:Center}{size:18}{Plain}
{textColor:65535,65535,65535}{backColor:0,0,0}
{width:480}{height:0}
{Anti-Alias:on}{Language:1}
{timeStamps:Absolute}{timeScale:600}
[00:00:07.292]
Le destin du monde est en marche...
[00:00:10.58]
[00:00:15.340]
Le domaine du mal devient de plus en plus fort
[00:00:18.417]
[00:00:20.339]
Il y a un pacte maintenant entre les 2 tours
[00:00:23.120]
[00:00:24.66]
Balador, la domaine du seigneur du mal : Sauron
[00:00:27.118]

Les balises QT sont relativement explicites (pour comprend l'anglais), ainsi ici notre piste texte utilisera la police “Gill Sans Condensed Bold” à une taille de 12, sans effet (plain) et avec des textes centrés.
La couleur du texte sera blanche, le fond noir. Le mode anti-aliasing est actif (lissage des caractères).
les dimensions de la piste sont fixés à 480 en largeur (comme le film), la hauteur sera automatique (0).
La langue de la piste est le Français (1).
Les marqueurs temporelles sont en absolu avec une echelle de 600 unités par seconde.

Tout les repères temps (inscrit entre crochets) doivent respecter toujours la même syntaxe :

  • heure (sur 2 chiffres),
  • minutes (sur 2 chiffres),
  • secondes (sur 2 chiffres),
  • unités de précision séparés par un point (.) Cette unité précise la position exacte dans la seconde en se référent a l'unité de base définit en entête (balise "TimeScale").

Le texte a afficher doit être placé impérativement entre 2 repères temps et ceux-ci doivent être présentés chronologiquement si le mode choisit est absolu (timeStamps:absolute).

Manipuler les pistes textes avec SimpleText et QuickTime Player

Vous pouvez saisir la description de votre piste texte avec un éditeur de texte brut (SimpleText ou BBEdit par exemple) et en sauvegardant ce texte.

Vous transformez ce texte (à la syntaxe Piste texte) en utilisant la fonction "importer" de QuickTime Player Pro. Vous obtenez alors une séquence QuickTime contenant une piste texte. Vous pouvez alors le sauvegarder en Séquence QuickTime (.mov) en séquence dépendante (dépendant alors du fichier texte brut) ou autonome.

Vous pouvez à nouveau exporter (menu Fichier+Exporter en Texte vers texte) une séquence QuickTime comprenant une piste texte vers un fichier texte, soit en mode "texte seul", soit en mode "texte avec descripteur". Ce dernier mode permet de retrouver le fichier original intégral.

Ainsi si vous télécharger les films du garage servant de support aux tutoriaux E8, E9 et E10 pour pourrez les exporter en texte avec descripteur pour les étudier plus attentivement.

Balises des pistes textes (Référence de la syntaxe)

{QTtext}
Balise obligatoire en début.

Balises de mise en forme du texte

{font: police }
Indique la police à utiliser, si cette police n’existe pas chez le client.

{ style de police }
Indique le style de la police, plusieurs paramètres possibles.

  • {plain} normal
  • {bold} gras.
  • {italic} Italique.
  • {underline} souligné.
  • {outline} détouré.
  • {shadow} ombré.
  • {condense} caractères resserrés.
  • {extend} caractères espacés.

{justify: alignement }
Indique la justification (alignement) du texte.

  • {justify:left} alignement à gauche.
  • {justify:right} alignement à droite.
  • {justify:center} alignement centré.
  • {justify:default} alignement par défaut du système.

{size: taille }
Indique la taille de caractères en point.

{textColor: rouge , vert , bleu }
Indique la couleur du texte en composante Rouge, Verte et Bleue.
Ainsi 0,0,0 indique le noir et 65535,65535,65535 le blanc pur.

{backColor: rouge , vert , bleu }
Indique la couleur du fond de la même manière que textcolor.

{anti-alias: on/off }
Permet d’activer (on) ou de déactiver (off) d’antialiasing, qui consiste à lisser les caractères à l’affichage. L’antialiasing donne un meilleur rendu aux textes mais peut être légèrement pénalisant en temps de calculs sur des machines peu puissante.

{height: hauteur }
Indique la hauteur de la zone d’affichage du texte, une hauteur de 0 indique une adaptation automatique de la hauteur au contenu.

{width: largeur }
Indique la largeur (en pixels) de la zone d’affichage du texte, une largeur de 0 indique une adaptation automatique de la largeur au contenu.
Il convient ici de préciser la même largeur (ou un peu moins) que celle de la séquence à sous-titrer afin d'éviter des débordements.

{dropShadow: on/off }
Permet d’activer une ombre portée aux textes.

{dropShadowOffset: nombre}
Permet de préciser les dimensions de l’ombre portée, en pixels.

{dropShadowTransparency: nombre}
Permet de préciser la transparence de l’ombre portée, de 0 à 255.

Balise de paramétrage générale

{language: nombre }
Indique la langue du texte. 0 pour l’anglais, 1 pour le français et 11 pour le japonais.

{timeStamps: valeur }
Précise la manière dont sont utilisés les marqueurs temporels. 2 valeurs possibles :

  • {timestamps:absolute} Les marqueurs font référence au début de la séquence, ainsi 00:04:10.000 indique 4 minutes et 10 secondes à partir du début de la vidéo.
  • {timeStamps:relative} Les marqueurs font référence à la marque précédente, ainsi 00:04:10.000 indique 4 minutes et 10 secondes après le marqueur précédent.

{timeScale: nombre }
Indique l’echelle temporelle pour une seconde, c’est le nombre de division d’une seconde de vidéo. Généralement on utilise la valeur 600 qui présente l’avantage d’être à la fois un multiple de 24, 25 et 30; qui représentent respectivement le nombre d’images par seconde d’une vidéo Cinéma, PAL et NTSC.
Ainsi avec 600, le marque 00:00:01.300 indique 1,5 seconde.

{textBox: haut , gauche , bas , droite }
Permet de préciser la position et les dimensions de la piste texte.

{keyedText: on/off }
Permet de rendre le fond transparent (on) ou opaque (off). Cela dépend d’ou vous comptez incruster votre texte et si vous désirez qu’il se détache sur un fond uni ou qu’il soit inclus sur la vidéo. Dans le mode transparent il vaut mieux déactiver l'anti-aliasing.

{doNotDisplay: on/off }
Permet d’activer (on) ou déactiver l’affichage du texte de la piste.

{doNotAutoScale: on/off }
Permet d’activer l’echelle automatique ou pas lorsque l’utilisateur agrandit ou rétrécit le film lors du visionnage.

{clipToTextBox: on/off }
Permet de réduire la zone de fond (si elle est opaque) au strict minimum du texte affiché.

{useMovieBackColor: on/off }
Permet de préciser que la piste texte doit ou pas utiliser le fond du film ou son propre fond.

{shrinkTextBox: on/off }
Permet de réduire la zone d’affichage au minimum permettant d’afficher le plus grand texte de la piste.

Balises de défilement (scrolling)

{scrollDelay: nombre}
Permet de régler la durée de pause avant le début du défilement, exprimé en unité d’echelle de temps.

{scrollIn: on/off }
Permet d’activer le mode de défilement qui commence avec le texte hors écran (on). Par défaut déactiver le scrolling commence alors à l'écran (le texte apparait au milieu puis le scroll commencera).

{scrollOut: on/off }
Permet d’activer le mode de défilement jusqu’a ce que tout le texte ait quitté l’écran (on).

{horizontalScroll: on/off }
Permet d’activer le défilement horizontal.

{reverseScroll: on/off }
Permet d’inverser le sens de défilement.

{continuousScroll: on/off }
Permet d’enchainer les défilements entre eux sans attente.

{flowHorizontal: on/off }

Balises de mise en évidence

{hilite: nombre , nombre }
Permet de mettre en évidence une portion du texte en précisant le numéro de la lettre de début et de fin. Très utile pour faire un Karaoké.

{hiliteColor: rouge, vert, bleu}
Permet de préciser la couleur de mise en évidence du texte.

{inverseHilite: on/off }
Pour activer le mode de mise en évidence par inversion plutot que par couleur.

haut de la page - © Le garage de la vidéo - reproduction interdite