def oDir(self): directory = QFileDialog.getExistingDirectory(self, "选择目录", QDir.currentPath()) if directory: self.oDirEdit.setText(directory) GlobalConfig.instance().outputDir = directory GlobalConfig.instance().save()
def oDir(self): directory = QFileDialog.getExistingDirectory(self, "选择目录", QDir.currentPath()) if directory: self.oDirEdit.setText(directory) GlobalConfig.instance().outputDir = directory GlobalConfig.instance().save()
def findFFmpeg(self): fname = QFileDialog.getOpenFileName(self, "选择目录", QDir.currentPath()) if fname[0]: path = fname[0] self.ffmpegEdit.setText(path) GlobalConfig.instance().binPath = path GlobalConfig.instance().save()
def findFFmpeg(self): fname = QFileDialog.getOpenFileName(self, "选择目录", QDir.currentPath()) if fname[0]: path = fname[0] self.ffmpegEdit.setText(path) GlobalConfig.instance().binPath = path GlobalConfig.instance().save()
def getCmd(self): outputfile = os.path.join( self.task.outputDir, self.task.outputFile + "." + self.task.preset.ext) cmdstr = "{} -i {} {} {} {} -strict experimental -preset medium -tune film -crf 0 -threads 4 {} ".format( GlobalConfig.instance().binPath, self.task.name, self.getVCodec(), self.getACodec(), self.getResulution(), outputfile) return cmdstr
def getCmd(self): outputfile = os.path.join(self.task.outputDir, self.task.outputFile + "." + self.task.preset.ext) cmdstr= "{} -i {} {} {} {} -strict experimental -preset medium -tune film -crf 0 -threads 4 {} ".format( GlobalConfig.instance().binPath, self.task.name, self.getVCodec(), self.getACodec(), self.getResulution(), outputfile) return cmdstr
def __init__(self, name): super(ConvTask, self).__init__() self.name = name self.outputFile = os.path.split(os.path.splitext(name)[0])[-1]+"_Converted" print(self.outputFile) self.outputDir = GlobalConfig.instance().outputDir self.progressRate = 0 self.proc = None self.duration = self.getDuration() self.status = ConvTask.STOP self.error = False self.logfile = "tmp{}.txt".format(time.time()) self.preset = None
def getDuration(self): cmdstr = "{} -i {}".format(GlobalConfig.instance().binPath,self.name) print("getDuration cmd:{}".format(cmdstr)) proc = subprocess.Popen(cmdstr, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) output = proc.communicate(0)[1] print(output) duration_pat = "(Duration:\s*(?P<hour>[\d]+):(?P<minute>[\d]+):(?P<second>[\d]+)\.(\d)+,)" m = re.search(duration_pat, str(output)) seconds = int(m.group("hour")) * 3600 + int(m.group("minute"))*60 + int(m.group("second")) print("duration{0:d}".format(seconds)) return seconds
def __init__(self, name): super(ConvTask, self).__init__() self.name = name self.outputFile = os.path.split( os.path.splitext(name)[0])[-1] + "_Converted" print(self.outputFile) self.outputDir = GlobalConfig.instance().outputDir self.progressRate = 0 self.proc = None self.duration = self.getDuration() self.status = ConvTask.STOP self.error = False self.logfile = "tmp{}.txt".format(time.time()) self.preset = None
def getDuration(self): cmdstr = "{} -i {}".format(GlobalConfig.instance().binPath, self.name) print("getDuration cmd:{}".format(cmdstr)) proc = subprocess.Popen(cmdstr, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output = proc.communicate(0)[1] print(output) duration_pat = "(Duration:\s*(?P<hour>[\d]+):(?P<minute>[\d]+):(?P<second>[\d]+)\.(\d)+,)" m = re.search(duration_pat, str(output)) seconds = int(m.group("hour")) * 3600 + int( m.group("minute")) * 60 + int(m.group("second")) print("duration{0:d}".format(seconds)) return seconds
def loadFromConfig(self): self.oDirEdit.setText(GlobalConfig.instance().outputDir) self.ffmpegEdit.setText(GlobalConfig.instance().binPath)
def loadFromConfig(self): self.oDirEdit.setText(GlobalConfig.instance().outputDir) self.ffmpegEdit.setText(GlobalConfig.instance().binPath)