Sous titrage vidéo
Objectifs[modifier]
On se pose ici la question de sous-titrer des vidéos que le groupe transcription a déjà transcrite. Ceci permettra la mise en place d'un vrai portail vidéo sur le site april.org
Objectifs :
- Comprendre le fonctionnement du sous-titrage (règle...)
- Recherche de formats "corrects"
- Logiciels, structures collaboratives... que l'on peut utiliser
- Intégration dans du html 5
Pages utiles[modifier]
Sous-titrage en général[modifier]
- À l'April : http://www.april.org/fr/aide-pour-le-son-et-la-video#Creer_des_sous_titres_pour_une_video
- Sur mageia-online:
- http://doc.ubuntu-fr.org/sous-titrage
- http://www.proz.com/forum/french/39624-les_r%C3%A8gles_d%E2%80%99or_du_sous_titrage.html
- http://www.colloque.net/archives/2002/UCR202.htm
- http://www.rfi.fr/lffr/articles/079/article_963.asp
- http://www.titelbild.de/assets/pdf/Code%20of%20Good%20Subtitling%20Practice_fr.pdf
- http://booki.flossmanuals.net/ogg-theora/_draft/_v/1.0/embedding-subtitles/
- https://wiki.debconf.org/wiki/Videoteam/Subtitles - sous-titrage des DebConf du projet Debian
Sous-titrage pour les sourds et malentendants[modifier]
- Charte relative à la qualité du sous-titrage à destination des personnes sourdes ou malentendantes (officielle)
- http://fr.wikipedia.org/wiki/Sous-titres#Description
- http://fr.wikipedia.org/wiki/Sous-titrage_pour_sourds_et_malentendants#Normes
- http://www.caasem.fr/rokfeature/sous-titrage-adapte-quest-ce-que-cest-
Chez ARTE[modifier]
- Consignes Techniques Globales – ARTE G.E.I.E. – juin 2022 – sections 3.6.3, 4.3.9 et 10.1.4.1 (web), dont :
- 2 lignes maximum à la fois ;
- 37 caractères visibles par ligne maximum (comprenant espaces, mais sans caractères de contrôle)
- durée sous-titre entre 1 s et au plus 10 s (pour ne pas laisser penser que l’affichage est bloqué) ;
- tirets lors d'un dialogue, mais pas si la même personne re-parle après un silence ou des indications ;
- normalement, pas de sous-titre pendant un changement de plan – le mettre avant ou après.
NB la section 4.3.11 reprend les consignes de la Charte officielle française.
Charte officielle[modifier]
16 points, mais certains ne sont pas applicables à la diffusion web :
- Respect du sens du discours ;
- Respect des règles d’orthographe, de grammaire et de conjugaison de la langue française ;
- Respect de l’image. Le sous-titre (…) ne doit pas cacher (…) les éléments importants de l’image, notamment les lèvres pour permettre la lecture labiale ;
- (TNT) ;
- Parfaite lisibilité. Il est recommandé que les sous-titres se présentent sur un bandeau noir translucide et si possible avec des lettres ayant un contour noir ;
- Durée d’affichage d’environ 12 caractères par seconde, ±20 % ;
- Utilisation systématique du tiret pour indiquer le changement de locuteur ;
- Placement du sous-titre au plus proche de la source sonore ;
- Se référer à la charte pour les codes couleurs ;
- Indication des informations sonores6 et musicales7.
- Utilisation des parenthèses pour indiquer les chuchotements et les propos tenus en aparté.
- Utilisation de majuscules lorsque le texte est dit par plusieurs personnes (un usage des majuscules pour toute autre raison est à proscrire sauf pour certains sigles et acronymes).
- Découpage phrastique sensé. Lorsqu’une phrase est retranscrite sur plusieurs sous-titres, son découpage doit respecter les unités de sens [ grammaticales ] afin d’en faciliter sa compréhension globale. Note : les outils automatiques sont très peu pertinents de ce point de vue ;
- Respect des changements de plans ;
- (direct) ;
- (direct).
Principe[modifier]
Le principe du sous titrage est d'ajouter des "timecodes" (repère temporel) qui marquent un début et une fin d'affichage de morceaux de phrases. Ce travail nécessite :
- la bonne synchronisation de la parole et du texte
- la reformulation pour être concis lorsque cela est nécessaire
Solutions logicielles[modifier]
- Aeneas logiciel libre d’alignement forcé, qui synchronise automatiquement texte et son (par le biais de l’alignement des deux formes d’onde du prononcé original et du prononcé par une voix de synthèse telle qu’eSpeak). NB Quelques dizaines de secondes de calcul. Conçu à l’origine par son auteur Alberto Pettarin pour définir au format Smil la synchronisation du prononcé des fichiers sons embarqués et du surlignement, exploitée dans son logiciel libre de lecture d’audiolivres EPUB Menestrello.
- Subtitle Editor : v0.38.0 : quand on utilise l'option du menu "affichage/synchronisation" alors nous avons une colonne avec la durée du sous titre ainsi qu'une colonne "CPS" qui est l'abréviation de "caractères par secondes"
- Gnome Subtitles : indique la durée du sous titre, mais ne donne aucune indication quand au nombre de caractères du sous titre
- Subtitle Composer : dernière release en 2009, la partie graphique ne se rafraîchit plus correctement sous Debian (vérifié 2013-08)
- Aegisub pour le SSA (Le dernier binaire ne fonctionne pas très bien chez moi. Il y a un problème avec l'affichage du menu (qui n'apparait que lorsqu'on l'appelle avec le "Alt+F" du clavier). Nous avons la durée du sous titre mais aucun élément concernant le nombre de caractères du sous-titre.)
- Gaupol : un projet plus récent, à tester
Tutos:
- Comment sous-titrer une vidéo avec Gnome Subtitles ( version 1.1 ) ?
- Comment sous-titrer une vidéo avec Subtitle Editor 0.38.0 ?
- Subtitle Editor v0.38.0 : incomplet et en anglais
Aeneas, testé par ElG[modifier]
Préférer l’installation par « pip install aeneas » par rapport au script d’installation fourni « install_dependencies.sh ».
Proposition de méthodologie (testée en conditions réelles) :
NB En possession du son et de la transcription sous forme de texte, découpée intelligemment à environ 35 caractères par ligne (p. ex. à l’aide de l’indicateur de colonne de retour à la ligne dans son éditeur de texte préféré : Geany, Scite…), en ayant si nécessaire expansé ou clarifié les abréviations (pour améliorer la synthèse vocale : 123 = cent vingt-trois ou un, deux, trois… ?).
- Si nécessaire extraire la bande son (du prononcé seul si c’est possible) de la vidéo (p. ex. avec VLC) vers un format accepté par Aeneas (Opus, MP3, Wave etc.) ;
- Éventuellement après un essai infructueux, segmenter la bande son avec Audacity, pour ne conserver que le prononcé (évite les faux positifs avec la musique de générique etc.) ;
- Traiter avec Aeneas (partie de) texte transcrit et fichier son (du segment) ;
- Concaténer si nécessaire les fichiers de sous-titres résultants, dans l’ordre ;
- Réaligner les segments en bloc avec le son d’origine grâce aux fonctions de décalage d’un éditeur de sous-titre :
- dans Subtitleeditor : menu Synchronisation > Décaler les sous-titres et cocher Seulement les sous-titres sélectionnés,
- dans Aegisub : menu Timing > Shift Times… Ctrl+I puis dans la boite de dialogue Selection onward,
- dans Gaupol : menu Outils > Décaler les positions… puis Décaler le projet actuel (s’il y a un blanc ou un intermède musical initial) ou Décaler les sous-titres depuis la sélection jusqu’à la fin.
Note : généralement fonctionne très bien au premier essai (avec du brouhaha, de la musique de fond sans parole, et sans segmentation donc). Trente secondes de calcul plutôt qu’une heure trente minutes de travail d’alignement manuel pour deux minutes de vidéos, vraiment appréciable.
exemple de commande, pour la langue française : python -m aeneas.tools.execute_task "XXX.wav" "XXX.txt" "task_language=fr|os_task_file_format=srt|is_text_type=plain" "XXX.srt"
Subtitle Editor, testé par Sylvain[modifier]
La meilleure solution au 2013-08 qui permette d'importer du texte existant et de positionner à peu près facilement les sous-titres est Subtitle Editor.
Méthodologie en vidéo (beta !) : http://www.beuc.net/tmp/sous-titrage/tuto/
Méthodologie au format texte :
- Ouvrir la vidéo et créer une onde sonore - cf. Comment sous-titrer une vidéo avec Subtitle Editor 0.38.0 ?
- Première écoute : découpage brut
- Affichage > Simple
- Copier/coller un bloc de texte transcrit (3-4 minutes) dans un nouveau sous-titre
- Découper avec Ctrl+Enter (au moment des pauses par exemple)
- Essayer de ne pas dépasser 70 caractères
- Essayer de ne pas dépasser 4s d'audio par sous-titre
- Positionner ce premier bloc sur la partie "Onde".
- Utiliser Édition > Scinder, ce qui coupe chaque ligne en un nouveau sous-titre avec un espacement régulier.
- Deuxième écoute : positionnement des sous-titres
- Affichage > Synchronisation
- Une main sur le clavier, l'autre sur la souris :
- Flèche haut et bas du clavier : sélectionner un sous-titre (cliquer une première fois dans la zone des sous-titres)
- Bouton droit : fin du sous-titre
- Bouton gauche : début du sous-titre
- Bouton milieu : lire la vidéo à cette position
- Ne pas hésiter à créer des raccourcis clavier supplémentaires dans Options > Configurer raccourcis clavier - par exemple Ctrl+Espace pour Lecture/Pause
- Vérifier la colonne CPS (caractères par secondes); simplifier/reformuler, repositionner ou redécouper les sous-titres aux CPS trop élévées (idéalement moins de 15-20)
- Positionner un retour chariot (avec Ctrl+Enter) quand la ligne dépasse 35 caractères : nous voulons de petites lignes centrées à l'écran, deux lignes maximum (2x35=70)
- Enregistrer la version de travail au format "Subtitle Editor Project" (.xml), et la version finale en "SubRip" (.srt).
- Faire relire (revoir) la vidéo sous-titrée
- En fin de vidéo (ou au début s'il y a du silence), ajouter un sous-titre :
Sous-titrage : April - april.org Promouvoir et défendre le logiciel libre
Noter que Fichier > Import texte est inutilisable : tous les sous-titres sont positionnés à 00:00:00. De toute façon, un import global est à éviter, car les sous-titres vont sûrement être tous décalés par rapport à la vidéo; il est préférable de procéder par blocs de quelques minutes.
Note: la version Debian est la v0.33 mais la v0.41 est disponible dans Debian Experimental.
Le mode Affichage/Traduction est également pratique pour traduire des sous-titres existants.
Par comparaison :
- Amara est plus efficace pour positionner les sous-titres, avec une seule touche (mais pas pour importer ou retoucher le travail)
- Gnome Subtitles a aussi un outil Scinder, et donc importer, mais le positionnement ne peut se faire que non-visuellement, en utilisant la position courante dans la vidéo
- Subtitle Composer ne fonctionne pas bien chez moi, je suppose parce que la dernière release date d'il y a 4 ans
- Aegisub a une commande Scinder par Karaoké. Cette fonctionnalité permet de découper la ligne en syllabes et d'indiquer le temps de chaque syllabe. Par la suite, il est possible de faire des effets sur les syllabes pour faire de karaokés ( on peut par exemple changer la couleur de la syllabe dite "au bon moment" ).
Amara (anciennement Universal Subtitles)[modifier]
Testé en 2010 par framablog.
Au niveau ergonomie, le positionnement de chaque sous-titre avec la touche "flèche bas" est très efficace. Mais la moindre erreur est extrêmement longue à corriger, notamment il n'est pas possible de supprimer le positionnement d'un sous-titre, ni d'annuler/rétablir des modifications.
Un intérêt de cet outil web est son aspect publication :
- Il propose immédiatement une page pour visualiser la vidéo avec ses nouveaux sous-titres.
- Une intégration avec Youtube.
- On note que pour les vidéo Youtube lues par Amara, le sous-titrage ne fonctionne que si on a Flash (pas la version HTML5).
Inconvénients :
- Absence de méthode d'import ou de découpage de texte. Il faut copier/coller chaque sous-titre manuellement, ou re-saisir le texte...
- C'est un service en ligne, donc pas de travail hors-ligne possible, et des temps de chargement quand on se déplace dans la vidéo.
Il y a en 2013 une nouvelle version "beta" qui nécessite un compte. À voir..
Publication Web[modifier]
HTML5 apporte les vidéos intégrées au navigateur, avec le nouveau format de sous-titrage WebVTT.
Exemple :
<video src="k1105-privacy-2013-why-when-how_high-fixed_audio.webm" controls="1"> <track kind="subtitles" srclang="fr" label="Français" src="k1105-privacy-2013-why-when-how_high-fixed_audio-fr.vtt" default="true" /> </video>
Il existe des convertisseurs, par exemple srt2vtt.
Exemple d'usage en juin 2015 pour https://www.april.org/un-livre-electronique-verrouille-par-un-drm-ne-peut-etre-compare-un-livre-imprime-video utilisation du code :
<video controls src="//media.april.org/video/ebookDRM/20150506-ebookDRM.webm" width="600" poster="/sites/default/files/20150506-ebookDRM-1:44.jpg" > <track src="/20150506-ebookDRM.fr.vtt" kind="subtitles" srclang="fr" default="default" /> Livres électroniques et DRM </video>
Et pour https://www.april.org/en/drm-locked-e-book-cannot-be-compared-printed-book-video utilisation du code
<video controls src="//media.april.org/video/ebookDRM/20150506-ebookDRM.webm" width="600" poster="/sites/default/files/20150506-ebookDRM-1:44.jpg"> <track src="/20150506-ebookDRM.en.vtt" kind="subtitles" srclang="en" default="default" />Livres électroniques et DRM</video>
Le fichier de sous-titre doit être au "même endroit" que la page HTML alors que la vidéo elle-même peut être ailleurs. Un autre point est qu'avec Firefox il ne semble pas possible de désactiver l'affichage des sous-titres. Et pour le moment la sélection de plusieurs sous-titres ne semble pas possible. Le fichier de-titres doit être au format WebVTT (fichier .vtt).
Au 2013-08 :
- WebVTT est rudimentairement géré par Chrome : il saute certains sous-titres, ne gère pas plusieurs fichiers de sous-titres, et choisit unilatéralement les sous-titres anglais.
- WebVTT est annoncé pour Firefox 24.
En attendant, des lecteurs de sous-titres en JavaScript existent. Cf. par exemple cette comparaison. Tests par Sylvain :
- Playr est pas mal, gère la sélection automatique de sous-titres, mais ne dispose pas d'un lecteur Flash (pour IE)
- VideoJS fonctionne de base, mais affiche les sous-titres en petit
- Leanbackplayer est sous GPL, mais a des extensions privatrices, et affiche la version GPL comme "non-commerciale". Ça ne sent pas bon.
- Je n'ai pas essayé MediaElement.
Notes :
- La taille des sous-titres varie énormément en fonction des lecteurs Web. Ils sont en général beaucoup plus petits que dans les lecteurs vidéos (et donc pas adaptés à l'affichage TV).
- Le JavaScript et les sous-titres doivent être sur le même site.
- La vidéo et les sous-titres peuvent être sur deux sites différents.
Formats[modifier]
srt[modifier]
Le format de base fonctionne sans problème. L'ajout de balises pose problème avec certains lecteurs.
ass[modifier]
Page wikipedia. Question levée : le format .ass est librement utilisable ?
Règles et confort du lecteur[modifier]
- Subtitle Editor semble donner le plus d'indication sur le respect des règles.
Règle[modifier]
D'après les liens cités plus haut, les règles sont les suivantes : environ 15 caractères pour une seconde un sous-titre ne doit pas faire plus de 2 lignes ( une ligne = 35 à 40 caractères max ) et on va essayer de faire en sorte que la ligne du haut soit plus courte que celle du bas
Usage[modifier]
il y a également des "usages" qui semblent moins liés à des règles qu'à un confort pour le "visionneur" :
- laisser quelques images entre 2 sous-titres ( 4 ou 5 )
- arrêter le sous-titre lorsqu'il y a un changement de plan
- un sous titre doit rester afficher au moins 0.8 secondes
Les cas problématiques[modifier]
Voici certaines situations que nous rencontrerons en faisant du sous titrage :
- sous-titrer une personne qui parle vite -> reformuler ou résumer ce qui ce dit quand on a plus de 15 caractères à la seconde. Cette pratique semble courante en sous-titrage.
- sous titrer un dialogue avec des personnes qui se coupent la parole ou qui parlent en même temps -> mettre les dialogues l'un en dessous de l'autre en les commencant par un tiret pour indiquer qu'il s'agit de personne différentes qui parlent
- les bafouillages et autre "heu, c'est à dire que heu"... Supprimer quand c'est court, l'indiquer lorsque c'est long (embarrassement évident) ou indiquer des points de suspension.
Combien de temps cela prend-t-il ?[modifier]
Frédéric Couchet a rapporté avoir passé au moins 4h pour faire cette vidéo de 15 minutes avec le texte déjà préparé par l'équipe transcription. Cette durée intègre la prise en main des logiciels (première fois - Subtitle Composer, Subtitle Editor et Amara.org).
En rythme de croisière, Sylvain sous-titre une transcription existante en prenant 5mn par minute de vidéo. Ce qui est proche d'un rythme de transcription brute.
Le logiciel Aeneas peut permettre de réduire sensiblement ces temps.