From what I know, there are no requirements for the format of the video that will be placed in the named pipe. You can put something that ffmpeg can open. For example, I developed a program using ffmpeg libraries that read h264 videos from a named pipe and extract statistics from it - the named pipe was filled with another program. This is really a very nice and clean solution for continuous video.
Now, regarding your case, I think that you have a small problem, since the named pipe is just one file, and ffmpeg will not be able to find out that there are several images in one file! Therefore, if you declare a named pipe as input, ffmpeg will believe that you have only one image - not good enough ...
One solution that I can think of is to declare that your named pipe contains video, so ffmpeg will constantly read and store it or transfer it. Of course, your C program would have to generate and record this video in a named pipe ... It's not as complicated as it sounds! You can convert your images (you didnโt tell us what their format is) to YUV, and simply write one after another in a named pipe (YUV video is a series of YUV without captions), you can also easily convert from BPM to YUV, just check Wikipedia entry on YUV ). Then ffmpeg will think that the named pipe contains a simple YUV file so that you can finally read it and do whatever you want with it.
source share