0
I'm writing a shell script in cygwin to extract frames from a list of videos located on a network drive.
I have assigned the network drive the letter L:
on Windows and thus the root of the drive is accessible in cygwin through /cygdrive/l
. Essentially the script looks like this :
cat list | while read path
do
mkdir -p $path
echo ffmpeg -hide_banner -i /cygdrive/l/$path/video.mov ./$path/frame_%04d.png
ffmpeg -hide_banner -i /cygdrive/l/$path/video.mov ./$path/frame_%04d.png
done
The output of the script looks like this for each file
ffmpeg -hide_banner -i /cygdrive/l/<path>/video.mov ./<path>/frame_%04d.png
/cygdrive/l/<path>/video.mov: No such file or directory
However, the file is right there, as I can easily add a file
command to check that the file exists in the do
loop
do
mkdir -p $path
file /cygdrive/l/$path/video.mov
echo ffmpeg -hide_banner -i /cygdrive/l/$path/video.mov ./$path/frame_%04d.png
ffmpeg -hide_banner -i /cygdrive/l/$path/video.mov ./$path/frame_%04d.png
done
Which outputs :
/cygdrive/l/<path>/video.mov: Apple QuickTime movie (unoptimized)
ffmpeg -hide_banner -i /cygdrive/l/<path>/video.mov ./<path>/frame_%04d.png
/cygdrive/l/<path>/video.mov: No such file or directory
The problem persists if I launch the command myself from the shell. However, if I copy the video to the local directory, it does work, but this is a solution I would like to avoid (as the video files are huge).
Is there a reason why cygwin's ffmpeg
behaves that way over netork drives ?
there is no ffmpeg cygwin package. From where have you taken it ? – matzeri – 2019-04-11T07:45:35.917
I think I compiled it myself at some point – Louen – 2019-04-11T20:54:05.377