本文整理汇总了Python中moteur_modules_common.EkdConfig.EkdConfig.getTempDir方法的典型用法代码示例。如果您正苦于以下问题:Python EkdConfig.getTempDir方法的具体用法?Python EkdConfig.getTempDir怎么用?Python EkdConfig.getTempDir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类moteur_modules_common.EkdConfig.EkdConfig
的用法示例。
在下文中一共展示了EkdConfig.getTempDir方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, cheminVideoEntre, valeurNum=0, cheminMEncoder=None):
QDialog.__init__(self)
# === Paramètres généraux ===#
self.repTampon = EkdConfig.getTempDir() + os.sep
# Répertoire de sauvegarde ds le rep tampon
self.rep_video_ext_resol = self.repTampon + "video_extension_resol" + os.sep
# Uniquement pour Linux et MacOSX
if os.name in ["posix", "mac"] or not cheminMEncoder:
self.cheminMEncoder = u"mencoder"
# Uniquement pour windows
elif os.name == "nt" and cheminMEncoder:
self.cheminMEncoder = unicode(cheminMEncoder)
# chemin(s) des vidéos chargées
self.cheminVideoEntre = cheminVideoEntre
# valeur de la boite de spin pour l'encodage
self.valeurNum = valeurNum
self.fichiers = [os.path.basename(parc) for parc in self.cheminVideoEntre]
# Appel de la fonction lanceur
self.lanceur()
示例2: checkfirsttime
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def checkfirsttime(self,p) : #OK QT4
a, b, c, d = 0, 0, 0, 0
pathname = os.path.dirname (sys.argv[0])
refdir = os.path.abspath (pathname) + os.sep + u"videoporama" + os.sep + u"template" + os.sep
if p=="o" :
self.templatedir=unicode(QDir.homePath()) + os.sep + self.parent.configdir
else :
self.templatedir=refdir
if (not os.path.exists(self.templatedir)) :
print "Configuration directory doesn't exist"
print "Create configuration directory at "+self.templatedir
os.makedirs(self.templatedir)
if (not os.path.exists(self.templatedir + os.sep + u"template_data.idv")) :
d=1
reffile=open(refdir + os.sep +u"template_data.idv","r")
destfile=open(self.templatedir + os.sep + u"template_data.idv","w")
destfile.write(reffile.read())
destfile.close()
### check or create temporary dir
self.T = EkdConfig.getTempDir() + os.sep + u"videoporamatmp"
if (not os.path.exists(self.T)) :
os.makedirs(self.T)
if (c or d) :
print "Configuration files not find (First time open ?)"
if (a==c and b==d) :
return False
else :
return True
else :
return False
示例3: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, cheminVideoEntre, cheminFFmpeg=None):
QThread.__init__(self)
self.cancel = False
#=== Paramètres généraux ===#
self.repTampon = unicode(EkdConfig.getTempDir() + os.sep)
# Répertoire de sauvegarde ds le rep tampon
self.rep_audio = self.repTampon + u'concat_audio' + os.sep
# Uniquement pour Linux et MacOSX
if os.name in ['posix', 'mac'] or not cheminFFmpeg :
self.cheminFFmpeg=u"ffmpeg"
elif cheminFFmpeg :
self.cheminFFmpeg=unicode(cheminFFmpeg)
# Uniquement pour windows
else :
self.cheminFFmpeg=u"ffmpeg"
# chemin(s) des vidéos chargées
self.cheminVideoEntre = cheminVideoEntre
示例4: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self):
# Identifiant de la classe
self.idSection = "animation_encodage_web"
# Pas d'"empilement" car pas de paramètre d'encodage
self.stacked = None
# ------------------------------------------------------------------- #
# Chemin des répertoires temporaires pour la gestion des fichiers
# mod (extension .mod). Ce sont (apparemment) des fichiers mpeg avec
# une extension .mod. Les fichiers en question ont juste besoin
# d'être renommés avec une extension .mpg avant le traitement.
# ------------------------------------------------------------------- #
self.repTempEntree = EkdConfig.getTempDir() + os.sep
# création des répertoires temporaires
if os.path.isdir(self.repTempEntree) is False:
os.makedirs(self.repTempEntree)
# Chemin exact d'écriture pour le tampon des fichiers mod
self.repTempFichiersMod = self.repTempEntree + "transcodage" + os.sep + "fichiers_mod" + os.sep
# Création du chemin
if os.path.isdir(self.repTempFichiersMod) is False:
os.makedirs(self.repTempFichiersMod)
# Epuration/elimination des fichiers tampon contenus dans le rep tampon
for toutRepTemp in glob.glob(self.repTempFichiersMod + "*.*"):
os.remove(toutRepTemp)
# ----------------------------------------------------------------------------------
# Paramètres de la liste de combo: [(identifiant, nom entrée, instance, extension), ...]
# ----------------------------------------------------------------------------------
self.listeCombo = [
("youtube_16/9_HQ", _(u"Transcodage YouTube 16/9 Haute Qualité"), 0, ".avi"),
("youtube_16/9_MQ", _(u"Transcodage YouTube 16/9 Moyenne Qualité"), 1, ".avi"),
("youtube_16/9_LQ", _(u"Transcodage YouTube 16/9 Basse qualité"), 2, ".avi"),
("youtube_4/3_HQ", _(u"Transcodage YouTube 4/3 Haute Qualité"), 3, ".avi"),
("youtube_4/3_MQ", _(u"Transcodage YouTube 4/3 Moyenne Qualité"), 4, ".avi"),
("youtube_4/3_LQ", _(u"Transcodage YouTube 4/3 Basse qualité"), 5, ".avi"),
("google_video_16/9_HQ", _(u"Transcodage Google vidéo 16/9 Haute qualité"), 6, ".avi"),
("google_video_16/9_MQ", _(u"Transcodage Google vidéo 16/9 Qualité moyenne"), 7, ".avi"),
("google_video_16/9_LQ", _(u"Transcodage Google vidéo 16/9 Basse qualité"), 8, ".avi"),
("google_video_4/3_HQ", _(u"Transcodage Google vidéo 4/3 Haute qualité"), 9, ".avi"),
("google_video_4/3_MQ", _(u"Transcodage Google vidéo 4/3 Qualité moyenne"), 10, ".avi"),
("google_video_4/3_LQ", _(u"Transcodage Google vidéo 4/3 Basse qualité"), 11, ".avi"),
("dailymotion_sd_4/3", _(u"Transcodage Dailymotion SD 4/3"), 12, ".mp4"),
("dailymotion_sd_16/9", _(u"Transcodage Dailymotion SD 16/9"), 13, ".mp4"),
("dailymotion_HD720p", _(u"Transcodage Dailymotion HD720p"), 14, ".mp4"),
]
# ---------------------------
# Dérivation de la classe
# ---------------------------
Base_EncodageFiltre.__init__(self, titre=_(u"Transcodage: Pour le Web"))
示例5: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, statusBar, parent=None):
vbox=QVBoxLayout()
#=== Variable de configuration ===#
self.config=EkdConfig
# Identifiant de la classe
self.idSection = "animation_montage_video_et_audio"
super(Animation_MontagVideoVidPlusAudio, self).__init__(boite='vbox', titre=_(u"Montage: Vidéo et audio"))
self.printSection()
self.repTampon = EkdConfig.getTempDir() + os.sep
if os.path.isdir(self.repTampon) is False:
os.makedirs(self.repTampon)
# Au cas où le répertoire existait déjà et qu'il n'était pas vide -> purge (simple précaution)
for toutRepCompo in glob.glob(self.repTampon+'*.*'):
os.remove(toutRepCompo)
# Liste de fichiers initiaux (contenu dans le fichier de configuration)
self.lstFichiersSource = []
self.lstFichiersSourceProv = [] # idem mais provisoire (sert à récupérer les chemins dans l'ordre de sélection)
self.lstFichiersSourceAudio = []
self.lstFichiersSourceProvAudio = []
# Par soucis de lisibilité, on préfère ne pas utiliser des objets présent dans le parent de cette façon
# mais plutôt le passer en paramètre (le code est plus facile à lire de cette façon)
self.statusBar = statusBar
#-------------------------------------------------------------------
self.afficheurVideoSource=SelectWidget(extensions = ["*.avi", "*.mpg", "*.mpeg", "*.mjpeg", "*.flv", "*.mp4", "*.h264", "*.dv", "*.vob"], mode="texte", video = True)
###################################################################################
# Onglets
self.indexVideoSource = self.add(self.afficheurVideoSource, _(u'Video(s) source'))
self.connect(self.afficheurVideoSource,SIGNAL("fileSelected"),self.getFile)
self.connect(self.afficheurVideoSource, SIGNAL("pictureChanged(int)"), self.getFile)
#--------------------------------------------------------------------
# -------------------------------------------------------------------
# Boîte de groupe : "Fichiers source"
# -------------------------------------------------------------------
extFormat=[]
for fmt in parent.soxSuppFormat :
extFormat.append("*."+fmt)
self.afficheurAudioSource=SelectWidget(extensions=extFormat ,mode="texte", audio = True)
# Onglets
self.indexAudioSource = self.add(self.afficheurAudioSource, _(u'Audio(s) source'))
self.connect(self.afficheurAudioSource,SIGNAL("fileSelected"), self.getFileA)
self.connect(self.afficheurAudioSource, SIGNAL("pictureChanged(int)"), self.getFileA)
## ---------------------------------------------------------------------
# Variables pour la fonction tampon
## ---------------------------------------------------------------------
self.typeEntree = ["video","audio"] # Défini le type de fichier source.
self.typeSortie = "video" # Défini le type de fichier de sortie.
self.sourceEntrees = [self.afficheurVideoSource, self.afficheurAudioSource] # Fait le lien avec le sélecteur de fichier source.
self.addReglage("vbox")
#=== Widget qui seront inclus dans la boite de réglage ===#
self.ordreVideo = selectJoinMultipleSound(0, self)
self.ordreVideo.setTitleAndTips(_(u"Fichiers vidéos à joindre"), _(u"Liste des fichiers vidéo à joindre. <b>Pour information, vous pouvez monter et descendre les fichiers grâce aux flèches haut et bas (les fichiers apparaissant en haut de la liste sont ceux qui seront au début du montage)</b>"))
self.ordreAudio = selectJoinMultipleSound(0, self)
self.ordreAudio.setTitleAndTips(_(u"Fichiers audios à joindre"), _(u"Liste des fichiers audio à joindre. <b>Pour information, vous pouvez monter et descendre les fichiers grâce aux flèches haut et bas (les fichiers apparaissant en haut de la liste sont ceux qui seront au début du montage)</b>"))
self.layoutReglage.addWidget(self.ordreVideo)
self.layoutReglage.addWidget(self.ordreAudio)
# ---------------------------
# Boite de groupe de mplayer
# ---------------------------
self.addPreview()
self.addLog()
示例6: demarrerEncodeur
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def demarrerEncodeur(self, encodeur):
"""démarrage de mencoder avec les arguments choisis"""
if self.estLancee == False: # pas question de démarrer 2 fois l'encodage
commande = None
has_audio = False
debug('\n')
# Si la conversion d'images en vidéo est sélectionné, aucune
# info Mplayer n'est affichée (problème de récup infos par Mplayer)
if self.idCodec in ['mpeg1video', 'mjpeg', 'h263p', 'mpeg4', 'msmpeg4v2', 'ljpeg', 'dv', 'huffyuv', 'mov', 'flv', 'mp4', 'vob']:
# ICI SI LES FICHIERS CHARGES SONT DES IMAGES
a = "###############################"
b = "# Informations sur les images :"
c = "###############################"
infos = '\n'+a+'\n'+b+'\n'+c+'\n'
debug(infos)
self.zoneTexte.append(infos)
import glob
# Le chemin pour l'affichage des infos sur les images ne fonctionnait
# plus après la nouvelle structure des fichiers temporaires
self.recupTempImgAnim = glob.glob(EkdConfig.getTempDir() + os.sep + "*.*")
self.recupTempImgAnim.sort()
# Affichage du chemin (temp) + le poids de chaque image
# --> Une énumération de parcours a été introduite
for parcNb, parcInfIm in enumerate(self.recupTempImgAnim):
debug('* '+str(parcNb+1)+'. '+parcInfIm+' --> '+str(float(os.path.getsize(parcInfIm)/1000))+' ko'+'\n')
self.zoneTexte.append('* '+str(parcNb+1)+'. '+parcInfIm+' --> '+str(float(os.path.getsize(parcInfIm)/1000))+' ko'+'\n')
# Elimination de la dernière image de la liste car car elle
# s'affiche en double ds la fenêtre information de l'encodage
# et aussi ds la console
#self.log = self.log[:len(self.log)-1]
# On définie la longueur de la futur vidéo en divisant le nombre d'image par le
# nombre d'image par seconde (valeurNum ici)
self.ffmpegProcess.setVideoLen(len(self.recupTempImgAnim) / int(self.valeurNum))
# Pour les traitements autres que la transformation des images en vidéo
if self.idCodec not in ['mpeg1video', 'mjpeg', 'h263p', 'mpeg4', 'msmpeg4v2', 'ljpeg', 'dv', 'huffyuv', 'mov', 'flv', 'mp4', 'vob']:
a = "########################"
b = "# Informations MPlayer :"
c = "########################"
infos = '\n'+a+'\n'+b+'\n'+c+'\n'
debug(infos)
######## Ajouté le 24/07/09 ##################################################################
# Utilisation de la classe infovideo (et en particilier la fonction setVideo)
# présents dans gui_modules_animation/infoVideo.py
info = infovideo(self.cheminVideoEntre)
id_filename = 'ID_FILENAME='+self.cheminVideoEntre+'\n'
debug(id_filename)
id_demuxer = 'ID_DEMUXER='+info.demux+'\n'
debug(id_demuxer)
id_video_format = 'ID_VIDEO_FORMAT='+info.videoFormat+'\n'
debug(id_video_format)
id_video_codec = 'ID_VIDEO_CODEC='+info.video_codec+'\n'
debug(id_video_codec)
id_video_bitrate = 'ID_VIDEO_BITRATE='+str(info.videoBitrate)+'\n'
debug(id_video_bitrate)
id_video_largeur = 'ID_VIDEO_WIDTH='+str(info.videoLargeur)+'\n'
debug(id_video_largeur)
id_video_hauteur = 'ID_VIDEO_HEIGHT='+str(info.videoHauteur)+'\n'
debug(id_video_hauteur)
id_img_par_sec = 'ID_VIDEO_FPS='+str(info.imgParSec)+'\n'
debug(id_img_par_sec)
##### Donnée très importante pour la suite du calcul (pour ffmpeg.py et ffmpeg2theora) ####
self.dureeTotaleVideo = float(info.dureeTotaleVideo)
###########################################################################################
id_duree_totale_video = 'ID_LENGTH='+str(info.dureeTotaleVideo)+'\n'
debug(id_duree_totale_video)
id_audio_codec = 'ID_AUDIO_CODEC='+info.audioCodec+'\n'
debug(id_audio_codec)
id_audio_rate = 'ID_AUDIO_RATE='+str(info.audioRate)+'\n'
debug(id_audio_rate)
id_audio_bitrate = 'ID_AUDIO_BITRATE='+str(info.audioBitrate)+'\n'
debug(id_audio_bitrate)
self.zoneTexte.append(infos+id_filename+id_demuxer+id_video_format+id_video_codec+id_video_bitrate+id_video_largeur+id_video_hauteur+id_img_par_sec+id_duree_totale_video+id_audio_codec+id_audio_rate+id_audio_bitrate)
##############################################################################################
## On définie la longueur de la vidéo pour le process
self.ffmpegProcess.setVideoLen(self.dureeTotaleVideo)
if info.audioCodec :
has_audio = True
debug('\n')
a = "############################"
b = "# Informations %s :" %encodeur
c = "############################"
infos = '\n'+a+'\n'+b+'\n'+c+'\n'
debug(infos)
#.........这里部分代码省略.........
示例7: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, statusBar):
# -------------------------------
# Parametres généraux du widget
# -------------------------------
#=== tout sera mis dans une boîte verticale ===#
vbox=QVBoxLayout()
#=== Variable de configuration ===#
self.config=EkdConfig
# Identifiant de la classe
self.idSection = "animation_montage_video_seul"
super(Animation_MontagVideoVidSeul, self).__init__(boite='vbox', titre=_(u"Montage: Vidéo seulement"))
self.printSection()
# Création des répertoires temporaires
self.repTampon = EkdConfig.getTempDir() + os.sep
if os.path.isdir(self.repTampon) is False:
os.makedirs(self.repTampon)
# Au cas où le répertoire existait déjà et qu'il n'était pas vide -> purge (simple précausion)
for toutRepCompo in glob.glob(self.repTampon+'*.*'):
os.remove(toutRepCompo)
# Liste de fichiers initiaux (contenu dans le fichier de configuration)
self.lstFichiersSource = []
self.lstFichiersSourceProv = [] # idem mais provisoire (sert à récupérer les chemins dans l'ordre de sélection)
self.statusBar = statusBar
#-------------------------------------------------------------------
self.afficheurVideoSource=SelectWidget(extensions = ["*.avi", "*.mpg", "*.mpeg", "*.mjpeg", "*.flv", "*.mp4", "*.h264", "*.dv", "*.vob"], mode="texte", video = True)
## ---------------------------------------------------------------------
# Variables pour la fonction tampon
## ---------------------------------------------------------------------
self.typeEntree = "video" # Défini le type de fichier source.
self.typeSortie = "video" # Défini le type de fichier de sortie.
self.sourceEntrees = self.afficheurVideoSource # Fait le lien avec le sélecteur de fichier source.
#####################################################################
# Onglets
self.indexVideoSource = self.add(self.afficheurVideoSource, _(u'Video(s) source'))
self.connect(self.afficheurVideoSource,SIGNAL("fileSelected"),self.getFile)
self.connect(self.afficheurVideoSource, SIGNAL("pictureChanged(int)"), self.getFile)
#--------------------------------------------------------------------
self.addReglage(boite="vbox")
#--------------------------------------------------------------------
#=== Widget qui seront inclus dans la boite de réglage ===#
self.ordreVideo = selectJoinMultipleSound(0, self)
self.ordreVideo.setTitleAndTips(_(u"Fichiers vidéos à joindre"), _(u"Liste des fichiers vidéo à joindre. <b>Pour information, vous pouvez monter et descendre les fichiers grâce aux flèches haut et bas (les fichiers apparaissant en haut de la liste sont ceux qui seront au début du montage)</b>"))
self.layoutReglage.addWidget(self.ordreVideo)
# ----------------------------
# Boite de groupe de mplayer
# ----------------------------
self.addPreview()
self.addLog()
示例8: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, geometry):
QWidget.__init__(self)
# Boite d'alignement vertical
vbox=QVBoxLayout(self)
#=== Création des répertoires temporaires ===#
# Gestion du repertoire tmp avec EkdConfig
self.repTampon = EkdConfig.getTempDir() + os.sep + "tampon" + os.sep + "image_divers_renommage" + os.sep
if os.path.isdir(self.repTampon) is False:
os.makedirs(self.repTampon)
# Au cas où le répertoire existait déjà et qu'il n'était pas vide
# -> purge (simple précausion)
for toutRepCompo in glob.glob(self.repTampon+'*.*'):
os.remove(toutRepCompo)
#=== Drapeaux ===#
# Une conversion (même partielle) a-t-elle eu lieu après le chargement des images? (1: vrai)
# Est-ce que des images sources ont été modifiées? (c'est-à-dire ajoutées ou supprimées)
self.modifImageSource = 0
#=== Variable de configuration ===#
# Fonctions communes à plusieurs cadres du module Image
self.base = Base()
# Gestion de la configuration via EkdConfig
# Paramètres de configuration
self.config = EkdConfig
# Identifiant du cadre
self.idSection = "image_renommer"
# Log du terminal
self.base.printSection(self.idSection)
# Fonction appelant la fenêtre principale
self.mainWindowFrameGeometry = geometry
self.listeImgSource = []
# là où s'afficheront les infos
self.zoneTexte = QTextEdit("")
if PYQT_VERSION_STR < "4.1.0":
self.zoneTexte.setText = self.zoneTexte.setPlainText
self.zoneTexte.setReadOnly(True)
self.tabwidget=QTabWidget()
# Boîte de combo
self.comboClassement=QComboBox()
self.listeComboClassement=[(_(u'Par ordre de sélection'), 'ord_select'),\
(_(u'Par ordre alpha-numérique'), 'ord_apha_num'),\
(_(u'Par ordre de prise de vue (données Exif): ordre croissant'), 'ord_exif_oc'),\
(_(u'Par ordre de prise de vue (données Exif): ordre décroissant'), 'ord_exif_dc')]
# Insertion de l'ordre de classement des images/photos dans la combo box
for i in self.listeComboClassement:
self.comboClassement.addItem(i[0],QVariant(i[1]))
self.connect(self.comboClassement, SIGNAL("currentIndexChanged(int)"), self.classement)
#=== 1er onglet ===#
self.framNbreImg=QFrame()
vboxReglage=QVBoxLayout(self.framNbreImg)
self.grid = QGridLayout()
self.grid.addWidget(QLabel(_(u"Traitement à partir de l'image (numéro)")), 0, 0)
self.spin1=SpinSlider(1, 10000, 1, '', self)
self.grid.addWidget(self.spin1, 0, 1)
self.connect(self.spin1, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
self.grid.addWidget(QLabel(_(u"Nombre de chiffres après le nom de l'image")), 1, 0)
self.spin2=SpinSlider(3, 18, 6, '', self)
self.grid.addWidget(self.spin2, 1, 1)
self.connect(self.spin2, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
# Demandé par Marc de la liste lprod
# "J'aurais été interressé par un paramètre supplémentaire pour définir l'incrément (ou le pas ...).
# En fait cela permettrait d'insérer (donc classer) facilement les photos issues d'appareils
# différents mais traitant les mêmes sujets. En fait, je voudrais réaliser une série finale des
# photos prises avec mon APN, mon camescope et l'APN de mon épouse. Je numérote de 10 en 10 la
# plus grosse série de photos et viens insérer les autres au bon endroit sans avoir à utiliser
# des indices a, b, c, etc."
self.grid.addWidget(QLabel(_(u"Valeur d'incrément (passage d'une image à l'autre)")), 2, 0)
#self.spin3=SpinSlider(1, 1000, 1, 'increment', self) # Ne fonctionne pas
self.spin3=SpinSlider(1, 1000, 1, '', self)
self.grid.addWidget(self.spin3, 2, 1)
self.connect(self.spin3, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
self.grid.addWidget(QLabel(_(u"Classement")), 3, 0)
self.grid.addWidget(self.comboClassement, 3, 1)
self.grid.setAlignment(Qt.AlignHCenter)
vboxReglage.addLayout(self.grid)
vboxReglage.addStretch()
#=== 2ème onglet ===#
# infos - logs
self.zoneAffichInfosImg = QTextEdit("")
if PYQT_VERSION_STR < "4.1.0":
self.zoneAffichInfosImg.setText = self.zoneAffichInfosImg.setPlainText
self.zoneAffichInfosImg.setReadOnly(True)
self.framImg=QFrame()
vboxReglage=QVBoxLayout(self.framImg)
#.........这里部分代码省略.........
示例9: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, statusBar, geometry):
QWidget.__init__(self)
# -------------------------------
# Parametres généraux du widget
# -------------------------------
#=== tout sera mis dans une boîte verticale ===#
vbox=QVBoxLayout(self)
#=== Création des répertoires temporaires ===#
# Utilisation de EkdConfig
self.repTampon = EkdConfig.getTempDir() + os.sep
if os.path.isdir(self.repTampon) is False:
os.makedirs(self.repTampon)
# Au cas où le répertoire existait déjà et qu'il n'était pas vide
# -> purge (simple précausion)
for toutRepCompo in glob.glob(self.repTampon+'*.*'):
os.remove(toutRepCompo)
#=== Drapeaux ===#
# Une conversion (même partielle) a-t-elle eu lieu après le chargement des images? (1: vrai)
# Est-ce que des images ont été converties et qu'elles n'ont pas encore été montrées?
# Marche aussi quand la conversion a été arrêté avant la fin de la 1ère image
self.conversionImg = 0
# Est-ce qu'une prévisualisation a été appelée?
self.previsualImg = 0
# Est-ce que des images sources ont été modifiées? (c'est-à-dire ajoutées ou supprimées)
self.modifImageSource = 0
# Délai avant conversion
self.timer = QTimer()
self.connect(self.timer, SIGNAL('timeout()'), self.sonderTempsActuel)
# Fonctions communes à plusieurs cadres du module Image
self.base = Base()
# Gestion de la configuration via EkdConfig
# Paramètres de configuration
self.config = EkdConfig
# Identifiant du cadre
self.idSection = "image_changer_format"
# Log du terminal
self.base.printSection(self.idSection)
# Fonction appelant la fenêtre principale
self.mainWindowFrameGeometry = geometry
self.listeImgSource = []
self.listeImgDestin = []
#------------------------
# Onglets et stacked
#------------------------
self.tabwidget=QTabWidget()
#=== 1er onglet ===#
self.framReglage=QFrame()
vboxReglage=QVBoxLayout(self.framReglage)
# boite de combo
self.comboReglage=QComboBox()
self.listeComboReglage=[(_(u'JPEG (.jpg)'), '.jpg'),\
(_(u'JPEG (.jpeg)'), '.jpeg'),\
(_(u'PNG (.png)'), '.png'),\
(_(u'GIF (.gif)'), '.gif'),\
(_(u'BMP (.bmp)'), '.bmp'),\
(_(u'PPM (.ppm)'), '.ppm'),\
(_(u'TIFF (.tiff)'), '.tiff'),\
(_(u'TIF (.tif)'), '.tif')]
# Se trouve directement dans l'onglet Réglages
self.grid = QGridLayout()
self.grid.addWidget(QLabel(_(u"Traitement à partir de l'image (numéro)")), 0, 0)
self.spin1=SpinSlider(1, 100000, 1, '', self)
self.grid.addWidget(self.spin1, 0, 1)
self.connect(self.spin1, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
self.grid.addWidget(QLabel(_(u"Nombre de chiffres après le nom de l'image")), 1, 0)
self.spin2=SpinSlider(3, 18, 6, '', self)
self.grid.addWidget(self.spin2, 1, 1)
self.connect(self.spin2, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
self.grid.setAlignment(Qt.AlignHCenter)
vboxReglage.addLayout(self.grid)
vboxReglage.addStretch()
# Insertion des formats dans la combo box
for i in self.listeComboReglage:
self.comboReglage.addItem(i[0],QVariant(i[1]))
self.connect(self.comboReglage, SIGNAL("currentIndexChanged(int)"), self.changerComboReglage)
# Affiche l'entrée de la boite de combo inscrite dans un fichier de configuration
self.base.valeurComboIni(self.comboReglage, self.config, self.idSection, 'format')
self.grid2 = QGridLayout()
# Label qualité pour la qualité (compression) lors de la sauvegarde en JPEG
self.labQualite=QLabel(_(u"Qualité"))
self.labQualite.hide()
#.........这里部分代码省略.........
示例10: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self):
#=== Identifiant de la classe ===#
self.idSection = "animation_encodage_general"
# ------------------------------------------------------------------- #
# Chemin des répertoires temporaires pour la gestion des fichiers
# mod (extension .mod). Ce sont (apparemment) des fichiers mpeg avec
# une extension .mod. Les fichiers en question ont juste besoin
# d'être renommés avec une extension .mpg avant le traitement.
# ------------------------------------------------------------------- #
self.repTempEntree = EkdConfig.getTempDir() + os.sep
# création des répertoires temporaires
if os.path.isdir(self.repTempEntree) is False: os.makedirs(self.repTempEntree)
# Chemin exact d'écriture pour le tampon des fichiers mod
self.repTempFichiersMod = self.repTempEntree+'transcodage'+os.sep+'fichiers_mod'+os.sep
# Création du chemin
if os.path.isdir(self.repTempFichiersMod) is False: os.makedirs(self.repTempFichiersMod)
# Epuration/elimination des fichiers tampon contenus dans le rep tampon
for toutRepTemp in glob.glob(self.repTempFichiersMod+'*.*'): os.remove(toutRepTemp)
# -------------------------------------------------------------------
# Widgets intégrés à la boîte de groupe "Réglage de sortie de l'encodage".
# La boîte de combo définie ci-dessus 'sélectionne' ceux qui vont s'afficher
# -> utilisation d'un stacked
# -------------------------------------------------------------------
# === Widgets associés au codecs: Copie (format original) - AVI-RAW Sans
# Compression - Codec XVID - Qualite SVCD - Qualite DVD - Codec H264 MPEG 4
# création de stacked pour les QWidget
self.stacked=QStackedWidget()
self.stacked.setSizePolicy(QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Fixed))
self.itemStacked_sansReglages=Codecs_SansReglages()
# par défaut
self.indexStacked_sansReglages=self.stacked.addWidget(self.itemStacked_sansReglages)
# === Widgets associés aux codecs qui possèdent des réglages (itemStacked)
self.itemStacked_AVI_RAW=Codecs_AvecReglages('avirawsanscompression', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_HFYU=Codecs_AvecReglages('avirawsanscompression', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_DIVX4=Codecs_AvecReglages('codecdivx4', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_XVID=Codecs_AvecReglages('codecxvid', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_JPEG=Codecs_AvecReglages('codecmotionjpeg', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_MPEG1=Codecs_AvecReglages('codecmpeg1', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_MPEG2=Codecs_AvecReglages('codecmpeg2', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_WMV2=Codecs_AvecReglages('codecwmv2', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_VOB=Codecs_AvecReglages('codec_vob_ffmpeg', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_flash=Codecs_AvecReglages('macromediaflashvideo', min_range_1=1 , max_range_1=100, min_range_2=10, max_range_2=5000, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_oggTheora=Codecs_AvecReglages('codecoggtheora', min_range_1=0 , max_range_1=10, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_mpeg4_h264=Codecs_AvecReglages('codech264mpeg4', min_range_1=800 , max_range_1=2800, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_mpeg4_h264_ext_h264=Codecs_AvecReglages('codech264mpeg4_ext_h264', min_range_1=800 , max_range_1=2800, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_3GP=Codecs_AvecReglages('codec_3GP_ffmpeg', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_AMV=Codecs_AvecReglages('codec_AMV_ffmpeg', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
self.itemStacked_MOV=Codecs_AvecReglages('codec_mov_ffmpeg', min_range_1=1, max_range_1=100, min_range_2=800, max_range_2=2800, txt1=_(u"Réglage de la compression : "), txt5=_(u"Réglage du bitrate vidéo : "))
# === Widgets associés aux codecs qui possèdent des réglages (indexStacked)
self.indexStacked_AVI_RAW=self.stacked.addWidget(self.itemStacked_AVI_RAW)
self.indexStacked_HFYU=self.stacked.addWidget(self.itemStacked_HFYU)
self.indexStacked_DIVX4=self.stacked.addWidget(self.itemStacked_DIVX4)
self.indexStacked_XVID=self.stacked.addWidget(self.itemStacked_XVID)
self.indexStacked_JPEG=self.stacked.addWidget(self.itemStacked_JPEG)
self.indexStacked_MPEG1=self.stacked.addWidget(self.itemStacked_MPEG1)
self.indexStacked_MPEG2=self.stacked.addWidget(self.itemStacked_MPEG2)
self.indexStacked_WMV2=self.stacked.addWidget(self.itemStacked_WMV2)
self.indexStacked_VOB=self.stacked.addWidget(self.itemStacked_VOB)
self.indexStacked_flash=self.stacked.addWidget(self.itemStacked_flash)
self.indexStacked_oggTheora=self.stacked.addWidget(self.itemStacked_oggTheora)
self.indexStacked_mpeg4_h264=self.stacked.addWidget(self.itemStacked_mpeg4_h264)
self.indexStacked_mpeg4_h264_ext_h264=self.stacked.addWidget(self.itemStacked_mpeg4_h264_ext_h264)
self.indexStacked_3GP=self.stacked.addWidget(self.itemStacked_3GP)
self.indexStacked_AMV=self.stacked.addWidget(self.itemStacked_AMV)
self.indexStacked_MOV=self.stacked.addWidget(self.itemStacked_MOV)
#----------------------------------------------------------------------------------
# Paramètres de la liste de combo: [(identifiant, nom entrée, index du stacked,
# instance stacked, extension fichier sortie, valeur spin à récupérer?),...]
#----------------------------------------------------------------------------------
self.listeCombo = [\
('copie', _(u'Copie (format original)'), self.indexStacked_sansReglages,\
self.itemStacked_sansReglages, '', 0),\
('avirawsanscompression',_(u'AVI-RAW i420 (sans compression) (.avi)'), self.indexStacked_AVI_RAW,\
self.itemStacked_AVI_RAW, '.avi', 1),\
('codec_dv_ffmpeg',_(u'Codec DV (.dv)'), self.indexStacked_sansReglages,\
self.itemStacked_sansReglages, '.dv', 0),\
('codec_mov_ffmpeg',_(u'Codec QuickTime MOV (.mov)'), self.indexStacked_MOV,\
self.itemStacked_MOV, '.mov', 1),\
('codec_hfyu_ffmpeg',_(u'Codec HFYU: Huffman Lossless YUV (yuv422p) (.avi)'), self.indexStacked_HFYU,\
self.itemStacked_HFYU, '.avi', 1),\
('codecmotionjpeg', _(u'Codec Motion JPEG (.avi)'), self.indexStacked_JPEG,\
self.itemStacked_JPEG, '.avi', 1),\
('codecoggtheora', _(u'Codec OGG THEORA (.ogg)'), self.indexStacked_oggTheora,\
self.itemStacked_oggTheora, '.ogg', 1),\
('codec_vob_ffmpeg',_(u'Codec VOB (DVD-Video stream MPEG-2) (.vob)'), self.indexStacked_VOB,\
self.itemStacked_VOB, '.vob', 1),\
('codecmpeg2', _(u'Codec MPEG 2 (.mpg)'), self.indexStacked_MPEG2,\
self.itemStacked_MPEG2, '.mpg', 1),\
('codech264mpeg4', _(u'Codec H264 MPEG 4 (.mp4)'), self.indexStacked_mpeg4_h264,\
self.itemStacked_mpeg4_h264, '.mp4', 1),\
('codech264mpeg4_ext_h264', _(u'Codec H264 MPEG 4 (.h264)'), self.indexStacked_mpeg4_h264_ext_h264,\
#.........这里部分代码省略.........
示例11: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, statusBar, geometry):
QWidget.__init__(self)
# ----------------------------
# Quelques paramètres de base
# ----------------------------
# Paramètres de configuration
self.config = EkdConfig
# Fonctions communes à plusieurs cadres du module Image
self.base = Base()
self.idSection = "image_image_composite"
# Log du terminal
self.base.printSection(self.idSection)
# Fonction appelant la fenêtre principale
self.mainWindowFrameGeometry = geometry
# Création des répertoires temporaires. Utilisation de EkdConfig
self.repTampon = EkdConfig.getTempDir() + os.sep + "tampon" + os.sep + "temp_duplication" + os.sep
if os.path.isdir(self.repTampon) is False:
os.makedirs(self.repTampon)
# Au cas où le répertoire existait déjà et qu'il n'était pas vide
# -> purge (simple précausion)
for toutRepCompo in glob.glob(self.repTampon+'*.*'):
os.remove(toutRepCompo)
# Répertoire tampon dans lequel est crée le compositing qui sera crée par le
# bouton 'Voir le résultat'. Utilisation de EkdConfig
self.repTamponVisuVoirRes = self.repTampon + "visu_voir_res_compo" + os.sep
if os.path.isdir(self.repTamponVisuVoirRes) is False:
os.makedirs(self.repTamponVisuVoirRes)
# Au cas où le répertoire existait déjà et qu'il n'était pas vide
# -> purge (simple précausion)
for toutRepCompoVisu in glob.glob(self.repTamponVisuVoirRes+'*.*'):
os.remove(toutRepCompoVisu)
# Répertoire temporaire 1 pour les redimensionnement des images
if os.path.isdir(self.repTampon+'redim_1/') is False:
os.makedirs(self.repTampon+'redim_1/')
# Répertoire temporaire 2 pour les redimensionnement des images
if os.path.isdir(self.repTampon+'redim_2/') is False:
os.makedirs(self.repTampon+'redim_2/')
# Au cas où le répertoire existait déjà et qu'il n'était pas vide
# -> purge (simple précausion)
for toutRepCompoRedim in glob.glob(self.repTampon+'redim_1/'+'*.*'):
if len(toutRepCompoRedim)>0:
os.remove(toutRepCompoRedim)
# ...
for toutRepCompoRedim in glob.glob(self.repTampon+'redim_2/'+'*.*'):
if len(toutRepCompoRedim)>0:
os.remove(toutRepCompoRedim)
#=== Drapeaux ===#
# Une conversion (même partielle) a-t-elle eu lieu après le chargement des images? (1: vrai)
# Est-ce que des images ont été converties et qu'elles n'ont pas encore été montrées?
# Marche aussi quand la conversion a été arrêté avant la fin de la 1ère image
self.conversionImg = 0
# Est-ce qu'une prévisualisation a été appelée?
self.previsualImg = 0
# Est-ce que des images sources ont été modifiées? (c'est-à-dire ajoutées ou supprimées)
self.modifImageSource = 0
# Liste de chemins de fichiers avec et sans canal alpha et du dossier de sauvegarde
self.listeChemAVcanAlph=[]
self.listeChemSANScanAlph=[]
self.listeImgDestin = []
# Boite d'alignement vertical
vbox=QVBoxLayout(self)
# --------------------------------------------------
# widgets du haut : titre + bouton de sélection
# --------------------------------------------------
hbox = QHBoxLayout()
# Ajout du titre de la page et de l'aperçu à la boite verticale
vbox.addLayout(hbox, 0)
#=== Bouton de sélection des images alpha et sans alpha ===#
hbox = QHBoxLayout()
self.framReglage=QFrame()
vboxReglage=QVBoxLayout(self.framReglage)
# Pour la gestion du nombre d'images à traiter ##############
self.grid = QGridLayout()
self.grid.addWidget(QLabel(_(u"Traitement à partir de l'image (numéro)")), 0, 0)
self.spin1=SpinSlider(1, 100000, 1, '', self)
self.grid.addWidget(self.spin1, 0, 1)
self.connect(self.spin1, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
self.grid.addWidget(QLabel(_(u"Nombre de chiffres après le nom de l'image")), 1, 0)
self.spin2=SpinSlider(3, 18, 6, '', self)
self.grid.addWidget(self.spin2, 1, 1)
self.connect(self.spin2, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
#.........这里部分代码省略.........
示例12: __init__
# 需要导入模块: from moteur_modules_common.EkdConfig import EkdConfig [as 别名]
# 或者: from moteur_modules_common.EkdConfig.EkdConfig import getTempDir [as 别名]
def __init__(self, statusBar, geometry):
QWidget.__init__(self)
# ----------------------------
# Quelques paramètres de base
# ----------------------------
#=== Création des répertoires temporaires ===#
# Gestion du repertoire tmp avec EkdConfig
self.repTampon = EkdConfig.getTempDir() + os.sep + "tampon" + os.sep + "image_divers_redimensionner" + os.sep
if os.path.isdir(self.repTampon) is False:
os.makedirs(self.repTampon)
if os.path.isdir(self.repTampon+'redim'+os.sep) is False:
os.makedirs(self.repTampon+'redim'+os.sep)
# Si le répertoire /tmp/ekd/tampon/image_divers_redimensionner/redim
# n'est pas vide, il est expressément vidé de tout son contenu
tempr=glob.glob(self.repTampon+'redim'+os.sep+'*.*')
if len(tempr)>0:
for parc in tempr: os.remove(parc)
#=== Variable contenant les titres du log ===#
self.infosImgTitre = []
txt = _(u"Image(s) chargée(s)")
a='#'*36
b = a + '\n# ' + txt + '\n' + a + '\n'
txt=_(u"Image(s) convertie(s)")
c = a + '\n# ' + txt + '\n' + a + '\n'
self.infosImgTitre.append(b)
self.infosImgTitre.append(c)
#=== Drapeaux ===#
# Une conversion (même partielle) a-t-elle eu lieu après le chargement des images? (1: vrai)
# Est-ce que des images ont été converties et qu'elles n'ont pas encore été montrées?
# Marche aussi quand la conversion a été arrêté avant la fin de la 1ère image
self.conversionImg = 0
# Est-ce qu'une prévisualisation a été appelée?
self.previsualImg = 0
# Est-ce que des images sources ont été modifiées? (c'est-à-dire ajoutées ou supprimées)
self.modifImageSource = 0
# Identifiant des filtres utilisant partiellement ou intégralement un module python durant
# la conversion
self.filtresPython=['redim_avec_ratio', 'redim_sans_ratio']
self.timer = QTimer()
self.connect(self.timer, SIGNAL('timeout()'), self.sonderTempsActuel)
self.process = QProcess()
self.connect(self.process, SIGNAL('finished(int)'), self.finConversion)
# Fonctions communes à plusieurs cadres du module Image
self.base = Base()
# Gestion de la configuration via EkdConfig
# Paramètres de configuration
self.config = EkdConfig
# Identifiant du cadre
self.idSection = "image_redimensionner"
# Log du terminal
self.base.printSection(self.idSection)
# Fonction appelant la fenêtre principale
self.mainWindowFrameGeometry = geometry
self.listeImgSource = []
self.listeImgDestin = []
# Boite d'alignement vertical
vbox=QVBoxLayout(self)
# ----------------------------------------
# Bouton de sélection des images sources
# ----------------------------------------
self.tabwidget=QTabWidget()
# Rq: le signal est placé à la fin de __init__ à cause d'une bizarrerie sous qt4.4
#------------------
# Onglet Réglages
#------------------
self.framReglage=QFrame()
vboxReglage=QVBoxLayout(self.framReglage)
# Gestion du nombre d'images à traiter
self.grid = QGridLayout()
self.grid.addWidget(QLabel(_(u"Traitement à partir de l'image (numéro)")), 0, 0)
self.spin1_ImTrait=SpinSlider(1, 100000, 1, '', self)
self.grid.addWidget(self.spin1_ImTrait, 0, 1)
self.connect(self.spin1_ImTrait, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
self.grid.addWidget(QLabel(_(u"Nombre de chiffres après le nom de l'image")), 1, 0)
self.spin2_ImTrait=SpinSlider(3, 18, 6, '', self)
self.grid.addWidget(self.spin2_ImTrait, 1, 1)
self.connect(self.spin2_ImTrait, SIGNAL("valueChanged(int)"), self.changeValNbreImg_1)
#.........这里部分代码省略.........