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

De April MediaWiki
Aller à la navigationAller à la recherche
Ligne 54 : Ligne 54 :
 
== Solutions logicielles ==
 
== 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://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://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
Ligne 64 : Ligne 65 :
 
* [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://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
 
* [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, en français : ''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 ===
 
=== Subtitle Editor, testé par Sylvain ===

Version du 31 juillet 2017 à 10:40


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 temporelle) 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, en français : 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.