Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.04 LTS
Ubuntu-fr propose des clés USB de Ubuntu et toutes ses « saveurs » ainsi qu'un magnifique t-shirt pour cette toute nouvelle version d'Ubuntu !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/09/2017, à 13:45

Malynou

Extraction d'une piste de sous-titre au format PGS

Bonjour à tous.

Je suis en train de me familiariser avec mencoder et les fichiers mkv.

Mon problème se situe au niveau de l'extraction de la piste de sous-titre.

La commande fonctionne très bien lorsque les sous-titres sont au format srt mais c'est beaucoup moins concluant lorsque les sous-titres sont au format PGS.

J'ai bien tenté de faire

mkvextract tracks mavideo.mkv 4:soustitres.sub

mais mencoder utilise des .srt pas du .sub
Alors, comment convertir des sous-titres PGS en SRT ?

D'avance merci pour vos réponses...

Hors ligne

#2 Le 07/09/2017, à 14:19

abelthorne

Re : Extraction d'une piste de sous-titre au format PGS

Qu'est-ce que tu essaies de faire exactement avec mencoder vis-à-vis de tes fichiers MKV ?

Pour ce qui est des sous-titres, il faut savoir que le PGS (utilisé sur les BluRay) n'est pas un format texte comme le SRT mais un pack d'images avec des timings, à la manière des sous-titres encapsulés dans des VOBs sur les DVD. Tu peux les intégrer tels quels à un conteneur MKV mais si tu veux en faire tu texte, il faut passer par un logiciel de reconnaissance de caractères pour les traiter. Je ne sais pas s'il existe des logiciels sur Linux qui permettent de le faire.

Dernière modification par abelthorne (Le 07/09/2017, à 14:32)

Hors ligne

#3 Le 07/09/2017, à 14:32

Malynou

Re : Extraction d'une piste de sous-titre au format PGS

Coucou abelthorne ! Et merci pour ta réponse...

abelthorne a écrit :

Qu'est-ce que tu essaies de faire exactement avec mencoder vis-à-vis de tes fichiers MKV [...]

Des avi avec sous-titres incrustés

abelthorne a écrit :

[...] si tu veux en faire tu texte, il faut passer par un logiciel de reconnaissance de caractères pour les traiter [...]

Voilà wink

abelthorne a écrit :

[...] Je ne sais pas s'il existe des logiciels sur Linux qui permettent de le faire.

Arf, c'est justement ça qui m'aurait intéressée...

Hors ligne

#4 Le 07/09/2017, à 14:58

Rufus T. Firefly

Re : Extraction d'une piste de sous-titre au format PGS

Malynou a écrit :

Des avi avec sous-titres incrustés

Très franchement, c'est ce qu'on peut faire de pire et il faut vraiment de très très bonnes raisons pour l'envisager...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#5 Le 07/09/2017, à 15:05

Malynou

Re : Extraction d'une piste de sous-titre au format PGS

Coucou Rufus T. Firefly

Rufus T. Firefly a écrit :

Très franchement, c'est ce qu'on peut faire de pire et il faut vraiment de très très bonnes raisons pour l'envisager...

Je sais wink big_smile

À part ça, tu connais un logiciel de reconnaissance de caractères qui fonctionne sous linux ?

Dernière modification par Malynou (Le 07/09/2017, à 15:05)

Hors ligne

#6 Le 07/09/2017, à 15:16

Rufus T. Firefly

Re : Extraction d'une piste de sous-titre au format PGS

Il en existe plusieurs, mais je n'ai pas essayé : ocrad, tesseract-ocr (gui : gimagereader), gocr, cuneiform (mais je ne pense pas que tes sous-titres soient écrits avec ça... cela dit, ça reconnaît plein de langues, y compris le français)

Dernière modification par Rufus T. Firefly (Le 07/09/2017, à 15:30)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#7 Le 07/09/2017, à 15:37

Malynou

Re : Extraction d'une piste de sous-titre au format PGS

Effectivement, les sous-titres sont extraits soit via mkv extracteur :

Éxécution de la commande : mkvextract tracks "/home/malynou/Vidéos/essai-vidéo.mkv" 3:"/home/ninou/Vidéos/3_subtitles_Full Fr PGS.pgs" 
Extraction de la piste 3 avec le codec 'S_HDMV/PGS' dans le fichier '/home/ninou/Vidéos/3_subtitles_Full Fr PGS.pgs'. Format de conteneur : SUP

Je me retrouve avec un fichier de sous-titre 3_subtitles_Full Fr PGS.pgs
C'est le seul format que mkv extractor a l'air capable de me donner...

Soit via la commande que j'ai donnée initialement, et là, je me retrouve avec un fichier soustitres.sub

Donc, le logiciel de reconnaissance de caractères doit pouvoir gérer soit du .pgs soit du .sub

tesseract-ocr n'a pas l'air de le faire, mais j'ai pas essayé avec gimagereader, j'ai survolé les gui proposé ici et ça n'avait pas l'air de correspondre... gimagereader gère les .pgs ou les .sub ?

Hors ligne

#8 Le 07/09/2017, à 16:12

Lulux3

Re : Extraction d'une piste de sous-titre au format PGS

Euh
Pourquoi passer par un OCR, si c'est pour finalement graver une image dans la vidéo?
Handbrake sait graver directement des pgs, mais ne sait faire que des mp4 et des mkv (normal, plus personne de sensé ne fait des avi de nos jours big_smile)
Mais tu peux toujours faire ensuite une conversion mp4 -> avi, sans rien réencoder (donc rapide et sans perte de qualité). Par exemple:

ffmpeg -i video.mp4 -map 0 -c copy video.avi

sous réserve que tu aies utilisé des codecs compatibles avec le format avi, bien entendu.

Hors ligne

#9 Le 07/09/2017, à 16:15

Malynou

Re : Extraction d'une piste de sous-titre au format PGS

Ah ! Allons voir Handbrake alors tongue

Hors ligne

#10 Le 22/09/2017, à 08:42

Malynou

Re : Extraction d'une piste de sous-titre au format PGS

Bonjour à tous...

Bon... Ça ne va pas handrake. Les sous-titres sont pas beaux du tout. C'est... beurk-caca-crotte lol

Du coup, ça répond assez bien à ta question :

Lulux3 a écrit :

Pourquoi passer par un OCR, si c'est pour finalement graver une image dans la vidéo?

Ben justement pour cette raison wink mencoder est capable de travailler les textes. Je peux aggrandir la police, la changer, la mettre en forme, mettre un fond etc etc...

Du coup, me voici devant une limite de linux : je ne peux pas OCRiser avec... Sniff...

Hors ligne

#11 Le 22/09/2017, à 09:30

Rufus T. Firefly

Re : Extraction d'une piste de sous-titre au format PGS

https://forum.ubuntu-fr.org/viewtopic.p … #p21791669
Il y en a 4 des logiciels d'ocr, dans les dépôts... Et il en existe certainement encore d'autres.

En outre, il y en a peut-être qui ne traitent pas la vidéo mais seulement de l'image isolée. Du coup il faut prévoir de transformer le fichier de sous-titres en une série d'images, appliquer l'ocr sur chaque, et enfin tâcher de faire un .srt avec tout ça. Evidemment pas à la main mais avec un script qui fait une boucle sur l'ensemble des images...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#12 Le 22/09/2017, à 10:47

abelthorne

Re : Extraction d'une piste de sous-titre au format PGS

Le problème, c'est que les logiciels d'OCR "classiques" vont effectivement traiter des images indépendantes. Ce qui implique 1) d'arriver à les extraire du PGS et 2) que les timings (intégrés au PGS) vont être perdus et le texte sera complètement inexploitable...

Il faudrait éventuellement essayer avec SubRip via Wine (mais je crois qu'il est assez instable dans ces conditions − il tournerait probablement mieux dans une MV). Peut-être Subtitle Workshop (idem, c'est un soft Windows) mais ça doit faire plus de dix ans que je ne l'ai pas utilisé, je ne sais plus s'il fait de l'OCR.

Le plus simple serait de trouver les sous-titres déjà rippés sur un des nombreux sites de s-t qui existent (et dans une version dont les timings correspondent, ce qui risque d'être le plus compliqué).

Dernière modification par abelthorne (Le 22/09/2017, à 11:13)

Hors ligne

#13 Le 15/08/2018, à 00:52

obeone

Re : Extraction d'une piste de sous-titre au format PGS

Salut Malynou
As tu trouvé solution à ton problème ?


9 fois sur 10 le souci se trouve entre la chaise et le clavier !
Asus Z68, i7 3770K, 8Gb, SSD 830 128Gb

Hors ligne

#14 Le 29/09/2018, à 19:04

Mangiafoco

Re : Extraction d'une piste de sous-titre au format PGS

Bonjour. Je suis arrivé (non sans mal) à convertir un fichier *.sup (sous-titres sous forme d'images) en *.srt (plein texte) sous linux. Je suis sous Ubuntu 18.04.

1) Téléchargez le logiciel Subtitle Edit en version nomade (fichier SE357.zip à ce jour). C'est un logiciel libre, sous licence GNU GPL 3. Il utilise tesseract pour l'extraction ROC.

2) Décompressez l'archive et déplacez le répertoire résultant dans votre préfixe wine (par exemple dans ~/.wine/drive_c/Program\ Files\ \(x86\)/).

3) Téléchargez la dernière version de wine-mono (4.7.3 à ce jour). Installez-là dans votre préfixe wine. Vous pourriez faire cela avec une commande du genre:

env WINEPREFIX="~/.wine" wine msiexec /i "~/bureau/programmes/wine-mono-4.7.3.msi"

4) Il faut maintenant installer manuellement le dictionnaire français tesseract. Depuis cette page web téléchargez le fichier tesseract-ocr-3.02.fra.tar.gz. Décompressez l'archive et copiez le contenu du sous-répertoire tessdata/ dans le répertoire tessdata/ de Subtitle Edit (par exemple ~/.wine/drive_c/Program\ Files\ \(x86\)/SE357/Tesseract4/tessdata/). Toujours depuis la même page web téléchargez le fichier fra.traineddata.gz. Décompressez-le et copier le fichier fra.traineddata résultant dans le répertoire tessdata/ de Subtitle Edit (par exemple ~/.wine/drive_c/Program\ Files\ \(x86\)/SE357/Tesseract4/tessdata/). Cela écrasera le fichier du même nom.

5) Vous pouvez enfin lancer Subtitle Edit, avec une commande du type:

env WINEPREFIX="~/.wine" wine "C:\\Program Files (x86)\\SE357\\SubtitleEdit.exe"

6) Depuis Subtitle Edit ouvrez votre fichier *.sup extrait par mkvtoolnix(-gui). Cela ouvre une nouvelle fenêtre. Normalement la bonne méthode (OCR par Tesseract) et la bonne langue (French) sont présélectionnées. Pour Correction auto, choisissez aucune. Cliquez ensuite sur le bouton Lancez OCR. Ça peut être un peu long... Chaque ligne du tableau correspond à un sous-titre. Si elle se colore en vert, c'est que le logiciel est sûr de son ROC; en orange, il a un doute; en rouge, il n'a pas réussi à retranscrire le sous-titre. On peut facilement et rapidement corriger les erreurs de Tesseract quand celui-ci a terminé le dernier sous-titre. Pour une vidéo de 55 min, j'ai du procéder à 3 corrections. À la fin, cliquez sur OK. Là on revient à l'interface d'accueil de Subtitle Edit. Normalement le format SubRip (.srt) est déjà sélectionné. J'ai choisi l'encodage iso8859-15 (bizarrement appelé 28591 Western European ISO sous Subtitle Edit). Enregistrez-sous votre fichier de sous-titres *.srt. Quand j'ai recréé un *.mkv avec mkvtoolnix-gui il m'a fallu préciser la locale (iso8859-15) du fichier *.srt pour que mon lecteur de salon le reconnaisse.

7) Enfin, créez un lanceur pour Subtitle Edit (en utilisant une commande inspirée de celle donnée à l'étape n°5).

Je ne suis pas arrivé à faire reconnaître le dictionnaire français de LibreOffice (ou d'OpenOffice) à Subtitle Edit pour la correction d'erreurs. J'ai bien placé un *.aff et un *.dict dans le répertoire tessdata/ de SubtitleEdit, mais le logiciel les ignore. Ce n'est pas essentiel.

Hors ligne

#15 Le 01/10/2018, à 12:04

Mangiafoco

Re : Extraction d'une piste de sous-titre au format PGS

En fait, sans corrections linguistiques, il reste un peu trop d'erreurs dans le *.srt pour regarder confortablement une vidéo. Un simple ROC ne suffit pas.

Pour activer la correction linguistique, il faut télécharger le fichier lo-oo-ressources-linguistiques-fr-v5.7.oxt, changer son extension en *.zip, décompresser l'archive, trouver les fichiers fr-classique.aff et fr-classique.dic, les renommer respectivement en fr_FR.aff et fr_FR.dic, les déplacer dans /home/votreIdentifiant/.wine/drive_c/Program Files (x86)/SE357/Dictionaries/.

À partir de là, chaque fois que Subtitle Edit a un doute, il suspend le ROC et suggère des corrections. C'est à l'utilisateur à choisir la bonne (ou à éditer à la main le sous-titre si rien ne correspond). C'est un peu long.

Après la correction, une fois le *.srt créé, il faut quand même le revérifier une fois. Pour cela, il faut chercher le caractère de substitution ('#' ou '?' selon la locale d'exportation) et le remplacer. Dans mon cas le caractère à substituer était '#'. Je l'ai remplacé par 'J'' à chaque fois.

Tant que ce type de logiciel n’intégrera pas un peu d'intelligence artificielle, l'utilisateur sera mis à contribution...

Hors ligne