ich verwende folgenden Aufruf:
"G:\Hybrid\ffmpeg.exe" -v -10 -y -threads 8 -i "H:\Output\Title_1_1-35 DELAY -80ms_en_aid_128__09_36_33_761_02.ac3" -ac 6 -acodec pcm_s16le -f s16le - | "G:\Hybrid\sox.exe" --ignore-length --temp "H:\Temp" --buffer 2097152 -q -V3
-t raw -e signed-integer -b 16 -c6 -r48000 - -t wav - remix -m 1v0.3694,3v0.2612,5v0.3694 2v0.3694,3v0.2612,6v0.3694 norm | "G:\Hybrid\lame.exe" --disptime 1 --verbose -s 48 -b 128 -t - "H:\Output\Title_1_1-35_en_aid_128__09_36_33_761_03.mp3"
(ffmpeg dekodiert, sox macht nen 5.1->stereo downmix, lame encodiert)
Problem ist daran lame liefert keinerlei Fortschrittsanzeige, trotz '--disptime 1 --verbose'.
Hatte erst gedacht, es wäre an sich kein Problem und ich könnte den Vorschritt an den Ausgaben von ffmpeg oder sox ablesen, aber das geht auch nicht:
ffmpeg läuft nur Anfangs, bis sox den Input gebuffert hat, sox gibt nur eine Fortschrittsanzeige aus bis alles gebuffert ist, danach wird zwar der aktuelle Pegel angegeben, jedoch ohne genaue Position.
-> da LAME jedoch gar nichts ausgibt bevor es nicht am Ende des Streams ist, frage ich mich:
Mach ich was falsch, oder kann LAME einfach nichts ausgeben. Klar, dass es keine genaue Position ausgeben kann, da der Input eine Pipe ist, aber es wäre doch schön gewesen irgendeine Ausgabe während es läuft zu erhalten,... (hatte gedacht, dass mit --verbose zumindest irgendwie ausgegeben wird, dass x frames/samples encoded wurden oder so,..)
Cu Selur