I can use the following command to extract images from a video using ffmpeg, saving them to the filesystem:
... | ffmpeg -i - -f image2 'img-%03d.png'
I would like to pipe these images to another application, rather than save them to the filesystem - how they are separated in the pipe is of little importance, since it'll be a NodeJS script that I control myself.
The following does not work:
... | ffmpeg -i - -f image2 pipe: | ...
Erroring with
[image2 @ 0xe1cfc0] Could not get frame filename number 2 from pattern 'pipe:' (either set updatefirst or use a pattern like %03d within the filename pattern)
av_interleaved_write_frame(): Invalid argument
Is there any way to pipe out images extracted from a video using ffmpeg, without using the filesystem?
-f png - | ...
[NULL @ 0x10e2860] Requested output format 'png' is not a suitable output format pipe:: Invalid argument
.-f image2pipe -vcodec png - | ...
. PNG may not work, if so output will be MJPEG after removing vcodec.