Progressbar beim convertieren in console benutzen

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
padrino
User
Beiträge: 4
Registriert: Dienstag 22. April 2008, 10:20
Kontaktdaten:

Hallo zusammen,

ich habe eine Frage, für die ich leider kein Antwort finde. Erstmall aber wie ist es die Situation:
Ich habe mich ein kleinen Frontend für den ffmpeg geschrieben, der mir leicher macht dataien von flv zu mp3 und avi, mpg zu flv zu konvertieren. Soweit war es fast alles supper, aber ich will es ein Extra einbauen - mit ein ProgressDialog den Fortschritt der Konvertieren zu zeigen. Meine Frage is - wie kann ich es am Leichtesten machen? ich mache den Konvert mit:

Code: Alles auswählen

os.system("ffmpeg -i .... ")
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Ich müsste an der Stelle erst mal eine Gegenfrage stellen.
Wie teilt 'ffmpeg' einem den Fortschritt mit? Wenn ich das richtig verstehe scheint das ja ein reines Konsolenprogramm zu sein.

Ich habe ein bisschen die Befürchtung das es fast nur unsschöne Wege gibt eine Ausgabe die auf der Konsole kommt so auszuwerten das man damit eine Progressbar kontrolliert.
Benutzeravatar
padrino
User
Beiträge: 4
Registriert: Dienstag 22. April 2008, 10:20
Kontaktdaten:

Es ergibt Zeilen für den größe der output Datei, wie z.B.:

Code: Alles auswählen

size=      82kB time=5.3 bitrate= 128.0kbits/s    
size=     169kB time=10.8 bitrate= 128.0kbits/s    
size=     236kB time=15.1 bitrate= 128.0kbits/s    
size=     322kB time=20.6 bitrate= 128.0kbits/s    
size=     406kB time=26.0 bitrate= 128.0kbits/s    
size=     492kB time=31.5 bitrate= 128.0kbits/s    
size=     576kB time=36.8 bitrate= 128.0kbits/s    
size=     667kB time=42.7 bitrate= 128.0kbits/s    
size=     755kB time=48.3 bitrate= 128.0kbits/s    
size=     846kB time=54.1 bitrate= 128.0kbits/s    
size=     938kB time=60.1 bitrate= 128.0kbits/s    
size=    1027kB time=65.7 bitrate= 128.0kbits/s    
size=    1113kB time=71.3 bitrate= 128.0kbits/s    
size=    1198kB time=76.7 bitrate= 128.0kbits/s    
size=    1282kB time=82.1 bitrate= 128.0kbits/s    
size=    1373kB time=87.8 bitrate= 128.0kbits/s    
size=    1464kB time=93.7 bitrate= 128.0kbits/s    
size=    1557kB time=99.6 bitrate= 128.0kbits/s    
size=    1651kB time=105.7 bitrate= 128.0kbits/s    
size=    1740kB time=111.4 bitrate= 128.0kbits/s    
size=    1825kB time=116.8 bitrate= 128.0kbits/s    
size=    1912kB time=122.4 bitrate= 128.0kbits/s    
size=    1996kB time=127.8 bitrate= 128.0kbits/s    
size=    2083kB time=133.3 bitrate= 128.0kbits/s    
size=    2171kB time=138.9 bitrate= 128.0kbits/s    
size=    2260kB time=144.7 bitrate= 128.0kbits/s    
size=    2346kB time=150.2 bitrate= 128.0kbits/s    
size=    2434kB time=155.8 bitrate= 128.0kbits/s    
size=    2522kB time=161.4 bitrate= 128.0kbits/s    
size=    2606kB time=166.8 bitrate= 128.0kbits/s    
size=    2693kB time=172.3 bitrate= 128.0kbits/s    
size=    2783kB time=178.1 bitrate= 128.0kbits/s    
size=    2866kB time=183.4 bitrate= 128.0kbits/s    
size=    2952kB time=188.9 bitrate= 128.0kbits/s    
size=    3039kB time=194.5 bitrate= 128.0kbits/s    
size=    3130kB time=200.3 bitrate= 128.0kbits/s    
size=    3207kB time=205.2 bitrate= 128.0kbits/s    
size=    3225kB time=206.4 bitrate= 128.0kbits/s    
video:0kB audio:3225kB global headers:0kB muxing overhead 0.000000%
Ich habe gedacht, dass es vielleicht möglich wäre die Zeilen einfach zu zählen.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Dies sollte eigentlich nicht die Größe der Ausgabe-Datei, sondern die bereits verarbeiteten Bytes sein. Wenn Du das durch die Größe der Quelldatei dividierst, hast Du ein Maß für den Fortschritt.
MfG
HWK
Antworten