#1 Le 29/12/2013, à 13: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
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, à 13:22)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#2 Le 29/12/2013, à 15: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, à 16: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, à 16: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, à 17:22
- Hizoka
Re : Besoin de quelques retours pour un projet pyqt
et python3-pyqt4 ?
Dernière modification par Hizoka (Le 29/12/2013, à 17:22)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 29/12/2013, à 22: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 29/12/2013, à 23:12
- Hizoka
Re : Besoin de quelques retours pour un projet pyqt
merci du temps que tu prends
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 29/12/2013, à 23: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 29/12/2013, à 23:19)
#9 Le 29/12/2013, à 23: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 29/12/2013, à 23:30)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#11 Le 30/12/2013, à 00: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, à 11: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, à 13:50
- vikin712
Re : Besoin de quelques retours pour un projet pyqt
Bonjour.
Tu as les icones sur la liste des pistes ?
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.
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, à 14: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, à 14: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, à 14: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, à 14:46
- vikin712
Re : Besoin de quelques retours pour un projet pyqt
En commentant la ligne 593 ça fonctionne.
#18 Le 31/12/2013, à 10: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, à 18: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, à 18:43
- vikin712
Re : Besoin de quelques retours pour un projet pyqt
Bonsoir et bonne année aussi.
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, à 14: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, à 18: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, à 18:57
- Hizoka
Re : Besoin de quelques retours pour un projet pyqt
ok, merci
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#24 Le 09/01/2014, à 13: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
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, à 17: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.