Cygwin 的 ffmpeg 错误地报告网络驱动器上缺少输入文件

Cygwin 的 ffmpeg 错误地报告网络驱动器上缺少输入文件

我正在 cygwin 中编写一个 shell 脚本,从网络驱动器上的视频列表中提取帧。

我已经为网络驱动器分配了 Windows 上的字母L:,因此可以通过 cygwin 访问驱动器的根目录/cygdrive/l。 本质上,脚本如下所示:

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

对于每个文件,脚本的输出如下所示

ffmpeg -hide_banner -i /cygdrive/l/<path>/video.mov ./<path>/frame_%04d.png 
/cygdrive/l/<path>/video.mov: No such file or directory

但是,该文件就在那里,因为我可以轻松添加一个file命令来检查该文件是否存在于do循环中

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

输出结果:

/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

如果我自己从 shell 启动命令,问题仍然存在。但是,如果我将视频复制到本地目录,它确实有效,但这是一个我想避免的解决方案(因为视频文件很大)。

cygwinffmpeg在 netork 驱动器上的行为如此有什么原因吗?

相关内容