Contenu | Rechercher | Menus

Annonce

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 29/12/2013, à 14:19

Hizoka

Besoin de quelques retours pour un projet pyqt

Bonjour et bonnes fêtes à tous,

voila, je me suis mis au pyqt (python3.3 + qt 4.8) et j'ai converti mon logiciel MKV Extractor Gui qui était en bash + gtk.

Mais j'aurais besoin de retours pour voir si tout est aussi ok que chez moi...

cela me permettrait de m’améliorer en python et d’améliorer le soft aussi.


Plus d'infos sur le soft :
Il est en français et en anglais.

Il créé un dossier de config dans ~/configs

Pour information, cette GUI permet de :
- Extraire les pistes contenu dans des fichiers matroska (mkv).
- Convertir des fichiers audio DTS en AC3 afin que le fichier matroska (mkv) soit lisible sur la freebox v5.
- Ré-encapsuler un fichier matroska (mkv) après avoir enlevé des pistes ou la conversion de fichiers audio DTS.
- Vérifier la conformité du fichier matroska via mkvalidator.
- Optimiser le fichier matroska (mkv) via mkclean.
- Visualiser les pièces jointes au fichier matroska (mkv).
- Convertir automatiquement un fichier vobsub en srt.


Format MKV :
Pour ceux qui ne connaissent pas les fichiers mkv : C'est un conteneur (au même titre que le fichier avi, mp4...) libre qui peut contenir audio, vidéo, sous titres, fichiers joints...


Fichier mkv :
Pour ceux qui n'ont pas de fichiers mkv, voici un fichier de test libre (ne permet pas de tester la conversions dts => ac3 et sub => srt).


Soft :
Voici donc MKV Extractor Qt. Il faut lancer le fichier mkv-extractor-gui.py.
Niveau dépendance il faut : mkvtoolnix, python3, python3-pyqt4 (j’espère que c'est tout)
et conseillés : ffmpeg (DTS => AC3), mkclean (optimisation du fichier mkv), mkvalidator (teste du fichier mkv), tesseract (SUB => SRT)

si vous êtes sous gnome ou unity, je veux bien un screenshot du logiciel smile

et s'il y a des oufs qui veulent lire mon code, c'est avec plaisir que je prendrais vos retours.


merci d'avance.

Dernière modification par Hizoka (Le 09/01/2014, à 14:22)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#2 Le 29/12/2013, à 16:35

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Bonjour.

Ne fonctionne pas sur Ubuntu 12.04 X64.

Le message d'erreur.

File "./MKVExtractorGui.py", line 4, in <module>
    from PyQt4.QtGui import *
ImportError: No module named PyQt4.QtGui

#3 Le 29/12/2013, à 17:29

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

tu as bien le paquet : python-qt4 ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#4 Le 29/12/2013, à 17:36

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Oui python-qt4 est bien installé. C'est la version 4.9.1 sur Precise.

#5 Le 29/12/2013, à 18:22

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

et python3-pyqt4 ?

Dernière modification par Hizoka (Le 29/12/2013, à 18:22)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#6 Le 29/12/2013, à 23:49

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Non il n'était pas installé.

Maintenant j'obtiens ce message d'erreur malgré l'installation de mkvalidator.

Traceback (most recent call last):
  File "./MKVExtractorGui.py", line 1767, in <module>
    MKVExtractorGui = MKVExtractorGui()
  File "./MKVExtractorGui.py", line 125, in __init__
    if not shutil.which("mkvalidator"):
AttributeError: 'module' object has no attribute 'which'

#7 Le 30/12/2013, à 00:12

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

merci du temps que tu prends smile

Alors la ca vient surement parce que le soft est lancé par python et non python3.

python3 MKVExtractorGui.py
=> '/usr/bin/mkvalidator'

python MKVExtractorGui.py
AttributeError: 'module' object has no attribute 'which'

KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#8 Le 30/12/2013, à 00:18

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Pour info sur Precise c'est python3.2 et non la 3.3
Le problème vient peut-être de là.

Dernière modification par vikin712 (Le 30/12/2013, à 00:19)

#9 Le 30/12/2013, à 00:26

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

ha en effet !

ca n'existe que depuis python3.3

On se passera de ca, supprime les lignes :

        if not shutil.which("mkvalidator"):
            self.ui.mk_validator.setVisible(False) # Cache l'option mkvinfo si le l'executable n'existe pas

        if not shutil.which("mkclean"):
            self.ui.mk_clean.setVisible(False) # Cache l'option mkvinfo si le l'executable n'existe pas

        if not shutil.which("ffmpeg"):
            self.ui.option_dts_ac3.setVisible(False) # Cache l'option de conversion si le l'executable n'existe pas

        if not shutil.which("tesseract"):
            self.ui.option_vobsub_srt.setVisible(False) # Cache l'option de conversion si le l'executable n'existe pas

Python3.3 apparrait dans Quantal Quetzal a priori.
Pour precise il semble necessaire de passer par un ppa : https://launchpad.net/~doko/+archive/ppa (non testé)

Dernière modification par Hizoka (Le 30/12/2013, à 00:30)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#10 Le 30/12/2013, à 00:40

vikin712

Re : Besoin de quelques retours pour un projet pyqt

J'étais justement en train de commenter les lignes que tu viens d'indiquer.
Et j'évite au maximum l'installation de PPA.

Donc une fois les lignes commentées le logiciel se lance.
Voilà la capture d'écran sous Unity.
1388356821.png

#11 Le 30/12/2013, à 01:13

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Autre problème.

Au premier lancement je sélectionne un mkv pour extraire le sous-titre, jusque là pas de problème l'opération s'effectue sans problème, mais c'est lorsque je veux sélectionner un autre mkv qu'il y en a un.

Rien ne s'affiche dans la zone Nom/Information.
Il faut supprimer le dossier de configuration pour importer un nouveau mkv.

PS: Le terminal ne renvoie aucune info.

#12 Le 30/12/2013, à 12:16

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

Je vois qu'il n'y a aucune icone, il va falloir que je passe plutot par une impletnatation en local des icones.

Tu as les icones sur la liste des pistes ?

Alors pour le soucis ca va pas etre simple.

As tu pu reproduire ce bug ?
Si tu charges 1 mkv, que tu en charges un autre, ca plante aussi ? (s'il n'y a pas eu de travail)

Je viens de tester et j'ai pas de soucis grrrr...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#13 Le 30/12/2013, à 14:50

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Bonjour.

Hizoka a écrit :

Tu as les icones sur la liste des pistes ?

Tu veux parler de ça ?
1388407278.jpg

Hizoka a écrit :

As tu pu reproduire ce bug ?

Oui ça le fait à chaque fois. Il me faut supprimer le dossier de configuration pour pouvoir passer à une autre piste ou utiliser la précédente après avoir fermé le logiciel.

Hizoka a écrit :

Si tu charges 1 mkv, que tu en charges un autre, ca plante aussi ? (s'il n'y a pas eu de travail)

Oui.
Là je viens d'avancer un peu. En fait le problème survient lorsque que je clique sur Dossier de sortie.
Si je ne clique pas dessus je peux importer des pistes sans problèmes mais je clique dessus c'est mort. Il me faut supprimer le dossier de config avant d'importer une nouvelle piste.

#14 Le 30/12/2013, à 15:10

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

vraiment etrange, car il ne sauvegarde rien avant la fin du logiciel...

mais c'est cool on avance.

j'ai trouvé une erreur à la con :

    def CheckSize(self):
        """Fonction verifiant qu'il y a assez de place pour travailler."""
        if Configs["MKVDirNameOut"] and Configs["MKVLinkIn"]: # Si l'une des valeurs est vide, on arrete là
            disksize = shutil.disk_usage(Configs["MKVDirNameOut"]) # Récupération de la place disponible
            filesize = os.path.getsize(Configs["MKVLinkIn"]) # Récupération de la taille du fichier

            if ( filesize * 2 ) > disksize.free: # Affiche un message s'il n'y a pas beaucoup de place
                self.SetInfo(self.Trad["CheckSize"], "000000", False, True) # Envoie d'info sur le manque de place

=>

    def CheckSize(self):
        """Fonction verifiant qu'il y a assez de place pour travailler."""
        if Configs["MKVDirNameOut"] and Configs["MKVLinkIn"]: # Si l'une des valeurs est vide, on arrete là
            disksize = shutil.disk_usage(Configs["MKVDirNameOut"]) # Récupération de la place disponible
            filesize = os.path.getsize(Configs["MKVLinkIn"]) # Récupération de la taille du fichier

            if ( filesize * 2 ) > disksize.free: # Affiche un message s'il n'y a pas beaucoup de place
                self.SetInfo(self.Trad["ErrorSize"], "000000", False, True) # Envoie d'info sur le manque de place

Si ca plante toujours, essaie de commenter :

self.CheckSize() # Vérifie la place disponible

de la fonction :

def MKVFolder(self):

Donc tu n'as pas les icones sur la liste, c'est plus que dommage...
je vais donc les ajouter au programme.

merci a toi


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#15 Le 30/12/2013, à 15:18

vikin712

Re : Besoin de quelques retours pour un projet pyqt

J'ai la même erreur. Avant elle n'apparaissait pas parce que  j'avais bloqué le fichier récemment utilisé.

Je vais commenter la ligne et voir ce que cela donne.

#16 Le 30/12/2013, à 15:35

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

etrange, en le bloquant pas de soucis chez moi...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#17 Le 30/12/2013, à 15:46

vikin712

Re : Besoin de quelques retours pour un projet pyqt

En commentant la ligne 593 ça fonctionne.

#18 Le 31/12/2013, à 11:39

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

ok c'est cool à savoir !

la je ne suis pas chez moi mais des que possible je regarde le probleme.

merci, je te tiens au courant.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#19 Le 01/01/2014, à 19:26

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

ok, donc ca vient surement de :

disksize = shutil.disk_usage(Configs["MKVDirNameOut"]) # Récupération de la place disponible

puisque cela a été ajouté dans la version 3.3 de python.

je vais donc mettre des verifications ou obliger python3.3...

Sinon le reste fonctionne ?

encore merci et bonne année !


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#20 Le 01/01/2014, à 19:43

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Bonsoir et bonne année aussi.

Hizoka a écrit :

Sinon le reste fonctionne ?

Je n'ai pas eu le temps de le tester dans son intégralité mais oui ça fonctionne.
J'ai une vingtaine de films à refaire donc j'aurai l'occasion de le tester plus et faire des retours.

#21 Le 04/01/2014, à 15:16

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

Une petite question, as tu des difficultés pour te deplacer dans la video créée ?
Car j'ai eu un retour comme ca mais je n'ai pas ce soucis.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#22 Le 04/01/2014, à 19:47

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Bonsoir.

J'ai testé sur trois vidéos et aucun problème.

#23 Le 04/01/2014, à 19:57

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

ok, merci smile


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#24 Le 09/01/2014, à 14:23

Hizoka

Re : Besoin de quelques retours pour un projet pyqt

j'ai fait une nouvelle version qui corrige :
- le soucis des icones
- qui verifie la version python utilisé (<3.3) et adapte les commandes non compatibles
- qui corrige les liens du menu.

Dis moi si c'est mieux smile

merci (voir le 1er message pour le lien)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#25 Le 09/01/2014, à 18:11

vikin712

Re : Besoin de quelques retours pour un projet pyqt

Bonjour.

Ok je vais tester ça.

As-tu déjà pensé à intégrer vobsub2srt pour la conversion de sub en srt ?
Perso je l'utilise beaucoup parce que mes mkv sont des rip de mes dvd faits avec Handrake, et lorsque j'extrais le sous-titre du mkv je me retrouve avec un sub et vobsub2srt est assez pratique pour la conversion.