[Theora] Piping AVI to ffmpeg2theora
Nick Hill
t0 at nickhill.co.uk
Sun Nov 6 08:43:21 PST 2005
I wish to transcode an AVI from 29fps to 15fps theora. I have tried many
combinations.
The nearest I have so far is to:
1)
ffmpeg -i input.avi -f avi -vcodec rawvideo -acodec pcm_s16le -r 15 -ar
22050 -ac 1 intermediate.avi
then
2)
./ffmpeg2theora-0.15.linux.bin -f avi -c1 -H 22050 -o out.ogg
intermediate.avi
This gives me an output I want, however, the intermediate uncompressed
stage generates 36Mb/sec of data, which is impractical. So it would be
better if I could send the uncompressed output of ffmpeg through a pipe
into ffmpeg2theora like so:
3)
ffmpeg -i input.avi -f avi -vcodec rawvideo -acodec pcm_s16le -r 15 -ar
22050 -ac 1 - | ./ffmpeg2theora-0.15.linux.bin -f avi -c1 -H 22050 -o
out.ogg -
This generates an ffmpeg2theora error;
Unable to decode input
The FFmpeg command appears to work OK. If I redirect the output to a
file, then run command 2), ffmpeg encodes the file perfectly. If I then try
cat intermediate.avi | ./ffmpeg2theora-0.15.linux.bin -f avi -c1 -H
22050 -o out.ogg -
I get the error:
Unable to decode input
I tried using the DV and Mpeg containers, however, these do not support
15fps.
So the problem could be characterised that ffmpeg2theora will not accept
my AVI streams through a pipe. It will only accept it as a file.
Is there a way to make ffmpeg2theora behave the same with pipes as it
does with files, when using AVI?
More information about the Theora
mailing list