Hi all
I'm looking at launching external programs to decode a million other
formats automatically and have run into a mystery I cannot fathom.
sox "|ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f ircam -" 'Candy
Toy.wav'
works but
sox "|ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox -" 'Candy
Toy.wav'
fails saying
sox FAIL formats: can't open input `-': can't find sox file format
identifier
as do
-f wav sox FAIL formats: can't open input `-': WAVE: RIFF header
not found
-f aiff sox FAIL formats: can't open input `-': AIFF header does
not begin with magic word `FORM'
though
ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox -" > 'Candy Toy.sox'
sox 'Candy Toy.sox' 'Candy Toy.wav'
works.
Is it because ffmpeg is seeking back in the file and rewriting the
header once it's decoded? Nope:
ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox - | cat > 'Candy
Toy.sox'
cat 'Candy Toy.sox' | sox - 'Candy Toy.wav'
works too.
What's the difference for sox between that last command pair that works and
ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox - | sox - 'Candy
Toy.wav'
or
ffmpeg -loglevel quiet -i 'Candy Toy.wma' -f sox - | cat | sox -
'Candy Toy.wav'
that don't?
And how come -f ircam works in the simple pipeline invocations but -t
{wav,aiff,sox} don't?
(Not that I'm complaining - at least one intermediate format works.
Finally, a use for ircam format!)
M
_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel