Am 30.01.2022 um 14:06 schrieb Michael Koch:
Am 30.01.2022 um 09:49 schrieb Michael Koch:
Am 30.01.2022 um 05:28 schrieb Gyan Doshi:
On 2022-01-30 02:11 am, Michael Koch wrote:
Am 29.01.2022 um 20:36 schrieb Michael Koch:
Hello,
is it possible to watch a folder for new images (like
fileSystemWatcher in C#), and if a new image appears, then load it
in FFmpeg? The question is for Windows.
Very large PNG images (about 30 Megapixels) are written to the
folder every 5 seconds. I want to load these images, extract the
four corners, enlarge them by a factor 10, stack the four images
together and show the result on the screen, until the next image
appears. The filtering is no problem, the question is only how to
watch the folder for new images.
I did try to read the same image again and again with this command
line:
ffmpeg -loop 1 -i input.png -window_x 0 -window_y 0 -f sdl2 -
I was hoping that I could overwrite the input image by another
image, but that doesn't work. Access denied, because the file is
open in FFmpeg.
Use -stream_loop -1 instead of loop. Update the image atomically
i.e. not during a read window.. Best way to update is to create a
symlink and use that as input. Repoint the symlink when the new
image file is ready.
I did create a symlink which is pointing to a PNG image. When I
double click on the symlink, the image is shown.
But something must be wrong in my FFmpeg command line.
ffmpeg -framerate 1 -stream_loop -1 -i symlink.lnk -window_x 0
-window_y 0 -f sdl2 -
I get this error message:
symlink.lnk: Invalid data found when processing input
In the meantime I found out that the symlink has to be created with
administrator rights and mklink.
Now FFmpeg does read the symlink and show the image.
I found your answer here:
https://stackoverflow.com/questions/11296491/change-target-for-symbolic-link-in-windows
The problem is that FFmpeg seems to read the link only one time. When
I change the link target (while FFmpeg is running) with the copy
command, the link is actually changed but FFmpeg is still showing the
first image.
When I stop and restart FFmpeg, then it shows the new image.
The problem is solved. It works after I added -f image2 to the command
line:
ffmpeg -framerate 1 -stream_loop -1 -f image2 -i symlink.lnk -window_x 0
-window_y 0 -f sdl2 -
Now it's possible to change the symlink in realtime.
Michael
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".