Différences entre les versions de « Sous titrage vidéo »

De April MediaWiki
Aller à la navigationAller à la recherche
(47 versions intermédiaires par 6 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
[[Catégorie:Video]]
+
[[Catégorie:Sous-titrage]]
 
+
[[Catégorie:Transcriptions]]
  
  
 
== Objectifs ==
 
== Objectifs ==
On se pose ici la question de sous-titrer des vidéos que le groupe transcription a déjà transcripté. Ceci permettra la mise en place d'un vrai portail vidéo sur le site april.org
+
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 :
 
Objectifs :
Ligne 17 : Ligne 17 :
 
==Pages utiles==  
 
==Pages utiles==  
  
=== sous titrage en général ===
+
=== Sous-titrage en général ===
 +
* À 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://www.mageialinux-online.org/wiki/comment-sous-titrer-une-video-sous-linux Comment sous-titrer une vidéo sous linux ?]
 +
** [http://www.mageialinux-online.org/wiki/comment-enregistrer-une-video-d-internet-avec-firefox Comment enregistrer une vidéo d'internet avec Firefox ?]
 +
** [http://www.mageialinux-online.org/wiki/comment-trouver-une-video-dont-la-licence-permet-le-sous-titrage Comment trouver une vidéo dont la licence permet le sous-titrage ?]
 
* http://doc.ubuntu-fr.org/sous-titrage
 
* 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.proz.com/forum/french/39624-les_r%C3%A8gles_d%E2%80%99or_du_sous_titrage.html
Ligne 23 : Ligne 28 :
 
* http://www.rfi.fr/lffr/articles/079/article_963.asp
 
* http://www.rfi.fr/lffr/articles/079/article_963.asp
 
* http://www.titelbild.de/assets/pdf/Code%20of%20Good%20Subtitling%20Practice_fr.pdf
 
* 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 ===
+
=== Sous-titrage pour les sourds et malentendants ===
 
* http://fr.wikipedia.org/wiki/Sous-titres#Description
 
* http://fr.wikipedia.org/wiki/Sous-titres#Description
 
* http://fr.wikipedia.org/wiki/Sous-titrage_pour_sourds_et_malentendants#Normes
 
* http://fr.wikipedia.org/wiki/Sous-titrage_pour_sourds_et_malentendants#Normes
 
* http://www.caasem.fr/rokfeature/sous-titrage-adapte-quest-ce-que-cest-
 
* http://www.caasem.fr/rokfeature/sous-titrage-adapte-quest-ce-que-cest-
  
=== chez ARTE ===
+
=== Chez ARTE ===
* http://www.artepro.com/statique/RacineProgramme/PrestationsTechniques/Materiel_de_diffusion/index.htm
+
* http://www.artepro.com/statique/RacineProgramme/PrestationsTechniques/Materiel_de_diffusion/index.htm (lien mort - [http://web.archive.org/web/20081006061222/http://www.artepro.com/statique/RacineProgramme/PrestationsTechniques/Materiel_de_diffusion/index.htm copie sur archive.org]) devenu http://www.arte.tv/sites/fr/corporate/particuliers-professionnels/#professionnels-de-laudiovisuels
* http://www.artepro.com/fr_fichiers/upload/10086.pdf
+
* http://www.artepro.com/fr_fichiers/upload/10086.pdf devenu http://www.arte.tv/sites/fr/corporate/files/consignes-techniques-globales-arte-geie-v1-05.pdf - le rapport référencé ci-dessus, notamment section ''4 Directives pour le sous-titrage'' devenu ''3 Cahier des charges sous-titrage'' :
 
+
** 2 lignes maximum à la fois
=== tuto et logiciels ===
+
** 34 caractères par ligne maximum (comprenant espaces, mais sans caractères de contrôle)
* https://www.april.org/aide-pour-le-son-et-la-video#Creer_des_sous_titres_pour_une_video
+
** durée sous-titre entre 1 et 10 secondes [plutôt vague...]
* http://www.framablog.org/index.php/post/2010/10/19/Les-sous-titres-faciles-d-Universal-Subtitles  parlant de http://www.universalsubtitles.org/fr/
+
** tirets lors d'un dialogue, mais pas si la même personne re-parle après un silence ou des indications
* http://booki.flossmanuals.net/ogg-theora/_draft/_v/1.0/embedding-subtitles/
+
** normalement, pas de sous-titre pendant un changement de plan - le mettre avant ou après
* http://www.universalsubtitles.org/fr/
 
  
 
== Principe ==
 
== Principe ==
  
Le principe du sous titrage est d'ajouter des "timecodes" (repère temporelle) qui marquent un début et une fin d'affichage de morceaux de phrases. Ce travail nécessite :
+
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 bonne synchronisation de la parole et du texte
 
* la reformulation pour être concis lorsque cela est nécessaire
 
* la reformulation pour être concis lorsque cela est nécessaire
 +
 +
== Solutions logicielles ==
 +
 +
* [https://www.readbeyond.it/aeneas/ 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 [https://www.readbeyond.it/menestrello/ Menestrello].
 +
* [http://home.gna.org/subtitleeditor/ 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"
 +
* [http://gnomesubtitles.org/ Gnome Subtitles] : indique la durée du sous titre, mais ne donne aucune indication quand au nombre de caractères du sous titre
 +
* [http://sourceforge.net/projects/subcomposer/ Subtitle Composer] : dernière release en 2009, la partie graphique ne se rafraîchit plus correctement sous Debian (vérifié 2013-08)
 +
* [http://www.aegisub.org/ 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.)
 +
* [http://home.gna.org/gaupol/ Gaupol] : un projet plus récent, à tester
 +
 +
Tutos:
 +
* [http://www.mageialinux-online.org/wiki/comment-sous-titrer-une-video-avec-gnome-subtitles-version-1-1 Comment sous-titrer une vidéo avec Gnome Subtitles ( version 1.1 ) ?]
 +
* [http://www.mageialinux-online.org/wiki/comment-sous-titrer-une-video-avec-subtitle-editor Comment sous-titrer une vidéo avec Subtitle Editor 0.38.0 ?]
 +
* [http://home.gna.org/subtitleeditor/docs/how-to-editing-subtitles-with-waveform.html Subtitle Editor v0.38.0] : incomplet et en anglais
 +
 +
=== Aeneas, testé par ElG ===
 +
 +
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 ===
 +
 +
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. [http://www.mageialinux-online.org/wiki/comment-sous-titrer-une-video-avec-subtitle-editor 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.
 +
 +
[[Image:Subtitleeditor.png]]
 +
 +
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) ===
 +
 +
http://www.amara.org/fr/
 +
 +
Testé en 2010 par [http://www.framablog.org/index.php/post/2010/10/19/Les-sous-titres-faciles-d-Universal-Subtitles 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 ==
 +
 +
HTML5 apporte les vidéos intégrées au navigateur, avec le nouveau format de sous-titrage [https://en.wikipedia.org/wiki/WebVTT WebVTT].
 +
 +
Exemple :
 +
<pre>
 +
<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>
 +
</pre>
 +
 +
Il existe des convertisseurs, par exemple [http://atelier.u-sub.net/srt2vtt/ 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 :
 +
 +
<pre>
 +
<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>
 +
</pre>
 +
 +
Et pour
 +
https://www.april.org/en/drm-locked-e-book-cannot-be-compared-printed-book-video
 +
utilisation du code
 +
 +
<pre>
 +
<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>
 +
</pre>
 +
 +
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 [http://www.saltwebsites.com/2012/html5-video-subtitle-wrap 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 ==
 
== Formats ==
Ligne 54 : Ligne 212 :
 
[http://fr.wikipedia.org/wiki/SubStation_Alpha Page wikipedia].
 
[http://fr.wikipedia.org/wiki/SubStation_Alpha Page wikipedia].
 
Question levée : le format .ass est librement utilisable ?
 
Question levée : le format .ass est librement utilisable ?
 
== Solutions logicielles ==
 
 
* [http://home.gna.org/subtitleeditor/ subtitleeditor] ( version ( 0.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" ( http://home.gna.org/subtitleeditor/ ). )
 
* [http://sourceforge.net/projects/subcomposer/ subtitlecomposer]
 
* [http://gnomesubtitles.org/ gnome-subtitles] ( indique la durée du sous titre, mais ne donne aucune indication quand au nombre de caractères du sous titre )
 
* [http://www.aegisub.org/ 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. )
 
 
== Solution Universalsubtitles ==
 
 
[http://www.universalsubtitles.org/fr/ Site] et [http://www.universalsubtitles.org/fr/demo/ demo]. Test par [http://www.framablog.org/index.php/post/2010/10/19/Les-sous-titres-faciles-d-Universal-Subtitles framablog].
 
 
En cours de test par Mammig.
 
  
 
== Règles et confort du lecteur ==
 
== Règles et confort du lecteur ==
  
* subtitle editor semble donner le plus d'indication sur le respect des règles.
+
* Subtitle Editor semble donner le plus d'indication sur le respect des règles.
  
 
===Règle===
 
===Règle===
Ligne 78 : Ligne 223 :
  
 
===Usage===
 
===Usage===
il y a également des "usages" qui semblent moins liés à des règles qu'à un confort pour le "visionneur" :  
+
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 )
+
* laisser quelques images entre 2 sous-titres ( 4 ou 5 )
arrêter le sous-titre lorsqu'il y a un changement de plan
+
* arrêter le sous-titre lorsqu'il y a un changement de plan
un sous titre doit rester afficher au moins 0.8 secondes
+
* un sous titre doit rester afficher au moins 0.8 secondes
  
 
===Les cas problématiques===
 
===Les cas problématiques===
Ligne 89 : Ligne 234 :
 
* 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.
 
* 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.
  
=== How to===
+
== Combien de temps cela prend-t-il ?==
 
 
subtitle editor ( 0.38.0) :
 
http://kitone.free.fr/subtitleeditor/wiki/doku.php?id=manual:index (incomplet et en anglais )
 
je ne trouve que des tuto très courts semblables à celui de l'april : http://www.april.org/fr/aide-pour-le-son-et-la-video#Creer_des_sous_titres_pour_une_video
 
Au pire, si on ne trouve pas de tuto, je pourrais en faire un sur [http://www.mageialinux-online.org/ MLO]. (Mammig)
 
 
 
== Tutoriel ==
 
  
* [http://www.mageialinux-online.org/wiki/wiki.php?title=comment-sous-titrer-une-video-sous-linux Tutoriel de Mammig] sur MLO
+
Frédéric Couchet a rapporté avoir passé au moins 4h pour faire [http://www.couchet.org/blog/index.php?post/2011/09/06/Video-de-mon-intervention-a-TEDx-Bordeaux-sous-titree-fran%C3%A7ais-et-anglais 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).
* [http://www.mageialinux-online.org/wiki/comment-trouver-une-video-dont-la-licence-permet-le-sous-titrage Suite]
 
  
 +
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.
  
== Combien de temps cela prend-t-il==
+
Le logiciel Aeneas peut permettre de réduire sensiblement ces temps.
Frédéric Couchet a rapporté avoir passé au moins 4h pour faire [http://www.couchet.org/blog/index.php?post/2011/09/06/Video-de-mon-intervention-a-TEDx-Bordeaux-sous-titree-fran%C3%A7ais-et-anglais 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 du logiciel (première fois)
 

Version du 31 juillet 2017 à 20:45


Objectifs

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

Sous-titrage en général

Sous-titrage pour les sourds et malentendants

Chez ARTE

Principe

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

  • 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:

Aeneas, testé par ElG

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

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.

Subtitleeditor.png

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)

http://www.amara.org/fr/

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

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

srt

Le format de base fonctionne sans problème. L'ajout de balises pose problème avec certains lecteurs.

ass

Page wikipedia. Question levée : le format .ass est librement utilisable ?

Règles et confort du lecteur

  • Subtitle Editor semble donner le plus d'indication sur le respect des règles.

Règle

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

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

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 ?

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.