मैं FFMPEG
के लिए एक gui लिखने की कोशिश कर रहा हूं। मैं अपने इच्छित रूपांतरण के लिए ffmpeg प्रक्रिया बनाने के लिए अजगर उपप्रोसेस का उपयोग कर रहा हूं। यह ठीक काम करता है, लेकिन मैं यह भी रूपांतरण की प्रगति प्राप्त करने के लिए एक तरह से करना चाहते हैं, चाहे वह विफल रहा है या नहीं आदि मैं सोचा मैं बहुत तरह की प्रक्रिया के stdout तक पहुंच कर इस कर सकता है:एफएफएमपीईजी और पायथन उपप्रोसेसर
subprocess.Popen()
# Convert - Calls FFMPEG with current settings. (in a seperate
# thread.)
def convert(self):
# Check if options are valid
if self.input == "" or self.output == "":
return False
# Make the command string
ffmpegString = self.makeString()
# Try to open with these settings
try:
self.ffmpeg = subprocess.Popen(ffmpegString, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
except OSError:
self.error.append("OSError: ")
except ValueError:
self.error.append("ValueError: Couldn't call FFMPEG with these parameters")
# Convert process should be running now.
और stdout
पढ़ने:
convert = Convert()
convert.input = "test.ogv"
convert.output = "test.mp4"
convert.output_size = (0, 0)
convert.convert()
while 1:
print convert.ffmpeg.stdout.readline()
यह काम करता है लेकिन, ffmpeg की स्थिति नहीं दिखाती है। मुझे लगता है कि ffmpeg इसे रीफ्रेश करने के तरीके के साथ कुछ करना है। क्या इसका उपयोग करने का कोई तरीका है?
आपके दोनों लिंक मर चुके हैं, कृपया उन्हें ठीक करें। – slhck