[FFmpeg-devel] ffmpeg doesn't accept named pipes?
"René J.V. Bertin"
rjvbertin at gmail.com
Mon Mar 11 18:32:51 CET 2013
On Mar 11, 2013, at 17:44, Xidorn Quan wrote:
>> ffmpeg -f video4linux2 -i /dev/video0 -i record.ssa -scodec ass foo.mkv
>> here, record.ssa is a named pipe (mkfifo record.ssa) and some other
>> application is continuously writing to this named pipe.
>> Please, correct me if I am wrong at the concept of pipes in ffmpeg but as
>> i read in the documentation, ffmpeg can accept input in form of pipes also.
I can confirm that ffmpeg can read from stdin, whether one constructs a piped command on the command line or by calling ffmpeg through the popen function (and using fwrite, without fflush), on Mac OS X and MS Windows. Although I've never tried to do this with an additional input like you have.
You could try to let your other application write to stdout instead of a named pipe, and then do
SomeOtherApplication | ffmpeg -f video4linux2 -i - -i record.ssa -scodec ass foo.mkv .
Does that command work as you expect? What are you writing to the pipe - a whole video sequence at once? Single frames (or less)? Fragments consisting of a couple frames?
More information about the ffmpeg-devel