[FFmpeg-user] watch a folder for new images

Michael Koch astroelectronic at t-online.de
Mon Jan 31 13:04:19 EET 2022


Am 31.01.2022 um 11:22 schrieb Adam Nielsen via ffmpeg-user:
>> The best solution would be if something like fileSystemWatcher could be
>> added to FFmpeg.
>> Below is a C# example for fileSystemWatcher.
> FFmpeg is written in C++.  Windows, Mac and Linux each have a different
> method for watching the filesystem change.  Do you have any example C++
> code that works across each operating system FFmpeg runs on?

sorry, I don't have a C++ example. I agree that it's difficult to find a 
solution that works with all operating systems.

> Instead of trying to repurpose FFmpeg to make it your whole application,
> you could try making your application work with FFmpeg.  You could watch
> the filesystem in your own code and when a new file appears, launch
> ffmpeg as needed.

That's an option, but then there is no continuous output visible.

> Failing that, another option is to use two instances of ffmpeg.  One
> (which your program calls when each new file appears) encodes the frame
> and sends it over a UDP socket, and the second ffmpeg instance simply
> streams video from the UDP socket.  This should work well in your case
> because if no UDP traffic is coming in, the second ffmpeg instance will
> simply continue to display the last frame.

Yes, I agree that's an option.

> However I do wonder whether FFmpeg is the best choice here for
> displaying the final video.  It almost seems like it would be better to
> have ffmpeg launch when a new file appears, write the result of the
> transformation out to another new image file, then use some kind of
> image viewer to pick up and display those second sets of images.  I
> wouldn't be surprised if some image viewers already supported watching
> the filesystem and reloading the image if the file changed, which would
> greatly simplify your problem and wouldn't require any changes to
> FFmpeg.

Yes, there are image viewers which automatically reload a file when it 
has been changed. For example "FastStone Image Viewer".

Well, the easiest solution seems to make all in C#. FileSystemWatcher, 
load the image, extract the corners, enlarge them, show the result on 
the screen.

Michael



More information about the ffmpeg-user mailing list